Configuración del almacenamiento remoto para Commerce en la infraestructura en la nube
A partir del paquete 2002.1.5 de ece-tools
, puede utilizar una variable de entorno para habilitar el módulo Almacenamiento remoto; sin embargo, el módulo Almacenamiento remoto tiene compatibilidad de limitada en Adobe Commerce en la infraestructura en la nube. El Adobe no puede solucionar por completo el problema del servicio del adaptador de almacenamiento de terceros.
Variable de entorno
La variable REMOTE_STORAGE
se usa durante la fase de implementación de un proyecto de infraestructura en la nube.
REMOTE_STORAGE
- Predeterminado—No establecido
- Versión: Commerce 2.4.2 y posterior
Configure un adaptador de almacenamiento para almacenar archivos multimedia en un contenedor de almacenamiento remoto persistente mediante un servicio de almacenamiento, como AWS S3. Habilite el módulo Almacenamiento remoto para mejorar el rendimiento en proyectos en la nube con configuraciones complejas de varios servidores que deben compartir recursos. El siguiente es un ejemplo de configuración de almacenamiento remoto que utiliza el archivo .magento.env.yaml
:
stage:
deploy:
REMOTE_STORAGE:
driver: aws-s3 # Required
prefix: cloud # Optional
config:
bucket: my-bucket # Required
region: my-region # Required
key: my-key # Optional
secret: my-secret-key # Optional
Establecer variable con CLI de nube
Establezca la variable REMOTE_STORAGE
como una variable de nivel de entorno para que los archivos no se compartan entre los entornos Producción, Ensayo e Integración. La configuración de las variables en el nivel de entorno ofrece la flexibilidad de utilizar únicamente el almacenamiento remoto en entornos seleccionados, como la exclusión del uso del entorno de integración del almacenamiento remoto.
Para agregar la variable de almacenamiento remoto mediante la CLI de nube:
magento-cloud variable:create --level environment --name REMOTE_STORAGE --json true --inheritable false --value '{"driver":"aws-s3","prefix":"uat","config":{"bucket":"aws-bucket-id","region":"eu-west-1","key":"optional-key","secret":"optional-secret"}}'
Esto crea una variable REMOTE_STORAGE
con la configuración JSON especificada. La variable REMOTE_STORAGE
toma una cadena JSON para configurar el almacenamiento remoto. A continuación se muestra un ejemplo de configuración de JSON:
{
"driver": "aws-s3",
"prefix": "uat",
"config": {
"bucket": "aws-bucket-id",
"region": "aws-region-id",
"key": "optional-key",
"secret": "optional-secret"
}
}
Después de crear la configuración e implementar, los registros de implementación deben incluir información sobre la configuración del almacenamiento remoto, por ejemplo INFO: Remote storage driver set to: "aws-s3"
Establecer variable con la interfaz Web de Project
También puede utilizar la interfaz Web de Project para agregar la variable al entorno adecuado.
Para agregar la variable de almacenamiento remoto mediante la interfaz web de Project:
-
En la Interfaz web de proyectos, seleccione el entorno de la izquierda.
-
Haga clic en el icono Configurar entorno.
-
En la vista Configurar entorno, haga clic en la ficha Variables.
-
Haga clic en Agregar variable.
-
En el campo Nombre, escriba
REMOTE_STORAGE
-
En el campo Value, agregue la configuración JSON.
-
Seleccione valor JSON y Sensible; anule la selección de Heredado por entornos secundarios.
-
Haga clic en Agregar variable.
Utilizar autenticación opcional
key
y secret
son opcionales. Cuando cree la variable, puede ocultar key
y secret
si selecciona la opción sensitive
. Con esta configuración, los valores no son visibles en la interfaz web. Consulte Visibilidad variable en la guía de Commerce en infraestructura de nube.
Si desea utilizar un método de autenticación diferente, omita key
y secret
de la configuración JSON,. Configure el método de autenticación alternativo y verifique que el servidor esté autorizado para el compartimento S3.
Sincronizar el almacenamiento remoto
Después de habilitar el módulo Almacenamiento remoto, sincronice los archivos multimedia actuales con la ubicación del almacén remoto.
Para iniciar la sincronización:
-
Utilice SSH para iniciar sesión en el entorno remoto con el almacenamiento remoto configurado.
-
Inicie la sincronización.
bin/magento remote-storage:sync
Configuración rápida
Si decide utilizar la solución de almacenamiento remoto con un proyecto de infraestructura en la nube de Adobe Commerce, use las directrices de Amazon S3 de la documentación de Fastly para asegurarse de que Fastly Image Optimization funciona con AWS S3.
Prepárese con sus credenciales de Fastly. En proyectos Pro, use SSH para conectarse a su servidor y obtener las credenciales de Fastly del archivo /mnt/shared/fastly_tokens.txt
. Los entornos de ensayo y producción tienen credenciales únicas. Debe obtener las credenciales de cada entorno.
Siga configurando el almacenamiento remoto para proyectos en la nube con las siguientes tareas:
-
Configure una integración back-end de Fastly.
-
Crear lógica VCL para autenticación de AWS S3.
-
Cree la lógica VCL para solicitudes de servidor al bloque AWS S3.