Configurar serviços

A variável services.yaml O arquivo define os serviços compatíveis 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. Este arquivo está no estado .magento diretório do seu projeto.

O script de implantação usa os arquivos de configuração no .magento diretório para provisionar o ambiente com os serviços configurados. Um serviço se torna disponível para o seu aplicativo se estiver incluído na relationships propriedade do .magento.app.yaml arquivo. A variável services.yaml o arquivo contém o type e disco valores. O tipo de serviço define o serviço name e version.

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 ambientes de produção master
  • Ambientes de integração Pro
TIP
Para projetos Pro, você deve enviar um tíquete de suporte da Adobe Commerce para instalar ou atualizar serviços in Staging e Production somente ambientes.
Indique as alterações de serviço necessárias, inclua as atualizações .magento.app.yaml e services.yaml e indique a versão do PHP no ticket. Para alterações de autoatendimento na versão, extensões ou configurações do ambiente do PHP, consulte Configurações do PHP in Configuração do aplicativo.
Para alterações em um live Ambiente de produção (Somente Pro), você deve fornecer um aviso mínimo de 48 horas para permitir que a equipe de infraestrutura da nuvem tenha tempo suficiente para realizar o marshaling dos recursos e realizar uma atualização segura.

Serviços padrão e compatíveis

A infraestrutura em nuvem é compatível com os seguintes serviços e os implanta:

É possível exibir versões padrão e valores de disco na versão atual, padrão services.yaml arquivo. A amostra a seguir mostra a mysql, redis, opensearch ou elasticsearch, e rabbitmq serviços definidos na services.yaml arquivo de configuração:

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 do 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

A variável service-id value identifica o serviço no projeto. Você só pode usar caracteres alfanuméricos em minúsculas: a para z e 0 para 9, como redis.

Este service-id o valor é usado no relationships propriedade do .magento.app.yaml arquivo de configuração:

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 services.yaml arquivo 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ê fazer backup do ambiente inicial antes de alterar o nome de um serviço existente.

type

A variável type value especifica o nome e a versão do serviço. Por exemplo:

mysql:
    type: mysql:10.4

disk

A variável disk value 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 em nuvem do Adobe Commerce, o relacionamentos configurado no .magento.app.yaml determinam quais serviços estão disponíveis para o seu aplicativo.

Você pode recuperar os dados de configuração de todos os relacionamentos de serviço do $MAGENTO_CLOUD_RELATIONSHIPS variável de ambiente. 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:

  1. No ambiente local, mostrar as relações do ambiente ativo.

    code language-bash
    magento-cloud relationships
    
  2. Confirme a service e type 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-terminal
    redis:
        -
    ...
            type: 'redis:7.0'
            port: 6379
    elasticsearch:
        -
    ...
            type: 'opensearch:2'
            port: 9200
    database:
        -
    ...
            type: 'mysql:10.6'
            port: 3306
    

Para verificar relacionamentos em ambientes remotos:

  1. Use o SSH para fazer logon no ambiente remoto.

  2. 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 ece-tools comando para exibir relacionamentos:

    code language-bash
    php ./vendor/bin/ece-tools env:config:show services
    
  3. Confirme a service e type 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 Instalação guia 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, a variável ece-tools O pacote 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. É possível revisar as datas de EOL na ece-tools eol.yaml arquivo.

Migrar para o OpenSearch

WARNING
O Elasticsearch 7.11 e posterior não é compatível com o Adobe Commerce na infraestrutura em nuvem. As versões do Adobe Commerce 2.3.7-p3, 2.4.3-p2 e 2.4.4 e posteriores são compatíveis com o serviço OpenSearch. As instalações locais continuam a suportar o Elasticsearch.

Para a versão 2.4.4 e posterior do Adobe Commerce, 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 Fazer downgrade da versão do 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 services.yaml arquivo.

  1. Altere o type valor do serviço na .magento/services.yaml arquivo:

    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
    
  2. 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:

  1. Renomeie um serviço existente com a nova versão, que remove o serviço e os dados existentes, e adiciona um novo.

  2. 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 services.yaml e atualize os relacionamentos na variável .magento.app.yaml arquivo.

Para fazer downgrade de uma versão de serviço renomeando um serviço existente:

  1. Renomeie o serviço existente na .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 fazer o downgrade da versão do MariaDB para o mysql serviço da versão 10.4 para 10.3, altere a versão existente service-id e type configuração.

    Original services.yaml definição

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    

    Novo services.yaml definição

    code language-yaml
    mysql2:
         type: mysql:10.3
         disk: 5120
    
  2. Atualizar as relações no .magento.app.yaml arquivo.

    Original .magento.app.yaml configuração

    code language-yaml
    relationships:
        database: "mysql:mysql"
    

    Atualizado .magento.app.yaml configuração

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Adicionar, confirmar e enviar por push as alterações de código.

Para fazer downgrade de um serviço criando um serviço:

  1. Adicione uma definição de serviço à services.yaml para o seu projeto com a especificação de versão rebaixada. Consulte mysql2 no exemplo a seguir:

    services.yaml

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    mysql2:
        type: mysql:10.3
        disk: 5120
    
  2. Altere a configuração de relacionamentos na variável .magento.app.yaml arquivo para usar o novo serviço.

    Original .magento.app.yaml configuração

    code language-yaml
    relationships:
        database: "mysql:mysql"
    

    Novo .magento.app.yaml configuração

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Adicionar, confirmar e enviar por push as alterações de código.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26