Criar uma implantação azul/verde - Amazon Aurora

Criar uma implantação azul/verde

Ao criar uma implantação azul/verde, você especifica o cluster de banco de dados a ser copiado na implantação. O cluster de banco de dados selecionado é o cluster de banco de dados de produção e torna-se o cluster de banco de dados no ambiente azul. O RDS copia a topologia do ambiente azul para uma área de teste, junto com seus recursos configurados. O cluster de banco de dados é copiado no ambiente verde, e o RDS configura a replicação do cluster de banco de dados no ambiente azul para o cluster de banco de dados no ambiente verde. O RDS também copia todas as instâncias de banco de dados no cluster de banco de dados.

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 o cluster de banco de dados do Aurora está executando.

Preparar um cluster de banco de dados do Aurora MySQL para uma implantação azul/verde

Antes de criar uma implantação azul/verde para um cluster de banco de dados do Aurora MySQL, o cluster de banco de dados deve estar associado a um grupo de parâmetros de cluster de banco de dados personalizado com o registro em log binário (binlog_format) ativado. O registro em log binário é necessário para a replicação do ambiente azul para o ambiente verde. Embora qualquer formato de log binário funcione, recomendamos ROW para reduzir o risco de inconsistências de replicação. Para obter informações sobre como criar um grupo de parâmetros de cluster de banco de dados personalizado e definir parâmetros, consulte Grupos de parâmetros do cluster de banco de dados para clusters de banco de dados do Amazon Aurora.

nota

Habilitar o registro em log binário aumenta o número de operações de E/S de disco de gravação no cluster de banco de dados. Você pode monitorar o uso de IOPS com a métrica VolumeWriteIOPs do CloudWatch.

Depois de habilitar o registro em log binário, reinicialize o cluster de banco de dados para que as alterações tenham efeito. As implantações azul/verde exigem que a instância do gravador esteja sincronizada com o grupo de parâmetros do cluster de banco de dados, caso contrário a criação falhará. Para ter mais informações, consulte Reinicializar uma instância de banco de dados em um cluster do Aurora.

Além disso, recomendamos alterar o período de retenção de logs binários para um valor diferente de NULL a fim de evitar que os arquivos de log binários sejam eliminados. Para ter mais informações, consulte Definir e mostrar a configuração de logs binários.

Preparar um cluster de banco de dados do Aurora PostgreSQL para uma implantação azul/verde

Antes de criar uma implantação azul/verde para um cluster de banco de dados do Aurora PostgreSQL, faça o seguinte:

  • Associe o cluster a um grupo de parâmetros de cluster 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.

    Ao habilitar a replicação lógica, é necessário também ajustar determinados parâmetros do cluster, como max_replication_slots, max_logical_replication_workers e max_worker_processes. Para ter instruções sobre como habilitar a replicação lógica e ajustar esses parâmetros, consulte Configurar a replicação lógica para seu cluster de banco de dados do Aurora PostgreSQL.

    Além disso, verifique se o parâmetro synchronous_commit está definido como on.

    Depois de configurar os parâmetros necessários, reinicialize o cluster de banco de dados para que as alterações tenham efeito. As implantações azul/verde exigem que a instância do gravador esteja sincronizada com o grupo de parâmetros do cluster de banco de dados, caso contrário a criação falhará. Para ter mais informações, consulte Reinicializar uma instância de banco de dados em um cluster do Aurora.

  • Certifique-se de que seu cluster de banco de dados esteja executando uma versão do Aurora PostgreSQL compatível com implantações azul/verdes. Para obter uma tabela de versões compatíveis, consulte Implantações azul/verde com o Aurora PostgreSQL.

  • Certifique-se de que todas as tabelas no cluster 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.

  • Confirme se o cluster 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.

  • 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 no cluster de banco de dados no ambiente verde ao criar a implantação azul/verde:

Você pode fazer outras modificações de banco de dados no cluster e em suas instâncias 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 obter informações sobre como modificar um cluster de banco de dados, consulte Modificar um cluster de bancos de dados Amazon Aurora.

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

Você pode especificar um grupo de parâmetros de cluster de banco de dados diferente do usado pelo cluster de banco de dados. É possível testar como as alterações de parâmetros afetam o cluster 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 cluster de banco de dados diferente, o grupo de parâmetros especificado será associado ao cluster de banco de dados no ambiente verde. Se você não especificar um grupo de parâmetros de cluster de banco de dados diferente, o cluster de banco de dados no ambiente verde será associado ao mesmo grupo de parâmetros que o cluster de banco de dados azul.

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, o cluster 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 cluster de banco de dados Aurora PostgreSQL para uma instância de banco de dados do RDS para PostgreSQL. Para ter mais informações, consulte Limitações de replicação lógica do PostgreSQL em 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 aurora-blue-green-deployment \ --source arn:aws:rds:us-east-2:123456789012:cluster:auroradb \ --target-engine-version 8.0 \ --target-db-cluster-parameter-group-name mydbclusterparametergroup

Para Windows:

aws rds create-blue-green-deployment ^ --blue-green-deployment-name aurora-blue-green-deployment ^ --source arn:aws:rds:us-east-2:123456789012:cluster:auroradb ^ --target-engine-version 8.0 ^ --target-db-cluster-parameter-group-name mydbclusterparametergroup

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 do cluster que você deseja copiar no ambiente verde. Ao usar a CLI ou a API, especifique o nome do recurso da Amazon (ARN) do cluster.

Opção da CLI:

--source

Parâmetro da API:

Source

Grupo de parâmetros do cluster 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-cluster-parameter-group-name

Parâmetro da API:

TargetDBClusterParameterGroupName

Versão do mecanismo para bancos de dados verdes

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

Opção da CLI:

--target-engine-version

Parâmetro da API do RDS:

TargetEngineVersion