Criar uma implantação azul/verde - Amazon Relational Database Service

Criar uma implantação azul/verde

Ao criar uma implantação azul/verde, você especifica a instância de banco de dados a ser copiada na implantação. A instância de banco de dados selecionada é a instância de banco de dados de produção e se torna a instância de banco de dados primária no ambiente azul. Essa instância de banco de dados é copiada no ambiente verde, e o RDS configura a replicação da instância de banco de dados no ambiente azul para a instância de banco de dados no ambiente verde.

O RDS copia a topologia do ambiente azul para uma área de teste, junto com seus recursos configurados. Quando a instância de banco de dados azul tem réplicas de leitura, elas são copiadas como réplicas de leitura da instância de banco de dados verde na implantação. Se a instância de banco de dados azul for uma implantação de instância de banco de dados multi-AZ, a instância de banco de dados verde será criada como uma implantação de instância de banco de dados multi-AZ.

Preparação para uma implantação azul/verde

Há algumas etapas que você deve seguir antes de criar uma implantação azul/verde, dependendo do mecanismo que a instância de banco de dados está executando.

Preparar uma instância de banco de dados do RDS para MySQL para uma implantação azul/verde

Antes de criar uma implantação azul/verde para uma instância de banco de dados do RDS para MySQL, é necessário habilitar os backups automatizados. Para obter instruções, consulte Ativar backups automáticos.

Preparar uma instância de banco de dados do RDS para PostgreSQL para uma implantação azul/verde

Antes de criar uma implantação azul/verde para uma instância de banco de dados RDS para PostgreSQL, faça o seguinte:

  • Associe a instância a um grupo de parâmetros de banco de dados personalizado com a replicação lógica (rds.logical_replication) ativada. A replicação lógica é necessária para a replicação do ambiente azul no ambiente verde. Para obter instruções, consulte Modificar parâmetros em um grupo de parâmetros de banco de dados.

    Como as implantações azul/verde exigem pelo menos um operador em segundo plano por banco de dados, ajuste as configurações a seguir de acordo com a workload. Para ter instruções sobre como ajustar cada configuração, consulte Configuration Settings na documentação do PostgreSQL.

    • max_replication_slots

    • max_wal_senders

    • max_logical_replication_workers

    • max_worker_processes

    Depois de ativar a replicação lógica e definir todas as opções de configuração, reinicialize a instância de banco de dados para que as alterações tenham efeito. As implantações azul/verde exigem que a instância do banco de dados esteja sincronizada com o grupo de parâmetros do banco de dados; caso contrário, a criação falhará. Para ter mais informações, consulte Reinicializar uma instância de banco de dados .

  • Certifique-se de que a instância de banco de dados esteja executando uma versão do RDS para PostgreSQL compatível com as implantações azul/verde do RDS. Para obter uma tabela de versões compatíveis, consulte Regiões e mecanismos de banco de dados compatíveis com implantações azul/verde do Amazon RDS.

  • Confirme se a instância de banco de dados não é a origem ou o destino da replicação externa. Para ter mais informações, consulte Limitações para implantações azul/verde.

  • Certifique-se de que todas as tabelas na instância de banco de dados tenham uma chave primária. A replicação lógica do PostgreSQL não permite operações UPDATE ou DELETE em tabelas que não têm uma chave primária.

  • Se você estiver usando gatilhos, garanta que eles não interfiram na criação, atualização e eliminação de objetos pg_catalog.pg_publication, pg_catalog.pg_subscription e pg_catalog.pg_replication_slots cujos nomes comecem com “rds”.

Especificar as alterações ao criar uma implantação azul/verde

Você pode fazer as seguintes alterações na instância de banco de dados no ambiente verde ao criar a implantação azul/verde:

Você pode fazer outras modificações na instância de banco de dados no ambiente verde após sua implantação. Por exemplo, você pode fazer alterações de esquema em seu banco de dados ou alterar a classe da instância de banco de dados usada por uma ou mais instâncias de banco de dados no ambiente verde.

Para ter mais informações sobre como modificar uma instância de banco de dados , consulte Modificar uma instância de banco de dados do Amazon RDS.

Especifique uma versão de mecanismo superior

Você poderá especificar uma versão superior do mecanismo se quiser testar uma atualização do mecanismo de banco de dados. Após a transição, o banco de dados é atualizado para a versão principal ou secundária do mecanismo de banco de dados que você especificar.

Especificar outro grupo de parâmetros de banco de dados

É possível testar como as alterações de parâmetros afetam as instâncias de banco de dados no ambiente verde ou especificar um grupo de parâmetros para uma nova versão principal do mecanismo de banco de dados no caso de uma atualização.

Se você especificar um grupo de parâmetros de banco de dados diferente, o grupo de parâmetros de banco de dados especificado será associado a todas as instâncias de banco de dados no ambiente verde. Se você não especificar um grupo de parâmetros diferente, cada instância de banco de dados no ambiente verde será associada ao grupo de parâmetros de sua instância de banco de dados azul correspondente.

Utilizar gravações otimizadas pelo RDS

Você pode usar implantação azul/verde para fazer a atualização para uma classe de instância de banco de dados compatível com gravações otimizadas para RDS. Você só pode habilitar gravações otimizadas para RDS em um banco de dados criado com uma classe de instância de banco de dados compatível. Portanto, essa opção cria um banco de dados verde que usa uma classe de instância de banco de dados compatível, o que permite ativar gravações otimizadas para RDS na instância de banco de dados verde.

Se você estiver fazendo uma atualização de uma classe de instância de banco de dados que não seja compatível com gravações otimizadas para RDS para uma que seja, você também deverá atualizar a configuração de armazenamento da instância de banco de dados verde. Para ter mais informações, consulte Atualizar a configuração do armazenamento.

Você só pode atualizar a classe de instância de banco de dados da instância de banco de dados verde primária. Por padrão, as réplicas de leitura no ambiente verde herdam as configurações da instância de banco de dados do ambiente azul. Depois que o ambiente verde for criado com sucesso, você deverá modificar manualmente a classe de instância de banco de dados das réplicas de leitura no ambiente verde.

Algumas atualizações de classe de instância não são suportadas, dependendo da versão do mecanismo e da classe da instância de banco de dados azul. Para ter mais informações sobre classes de instância de banco de dados, consulte Classes de instância de banco de dados .

Atualizar a configuração do armazenamento

Se seu banco de dados azul não estiver na configuração de armazenamento mais recente, o RDS poderá migrar a instância de banco de dados verde da configuração de armazenamento mais antiga (sistema de arquivos de 32 bits) para a configuração preferencial. Você pode usar a implantação azul/verde do RDS para superar as limitações de escalabilidade no armazenamento e no tamanho do arquivo para sistemas de arquivos mais antigos de 32 bits. Além disso, essa configuração alterará a configuração de armazenamento para ser compatível com gravações otimizadas para RDS se a classe de instância de banco de dados especificada for compatível com as gravações otimizadas.

nota

A atualização da configuração de armazenamento é uma operação intensiva de E/S e leva a tempos de criação mais longos para implantações azul/verdes. O processo de atualização de armazenamento é mais rápido se a instância de banco de dados azul usar armazenamento SSD de IOPS provisionadas (io1) e se você provisionou o ambiente verde com um tamanho de instância de 4xlarge ou maior. As atualizações de armazenamento que envolvem armazenamento SSD de uso geral (gp2) podem esgotar seu saldo de créditos de E/S, resultando em tempos de upgrade mais longos. Para ter mais informações, consulte Armazenamento de instâncias de banco de dados do Amazon RDS.

Durante o processo de atualização de armazenamento, o mecanismo de banco de dados não fica disponível. Se o consumo de armazenamento em sua instância de banco de dados azul for maior ou igual a 90% do tamanho de armazenamento alocado, o processo de atualização de armazenamento aumentará o tamanho de armazenamento alocado em 10% para a instância verde.

Essa opção só estará disponível se o banco de dados azul não estiver na configuração de armazenamento mais recente ou se você estiver alterando a classe da instância de banco de dados na mesma solicitação. Só é possível atualizar a configuração de armazenamento ao criar inicialmente uma implantação azul/verde.

Lidar com o carregamento lento ao criar uma implantação azul/verde

Quando você cria uma implantação azul/verde, o Amazon RDS cria a instância de banco de dados primária no ambiente verde realizando a restauração a partir de um snapshot de banco de dados. Depois de criada, a instância de banco de dados verde continua carregando dados em segundo plano, o que é conhecido como carregamento lento. Se a instância de banco de dados tiver réplicas de leitura, elas também serão criadas a partir de snapshots de banco de dados e estarão sujeitas a carregamento lento.

Se você acessar dados que ainda não foram carregados, a instância de banco de dados baixará imediatamente os dados solicitados do Amazon S3 e continuará carregando o restante dos dados do volume em segundo plano. Para ter mais informações, consulte Snapshots do Amazon EBS.

Para ajudar a atenuar os efeitos do carregamento lento em tabelas às quais necessita de acesso rápido, você pode executar operações que envolvem verificações de tabela completas, como SELECT *. Essa operação permite que o Amazon RDS baixe todos os dados da tabela de backup do S3.

Se uma aplicação tentar acessar dados que não estão carregados, ela poderá encontrar uma latência maior do que o normal enquanto os dados forem carregados. Essa maior latência devido ao carregamento lento pode ocasionar uma performance ruim para workloads sensíveis à latência.

Importante

Se você mudar para uma implantação azul/verde antes que o carregamento de dados seja concluído, sua aplicação poderá ter problemas de performance devido à alta latência.

Criar uma implantação azul/verde

Você pode criar a implantação azul/verde usando o AWS Management Console, a AWS CLI ou a API do RDS.

Como criar uma implantação azul/verde
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione Databases (Bancos de dados) e, depois, a instância de banco de dados que você deseja copiar em um ambiente verde.

  3. Selecione Ações, Criar implantação azul/verde.

    Se você escolher um , analise e reconheça as limitações da replicação lógica. Para ter mais informações, consulte Limitações de replicação lógica do PostgreSQL para implantações azul/verde.

    A página Create Blue/Green Deployment (Criar implantação azul/verde) é exibida.

    Criar uma implantação azul/verde
  4. Analise os identificadores azuis do banco de dados. Eles devem corresponder às instâncias de banco de dados que você espera no ambiente azul. Caso contrário, selecione Cancel (Cancelar).

  5. Para Blue/Green Deployment identifier (Identificador de implantação azul/verde), insira um nome para sua implantação azul/verde.

  6. Nas seções restantes, especifique as configurações do ambiente verde. Para obter informações sobre cada configuração, consulte Configurações para criar implantações azuis/verdes.

    Você pode fazer outras modificações nos bancos de dados no ambiente verde após sua implantação.

  7. Selecione Criar ambiente de preparação.

Para criar uma implantação azul/verde usando a AWS CLI, utilize o comando create-blue-green-deployment. Para ter mais informações sobre cada opção, consulte Configurações para criar implantações azuis/verdes.

Para Linux, macOS ou Unix:

aws rds create-blue-green-deployment \ --blue-green-deployment-name my-blue-green-deployment \ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 \ --target-engine-version 8.0.31 \ --target-db-parameter-group-name mydbparametergroup

Para Windows:

aws rds create-blue-green-deployment ^ --blue-green-deployment-name my-blue-green-deployment ^ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 ^ --target-engine-version 8.0.31 ^ --target-db-parameter-group-name mydbparametergroup

Para criar uma implantação azul/verde usando a API do Amazon RDS, use a operação CreateBlueGreenDeployment. Para ter mais informações sobre cada opção, consulte Configurações para criar implantações azuis/verdes.

Configurações para criar implantações azuis/verdes

A tabela a seguir explica as configurações que você pode escolher ao criar uma implantação azul/verde. Consulte mais informações sobre as opções da AWS CLI em create-blue-green-deployment. Consulte mais informações sobre os parâmetros da API do RDS em CreateBlueGreenDeployment.

Configuração do console Descrição da configuração Opção da CLI e parâmetro da API do RDS

Identificador de implantação azul/verde

Um nome para a implantação azul/verde.

Opção da CLI:

--blue-green-deployment-name

Parâmetro da API:

BlueGreenDeploymentName

Identificador de banco de dados azul

O identificador da instância que você deseja copiar no ambiente verde. Ao usar a CLI ou a API, especifique o nome do recurso da Amazon (ARN) da instância.

Opção da CLI:

--source

Parâmetro da API:

Source

Grupo de parâmetros do de banco de dados para bancos de dados verdes Um grupo de parâmetros para associar aos bancos de dados no ambiente verde.

Opção da CLI:

--target-db-parameter-group-name

--target-db-cluster-parameter-group-name

Parâmetro da API:

TargetDBParameterGroupName

TargetDBClusterParameterGroupName

Habilitar Gravações otimizadas para banco de dados verdes

Habilite as Gravações otimizadas pelo RDS na instância de banco de dados primária verde. Para ter mais informações, consulte Utilizar gravações otimizadas pelo RDS.

Se você estiver mudando de uma classe de instância de banco de dados que não suporta gravações otimizadas para uma que oferece, você também precisa realizar uma atualização da configuração de armazenamento. Para ter mais informações, consulte Atualizar a configuração do armazenamento.

Para a CLI e a API, quando se especifica uma classe de instância de banco de dados de destino que permita Gravações otimizadas pelo RDS, ela é habilitada automaticamente na instância de banco de dados primária verde.

Versão do mecanismo para bancos de dados verdes

Faça upgrade dos bancos de dados no ambiente verde para a versão especificada do mecanismo de banco de dados.

Se não for especificada, cada banco de dados no ambiente verde será criado com a mesma versão do mecanismo da instância de banco de dados correspondente no ambiente azul.

Opção da CLI:

--target-engine-version

Parâmetro da API do RDS:

TargetEngineVersion

Classe de instância de banco de dados verde

A capacidade de computação e memória de cada instância de banco de dados no ambiente verde; por exemplo, db.m5d.xlarge.

Essa opção só fica visível quando você habilita as Gravações otimizadas pelo RDS para o banco de dados verde.

Opção da CLI:

--target-db-instance-class

Parâmetro da API do RDS:

TargetDBInstanceClass

Upgrade da configuração de armazenamento

Escolha se deseja fazer upgrade da configuração do sistema de arquivos de armazenamento. Se você habilitar essa definição, o RDS migrará o banco de dados verde do antigo sistema de arquivos de armazenamento para a configuração preferencial.

Essa opção só estará disponível se o banco de dados azul não estiver na configuração de armazenamento mais recente ou se você estiver ativando gravações otimizadas para RDS na mesma solicitação. Só é possível atualizar a configuração de armazenamento ao criar inicialmente uma implantação azul/verde.

Para ter mais informações, consulte Atualizando o sistema de arquivos de armazenamento para uma instância de banco de dados.

Opção da CLI:

--upgrade-target-storage-config

Parâmetro da API do RDS:

UpgradeTargetStorageConfig