Modificar uma implantação single-AZ do RDS Custom para SQL Server para uma implantação multi-AZ - Amazon Relational Database Service

Modificar uma implantação single-AZ do RDS Custom para SQL Server para uma implantação multi-AZ

É possível modificar uma instância de banco de dados do RDS Custom para SQL Server de uma implantação single-AZ para multi-AZ. Quando você modifica a instância de banco de dados, o Amazon RDS realiza várias ações:

  • Tira um snapshot da instância de banco de dados primária.

  • Cria volumes para a réplica em espera baseados no snapshot. Esses volumes são inicializados em segundo plano e a performance máxima do volume é alcançada depois que os dados são totalmente inicializados.

  • Ativa a replicação síncrona em nível de bloco entre as instâncias de banco de dados primária e secundária.

Importante

Recomendamos que você evite modificar sua instância de banco de dados do RDS Custom para SQL Server de uma implantação single-AZ para multi-AZ em uma instância de banco de dados de produção durante períodos de pico de atividade.

A AWS usa um snapshot para criar a instância em espera para evitar tempo de inatividade ao converter da implantação single-AZ em multi-AZ. No entanto, poderá haver um impacto na performance durante e após a conversão em multi-AZ. Esse impacto pode ser significativo para workloads sensíveis à latência de gravação. Embora esse recurso permita que grandes volumes sejam restaurados rapidamente de snapshots, ele pode causar aumento na latência das operações de E/S devido à replicação síncrona. Essa latência pode afetar a performance do seu banco de dados.

Configurar pré-requisitos para modificar uma implantação single-AZ para multi-AZ usando o CloudFormation

Para usar uma implantação multi-AZ, você deve garantir que aplicou o modelo mais recente do CloudFormation com pré-requisitos ou configurar manualmente os pré-requisitos mais recentes. Se você já tiver aplicado o modelo de pré-requisitos mais recente do CloudFormation, poderá ignorar essas etapas.

Como configurar os pré-requisitos de implantação multi-AZ do RDS Custom para SQL Server usando o CloudFormation

  1. Abra o console do CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. Para iniciar o assistente de criação de pilha, selecione a pilha existente que você usou para criar uma implantação single-AZ e escolha Atualizar.

    A página Criar pilha é exibida.

  3. Em Pré-requisito: preparar modelo, selecione O modelo está pronto.

  4. Na página Specify template (Especificar modelo), faça o seguinte:

    1. Baixe o arquivo de modelo do AWS CloudFormation mais recente. Abra o menu de contexto (clique com o botão direito do mouse) do link custom-sqlserver-onboard.zip e selecione Save Link As (Salvar link como).

    2. Salve e extraia o arquivo custom-sqlserver-onboard.json no computador.

    3. Para Template source (Origem do template), escolha Upload a template file (Fazer upload de um arquivo de template).

    4. Em Choose file (Escolher arquivo), acesse custom-sqlserver-onboard.json e escolha essa opção.

  5. Escolha Próximo.

    A página Specify stack details (Especificar detalhes da pilha) é exibida.

  6. Para manter as opções padrão, escolha Next (Próximo).

    A página Opções avançadas é exibida.

  7. Para manter as opções padrão, escolha Next (Próximo).

  8. Para manter as opções padrão, escolha Next (Próximo).

  9. Na página Revisar alterações, faça o seguinte:

    1. Para Capabilities (Recursos), marque a caixa de seleção para confirmar que o AWS CloudFormation pode criar os recursos do IAM com nomes personalizados.

    2. Selecione Enviar.

  10. Verifique se a atualização foi bem-sucedida. O status de uma operação bem-sucedida exibe UPDATE_COMPLETE.

Se a atualização falhar, todas as novas configurações especificadas no processo de atualização serão revertidas. O recurso existente ainda poderá ser usado. Por exemplo, se você adicionar regras de ACL de rede 18 e 19, mas existissem regras com os mesmos números, a atualização retornará o seguinte erro: Resource handler returned message: "The network acl entry identified by 18 already exists. Nesse cenário, você pode modificar as regras de ACL existentes para usar um número menor que 18 e, depois, tentar a atualização novamente.

Configurar pré-requisitos para modificar uma implantação single-AZ para multi-AZ manualmente

Importante

Para simplificar a configuração, recomendamos que você use o arquivo de modelo AWS CloudFormation mais recente fornecido nas instruções de configuração da rede. Para ter mais informações, consulte Configurar pré-requisitos para modificar uma implantação single-AZ para multi-AZ usando o CloudFormation.

Se você optar por configurar recursos manualmente, realize as tarefas a seguir.

  1. Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/.

  2. Selecione Endpoint. Aparecerá a página Create Endpoint (Criar endpoint).

  3. Em Categoria do serviço, selecione Serviços da AWS.

  4. Em Serviços, pesquise SQS

  5. Na VPC, selecione a VPC em que sua instância de banco de dados do RDS Custom para SQL Server é implantada.

  6. Em Sub-redes, selecione as sub-redes em que sua instância de banco de dados do RDS Custom para SQL Server está implantada.

  7. Em Grupos de segurança, selecione o grupo -vpc-endpoint-sg.

  8. Em Política, selecione Personalizada

  9. Em sua política personalizada, substitua a partição da AWS, a região, o accountId e o perfil da instância do IAM por seus próprios valores.

    { "Version": "2012-10-17", "Statement": [ { "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } }, "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*", "Effect": "Allow", "Principal": { "AWS": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/{IAM-Instance-role}" } } ] }
  10. Atualize o Perfil da instância com permissão para acessar o Amazon SQS. Substitua a partição da AWS, a região e o accountId por seus próprios valores.

    { "Sid": "SendMessageToSQSQueue", "Effect": "Allow", "Action": [ "SQS:SendMessage", "SQS:ReceiveMessage", "SQS:DeleteMessage", "SQS:GetQueueUrl" ], "Resource": [ { "Fn::Sub": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*" } ], "Condition": { "StringLike": { "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver" } } } >
  11. Atualize as regras de entrada e saída do grupo de segurança do Amazon RDS para permitir a porta 1120.

    1. Em Grupos de segurança, selecione o grupo -rds-custom-instance-sg.

    2. Em Regras de entrada, crie uma regra TCP personalizada para permitir a porta 1120 do grupo de origem -rds-custom-instance-sg.

    3. Em Regras de saída, crie uma regra TCP personalizada a fim de permitir a porta 1120 ao grupo de destino -rds-custom-instance-sg.

  12. Adicione uma regra à sua lista de controle de acesso (ACL) de rede privada que permita portas TCP 0-65535 para a sub-rede de origem da instância de banco de dados.

    nota

    Ao criar uma regra de entrada e uma regra de saída, anote o maior número de regra existente. As novas regras que você criar devem ter um número de regra menor que 100 e não corresponder a nenhum número de regra existente.

    1. Em ACLs de rede, selecione o grupo -private-network-acl.

    2. Em Regras de entrada, crie uma regra Todas TCP para permitir portas TCP 0-65535 com uma fonte de privatesubnet1 e privatesubnet2.

    3. Em Regras de saída, crie uma regra Todas TCP para permitir portas TCP 0-65535 para privatesubnet1 e privatesubnet2 de destino.

Modifique usando o console do RDS, a CLI da AWS ou a API do RDS.

Depois de concluir os pré-requisitos, você pode modificar uma instância de banco de dados do RDS Custom para SQL Server de uma implantação single-AZ para multi-AZ usando o console do RDS, a CLI da AWS ou a API do RDS.

Como modificar uma implantação do RDS Custom para SQL Server de single-AZ para multi-AZ
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No console do Amazon RDS, escolha Databases (Bancos de dados).

    O painel Databases (Bancos de dados) é exibido.

  3. Selecione a instância de banco de dados do RDS Custom para SQL Server que você deseja modificar.

  4. Em Ações, selecione Converter em implantação multi-AZ.

  5. Na página Confirmação, selecione Aplicar imediatamente para aplicar as alterações imediatamente. A escolha dessa opção não causa tempo de inatividade, mas pode causar um possível impacto na performance. Você também pode optar por aplicar a atualização durante a próxima janela de manutenção. Para ter mais informações, consulte Usar a configuração de programação de modificações.

  6. Na página Confirmação, selecione Converter em multi-AZ.

Para converter em uma implantação de instância de banco de dados multi-AZ usando oAWS CLI, chame o comando modify-db-instance e defina a opção --multi-az. Especifique o identificador da instância de banco de dados e os valores para as outras opções que deseja modificar. Para ter mais informações sobre cada opção, consulte Configurações para instâncias de banco de dados.

exemplo

O código a seguir modifica mycustomdbinstance incluindo a opção --multi-az. As alterações serão aplicadas durante a janela de manutenção usando --no-apply-immediately. Use --apply-immediately para aplicar as alterações imediatamente. Para ter mais informações, consulte Usar a configuração de programação de modificações.

Para Linux, macOS ou Unix:

aws rds modify-db-instance \ --db-instance-identifier mycustomdbinstance \ --multi-az \ --no-apply-immediately

Para Windows:

aws rds modify-db-instance ^ --db-instance-identifier mycustomdbinstance ^ --multi-az \ ^ --no-apply-immediately

Para converter em uma implantação de instância de banco de dados multi-AZ com a API do RDS, chame a operação ModifyDBInstance e defina o parâmetro MultiAZ como verdadeiro.