Configurar serviços
O arquivo services.yaml
define os serviços com suporte e usados pelo Adobe Commerce na infraestrutura em nuvem, como MySQL, Redis e Elasticsearch ou OpenSearch. Não é necessário assinar provedores de serviços externos.
.magento/services.yaml
é gerenciado localmente no diretório .magento
do seu projeto. A configuração é acessada durante o processo de criação para definir as versões de serviço necessárias somente no ambiente de integração e é removida após a conclusão da implantação. Portanto, você não as encontrará no servidor.O script de implantação usa os arquivos de configuração no diretório .magento
para provisionar o ambiente com os serviços configurados. Um serviço ficará disponível para o aplicativo se for incluído na propriedade relationships
do arquivo .magento.app.yaml
. O arquivo services.yaml
contém os valores de tipo e disco. O tipo de serviço define o serviço nome e versão.
Alterar uma configuração de serviço faz com que uma implantação provisione o ambiente com os serviços atualizados, o que afeta os seguintes ambientes:
- Todos os ambientes iniciais, incluindo Produção
master
- Ambientes de integração Pro
Staging
e Production
..magento.app.yaml
e do services.yaml
e informe a versão do PHP no tíquete. Para alterações de autoatendimento na versão, extensões ou configurações do ambiente do PHP, consulte configurações do PHP em Configuração do aplicativo.Serviços padrão e compatíveis
A infraestrutura em nuvem é compatível com os seguintes serviços e os implanta:
Você pode exibir versões padrão e valores de disco no arquivo services.yaml
padrão atual. A amostra a seguir mostra os serviços mysql
, redis
, opensearch
ou elasticsearch
e rabbitmq
definidos no arquivo de configuração 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 serviço
Você deve fornecer a ID de serviço e a configuração de tipo de serviço type: <name>:<version>
. Se o serviço usar armazenamento persistente, você deverá fornecer um valor de disco.
Usar o seguinte formato:
<service-id>:
type: <name>:<version>
disk: <value-MB>
service-id
O valor service-id
identifica o serviço no projeto. Você só pode usar caracteres alfanuméricos minúsculos: a
a z
e 0
a 9
, como redis
.
O valor service-id é usado na propriedade relationships
do arquivo de configuração .magento.app.yaml
:
relationships:
redis: "<name>:redis"
Você pode nomear várias instâncias de cada tipo de serviço. Por exemplo, você pode usar várias instâncias Redis — uma para sessão e outra para cache.
redis:
type: redis:<version>
redis2:
type: redis:<version>
Renomear um serviço no arquivo services.yaml
remove permanentemente o seguinte:
- O serviço existente antes de criar um serviço com o novo nome especificado.
- Todos os dados existentes para o serviço são removidos. A Adobe recomenda que você faça backup de seu ambiente de Início antes de alterar o nome de um serviço existente.
type
O valor type
especifica o nome e a versão do serviço. Por exemplo:
mysql:
type: mysql:10.4
disk
O valor disk
especifica o tamanho do armazenamento de disco persistente (em MB) a ser alocado para o serviço. Os serviços que usam armazenamento persistente, como o MySQL, devem fornecer um valor de disco. Os serviços que usam memória em vez de armazenamento persistente, como Redis, não exigem um valor de disco.
mysql:
type: mysql:10.4
disk: 5120
A quantidade de armazenamento padrão atual por projeto é de 5 GB ou 512 0 MB. Você pode distribuir essa quantidade entre seu aplicativo e cada um de seus serviços.
Relacionamentos de serviço
Em projetos de infraestrutura na nuvem do Adobe Commerce, as relações do serviço configuradas no arquivo .magento.app.yaml
determinam quais serviços estão disponíveis para o seu aplicativo.
Você pode recuperar os dados de configuração de todas as relações de serviço da variável de ambiente $MAGENTO_CLOUD_RELATIONSHIPS
. Os dados de configuração incluem o nome, o tipo e a versão do serviço, juntamente com todos os detalhes de conexão necessários, como o número da porta e as credenciais de logon.
Para verificar relações no ambiente local:
-
No ambiente local, mostrar as relações do ambiente ativo.
code language-bash magento-cloud relationships
-
Confirme os
service
etype
da resposta. A resposta fornece informações de conexão, como endereço IP e número da porta.Resposta de amostra 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 verificar relações em ambientes remotos:
-
Use o SSH para fazer logon no ambiente remoto.
-
Listar os dados de configuração de relacionamentos para todos os serviços configurados no ambiente.
code language-bash echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
ou use o seguinte comando
ece-tools
para exibir relações:code language-bash php ./vendor/bin/ece-tools env:config:show services
-
Confirme os
service
etype
da resposta. A resposta fornece informações de conexão, como endereço IP e número da porta, além de quaisquer credenciais de nome de usuário e senha necessárias.
Versões de serviço
O suporte à versão do serviço e à compatibilidade do Adobe Commerce na infraestrutura em nuvem é determinado pelas versões implantadas e testadas na infraestrutura em nuvem e, às vezes, difere das versões compatíveis com implantações locais do Adobe Commerce. Consulte Requisitos do sistema no guia Instalação para obter uma lista de dependências de software de terceiros que o Adobe testou com versões específicas do Adobe Commerce e do Magento Open Source.
Verificações de EOL de software
Durante o processo de implantação, o pacote ece-tools
verifica as versões de serviço instaladas em relação às datas de fim da vida útil (EOL) de cada serviço.
- Se uma versão do serviço estiver dentro de três meses da data EOL, uma notificação será exibida no log de implantação.
- Se a data EOL estiver no passado, uma notificação de aviso será exibida.
Para manter a segurança da loja, atualize as versões de software instaladas antes que elas atinjam o fim da vida útil. Você pode examinar as datas de fim de vida útil no arquivo de eol.yaml
das ferramentas ece.
Migrar para o OpenSearch
Para o Adobe Commerce versão 2.4.4 e posterior, consulte Configurar o serviço OpenSearch.
Alterar versão do serviço
É possível atualizar a versão do serviço instalada para compatibilidade com a versão do Adobe Commerce implantada no ambiente de nuvem.
Não é possível fazer o downgrade da versão de serviço de um serviço instalado diretamente. No entanto, é possível criar um serviço com a versão necessária. Consulte Rebaixar versão de serviço.
Atualizar versão do serviço instalado
Você pode atualizar a versão do serviço instalado atualizando a configuração do serviço no arquivo services.yaml
.
-
Alterar o valor
type
do serviço no arquivo.magento/services.yaml
:Definição do serviço original
code language-yaml mysql: type: mysql:10.3 disk: 2048
Definição de serviço atualizada
code language-yaml mysql: type: mysql:10.4 disk: 5120
-
Adicionar, confirmar e enviar por push as alterações 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>
Versão de downgrade
Não é possível fazer o downgrade de um serviço instalado diretamente. Você tem duas opções:
-
Renomeie um serviço existente com a nova versão, que remove o serviço e os dados existentes, e adiciona um novo.
-
Crie um serviço e salve os dados do serviço existente.
Ao alterar a versão do serviço, você deve atualizar a configuração do serviço no arquivo services.yaml
e atualizar as relações no arquivo .magento.app.yaml
.
Para fazer o downgrade de uma versão de serviço renomeando um serviço existente:
-
Renomeie o serviço existente no arquivo
.magento/services.yaml
e altere a versão.note warning WARNING A renomeação de um serviço existente o substitui e exclui todos os dados. Se precisar manter os dados, crie um serviço em vez de renomear o existente. Por exemplo, para baixar a versão do MariaDB para o serviço mysql da versão 10.4 para 10.3, altere a configuração existente do service-id e do type.
Definição original de
services.yaml
code language-yaml mysql: type: mysql:10.4 disk: 5120
Nova definição
services.yaml
code language-yaml mysql2: type: mysql:10.3 disk: 5120
-
Atualizar as relações no arquivo
.magento.app.yaml
.Configuração original de
.magento.app.yaml
code language-yaml relationships: database: "mysql:mysql"
Atualização da configuração
.magento.app.yaml
code language-yaml relationships: database: "mysql2:mysql"
-
Adicionar, confirmar e enviar por push as alterações de código.
Para fazer o downgrade de um serviço criando um serviço:
-
Adicione uma definição de serviço ao arquivo
services.yaml
para seu projeto com a especificação de versão rebaixada. Consulte mysql2 no seguinte exemplo:services.yaml
code language-yaml mysql: type: mysql:10.4 disk: 5120 mysql2: type: mysql:10.3 disk: 5120
-
Altere a configuração de relações no arquivo
.magento.app.yaml
para usar o novo serviço.Configuração original de
.magento.app.yaml
code language-yaml relationships: database: "mysql:mysql"
Nova configuração
.magento.app.yaml
code language-yaml relationships: database: "mysql2:mysql"
-
Adicionar, confirmar e enviar por push as alterações de código.