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.
Tópicos
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
-
Abra o console do CloudFormation em https://console.aws.amazon.com/cloudformation
. -
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.
-
Em Pré-requisito: preparar modelo, selecione O modelo está pronto.
-
Na página Specify template (Especificar modelo), faça o seguinte:
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).
-
Salve e extraia o arquivo
custom-sqlserver-onboard.json
no computador. -
Para Template source (Origem do template), escolha Upload a template file (Fazer upload de um arquivo de template).
-
Em Choose file (Escolher arquivo), acesse
custom-sqlserver-onboard.json
e escolha essa opção.
-
Escolha Próximo.
A página Specify stack details (Especificar detalhes da pilha) é exibida.
-
Para manter as opções padrão, escolha Next (Próximo).
A página Opções avançadas é exibida.
-
Para manter as opções padrão, escolha Next (Próximo).
-
Para manter as opções padrão, escolha Next (Próximo).
-
Na página Revisar alterações, faça o seguinte:
-
Para Capabilities (Recursos), marque a caixa de seleção para confirmar que o AWS CloudFormation pode criar os recursos do IAM com nomes personalizados.
-
Selecione Enviar.
-
-
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.
-
Abra o console da Amazon VPC em https://console.aws.amazon.com/vpc/
. -
Selecione Endpoint. Aparecerá a página Create Endpoint (Criar endpoint).
-
Em Categoria do serviço, selecione Serviços da AWS.
-
Em Serviços, pesquise
SQS
-
Na VPC, selecione a VPC em que sua instância de banco de dados do RDS Custom para SQL Server é implantada.
-
Em Sub-redes, selecione as sub-redes em que sua instância de banco de dados do RDS Custom para SQL Server está implantada.
-
Em Grupos de segurança, selecione o grupo
-vpc-endpoint-sg
. -
Em Política, selecione Personalizada
-
Em sua política personalizada, substitua a
partição da AWS
, aregião
, oaccountId
e operfil 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}" } } ] }
-
Atualize o Perfil da instância com permissão para acessar o Amazon SQS. Substitua a
partição da AWS
, aregião
e oaccountId
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" } } } >
-
Atualize as regras de entrada e saída do grupo de segurança do Amazon RDS para permitir a porta 1120.
Em Grupos de segurança, selecione o grupo
-rds-custom-instance-sg
.Em Regras de entrada, crie uma regra TCP personalizada para permitir a porta
1120
do grupo de origem-rds-custom-instance-sg
.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
.
-
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.
Em ACLs de rede, selecione o grupo
-private-network-acl
.Em Regras de entrada, crie uma regra Todas TCP para permitir portas TCP
0-65535
com uma fonte deprivatesubnet1
eprivatesubnet2
.Em Regras de saída, crie uma regra Todas TCP para permitir portas TCP
0-65535
paraprivatesubnet1
eprivatesubnet2
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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
No console do Amazon RDS, escolha Databases (Bancos de dados).
O painel Databases (Bancos de dados) é exibido.
-
Selecione a instância de banco de dados do RDS Custom para SQL Server que você deseja modificar.
-
Em Ações, selecione Converter em implantação multi-AZ.
-
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.
-
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.