Configurar servicios
El archivo services.yaml
define los servicios admitidos y utilizados por Adobe Commerce en la infraestructura de la nube, como MySQL, Redis y Elasticsearch o OpenSearch. No es necesario suscribirse a proveedores de servicios externos.
.magento/services.yaml
se administra localmente en el directorio .magento
del proyecto. Se accede a la configuración durante el proceso de compilación para definir las versiones de servicio necesarias solo en el entorno de integración y se elimina una vez completada la implementación, por lo que no se encontrarán en el servidor.El script de implementación utiliza los archivos de configuración del directorio .magento
para aprovisionar el entorno con los servicios configurados. Hay un servicio disponible para su aplicación si está incluido en la propiedad relationships
del archivo .magento.app.yaml
. El archivo services.yaml
contiene los valores type y disk. El tipo de servicio define el servicio name y version.
Al cambiar una configuración de servicio, una implementación aprovisiona el entorno con los servicios actualizados, lo que afecta a los siguientes entornos:
- Todos los entornos iniciales, incluida la producción
master
- Entornos de integración Pro
Staging
y Production
entornos..magento.app.yaml
y services.yaml
archivos actualizados y especifique la versión de PHP en el ticket. Para ver los cambios de autoservicio en la versión, las extensiones o la configuración del entorno de PHP, consulte Configuración de PHP en Configuración de la aplicación.Servicios predeterminados y admitidos
La infraestructura en la nube admite e implementa los siguientes servicios:
Puede ver las versiones y los valores de disco predeterminados en el archivo default services.yaml
actual. El siguiente ejemplo muestra los servicios mysql
, redis
, opensearch
o elasticsearch
, y rabbitmq
definidos en el archivo de configuración services.yaml
:
mysql:
type: mysql:10.4
disk: 5120
redis:
type: redis:6.2
opensearch:
type: opensearch:2 # minor version not required; uses latest
disk: 1024
rabbitmq:
type: rabbitmq:3.9
disk: 1024
Valores de servicio
Debe proporcionar el identificador de servicio y la configuración del tipo de servicio type: <name>:<version>
. Si el servicio utiliza almacenamiento persistente, debe proporcionar un valor de disco.
Utilice el siguiente formato:
<service-id>:
type: <name>:<version>
disk: <value-MB>
service-id
El valor service-id
identifica el servicio en el proyecto. Solo puede utilizar caracteres alfanuméricos en minúsculas: a
a z
y 0
a 9
, como redis
.
Este valor de service-id se usa en la propiedad relationships
del archivo de configuración .magento.app.yaml
:
relationships:
redis: "<name>:redis"
Puede asignar nombres a varias instancias de cada tipo de servicio. Por ejemplo, puede utilizar varias instancias de Redis, una para la sesión y otra para la caché.
redis:
type: redis:<version>
redis2:
type: redis:<version>
Al cambiar el nombre de un servicio en el archivo services.yaml
se quita de forma permanente lo siguiente:
- El servicio existente antes de crear un servicio con el nuevo nombre especificado.
- Se eliminarán todos los datos existentes del servicio. El Adobe recomienda encarecidamente que realice una copia de seguridad de su entorno de inicio antes de cambiar el nombre de un servicio existente.
type
El valor type
especifica el nombre y la versión del servicio. Por ejemplo:
mysql:
type: mysql:10.4
disk
El valor disk
especifica el tamaño del almacenamiento en disco persistente (en MB) que se va a asignar al servicio. Los servicios que utilizan almacenamiento persistente, como MySQL, deben proporcionar un valor de disco. Los servicios que utilizan memoria en lugar de almacenamiento persistente, como Redis, no requieren un valor de disco.
mysql:
type: mysql:10.4
disk: 5120
La cantidad de almacenamiento predeterminada actual por proyecto es de 5 GB o 512 0 MB. Puede distribuir esta cantidad entre su aplicación y cada uno de sus servicios.
Relaciones de servicio
En Adobe Commerce en proyectos de infraestructura en la nube, las relaciones del servicio configuradas en el archivo .magento.app.yaml
determinan qué servicios están disponibles para su aplicación.
Puede recuperar los datos de configuración de todas las relaciones de servicio desde la variable de entorno $MAGENTO_CLOUD_RELATIONSHIPS
. Los datos de configuración incluyen el nombre, el tipo y la versión del servicio junto con los detalles de conexión necesarios, como el número de puerto y las credenciales de inicio de sesión.
Para comprobar las relaciones en el entorno local:
-
En el entorno local, muestre las relaciones del entorno activo.
code language-bash magento-cloud relationships
-
Confirme
service
ytype
de la respuesta. La respuesta proporciona información de conexión, como la dirección IP y el número de puerto.Respuesta de muestra abreviada
code language-yaml redis: - ... type: 'redis:7.0' port: 6379 elasticsearch: - ... type: 'opensearch:2' port: 9200 database: - ... type: 'mysql:10.6' port: 3306
Para comprobar las relaciones en entornos remotos:
-
Utilice SSH para iniciar sesión en el entorno remoto.
-
Enumerar los datos de configuración de relaciones para todos los servicios configurados en el entorno.
code language-bash echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
o bien, use el siguiente comando
ece-tools
para ver las relaciones:code language-bash php ./vendor/bin/ece-tools env:config:show services
-
Confirme
service
ytype
de la respuesta. La respuesta proporciona información de conexión, como la dirección IP y el número de puerto, así como las credenciales de nombre de usuario y contraseña necesarias.
Versiones de servicio
La compatibilidad y la versión del servicio para Adobe Commerce en la infraestructura en la nube están determinadas por las versiones implementadas y probadas en la infraestructura en la nube, y a veces difieren de las versiones admitidas por las implementaciones locales de Adobe Commerce. Consulte Requisitos del sistema en la guía Instalación para obtener una lista de dependencias de software de terceros que el Adobe ha probado con versiones específicas de Adobe Commerce y Magento Open Source.
Comprobaciones de EOL de software
Durante el proceso de implementación, el paquete ece-tools
comprueba las versiones de servicio instaladas con las fechas de fin de vida útil (EOL) de cada servicio.
- Si la versión de un servicio se encuentra en los tres meses siguientes a la fecha límite, se muestra una notificación en el registro de implementación.
- Si la fecha límite se sitúa en el pasado, aparece una notificación de advertencia.
Para mantener la seguridad de la tienda, actualice las versiones de software instaladas antes de que lleguen a EOL. Puede revisar las fechas límite en el archivo eol.yaml
de ece-tools.
Migrar a OpenSearch
Para la versión 2.4.4 y posterior de Adobe Commerce, consulte Configuración del servicio OpenSearch.
Cambiar la versión del servicio
Puede actualizar la versión del servicio instalado para que sea compatible con la versión de Adobe Commerce implementada en su entorno de nube.
No puede actualizar directamente la versión del servicio para un servicio instalado. Sin embargo, puede crear un servicio con la versión requerida. Consulte Versión del servicio de downgrade.
Actualizar la versión del servicio instalado
Puede actualizar la versión del servicio instalado actualizando la configuración del servicio en el archivo services.yaml
.
-
Cambiar el valor
type
para el servicio en el archivo.magento/services.yaml
:Definición del servicio original
code language-yaml mysql: type: mysql:10.3 disk: 2048
Definición de servicio actualizada
code language-yaml mysql: type: mysql:10.4 disk: 5120
-
Agregue, confirme e inserte los cambios de código.
code language-bash git add .magento/services.yaml
code language-bash git commit -m "Upgrade MySQL from MariaDB 10.3 to 10.4."
code language-bash git push origin <branch-name>
Versión de downgrade
No puede reducir un servicio instalado directamente. Tiene dos opciones:
-
Cambie el nombre de un servicio existente con la nueva versión, que elimina el servicio y los datos existentes, y agrega uno nuevo.
-
Cree un servicio de y guarde los datos del servicio existente.
Cuando cambie la versión del servicio, debe actualizar la configuración del servicio en el archivo services.yaml
y actualizar las relaciones en el archivo .magento.app.yaml
.
Para reducir la versión de un servicio cambiando el nombre de un servicio existente:
-
Cambie el nombre del servicio existente en el archivo
.magento/services.yaml
y cambie la versión.note warning WARNING Al cambiar el nombre de un servicio existente, se sustituye y se eliminan todos los datos. Si necesita conservar los datos, cree un servicio en lugar de cambiar el nombre del servicio existente. Por ejemplo, para reducir la versión de MariaDB para el servicio mysql de la versión 10.4 a la 10.3, cambie la configuración existente de service-id y type.
Definición de
services.yaml
originalcode language-yaml mysql: type: mysql:10.4 disk: 5120
Nueva definición de
services.yaml
code language-yaml mysql2: type: mysql:10.3 disk: 5120
-
Actualice las relaciones en el archivo
.magento.app.yaml
.Configuración original de
.magento.app.yaml
code language-yaml relationships: database: "mysql:mysql"
Se actualizó la configuración de
.magento.app.yaml
code language-yaml relationships: database: "mysql2:mysql"
-
Agregue, confirme e inserte los cambios de código.
Para reducir la categoría de un servicio creando un servicio:
-
Agregue una definición de servicio al archivo
services.yaml
para su proyecto con la especificación de versión degradada. Consulte mysql2 en el siguiente ejemplo:services.yaml
code language-yaml mysql: type: mysql:10.4 disk: 5120 mysql2: type: mysql:10.3 disk: 5120
-
Cambie la configuración de relaciones en el archivo
.magento.app.yaml
para utilizar el nuevo servicio.Configuración original de
.magento.app.yaml
code language-yaml relationships: database: "mysql:mysql"
Nueva configuración de
.magento.app.yaml
code language-yaml relationships: database: "mysql2:mysql"
-
Agregue, confirme e inserte los cambios de código.