View a markdown version of this page

Pare e inicie automaticamente uma instância de banco de dados Amazon RDS usando o Windows AWS Systems Manager de manutenção - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Pare e inicie automaticamente uma instância de banco de dados Amazon RDS usando o Windows AWS Systems Manager de manutenção

Ashita Dsilva, Amazon Web Services

Resumo

Esse padrão demonstra como parar e iniciar automaticamente uma instância de banco de dados Amazon Relational Database Service (Amazon RDS) em um cronograma específico (por exemplo, desligar uma instância de banco de dados fora do horário comercial para reduzir custos) usando o Windows de manutenção. AWS Systems Manager Nesse contexto, o Systems Manager é uma solução de baixo custo para cenários de uso típicos.

AWS Systems Manager A automação fornece os AWS-StartRdsInstance runbooks para interromper AWS-StopRdsInstance e iniciar instâncias de banco de dados do Amazon RDS. Isso significa que você não precisa escrever uma lógica personalizada com AWS Lambda funções ou criar uma regra do Amazon CloudWatch Events.

O Systems Manager oferece duas funcionalidades para agendar tarefas: Gerenciador de Estados e Janelas de Manutenção. O Gerenciador de Estados define e mantém a configuração de estado necessária para os recursos da sua conta da Amazon Web Services (AWS) uma única vez ou com base em um cronograma específico. O Maintenance Windows executa tarefas nos recursos da sua conta durante uma janela de tempo específica. Embora você possa usar a abordagem desse padrão com o Gerenciador de Estado ou o Windows de Manutenção, recomendamos que você use o Windows de Manutenção porque ele pode executar uma ou mais tarefas com base na prioridade atribuída e também pode executar AWS Lambda funções e AWS Step Functions tarefas. Para obter mais informações sobre o Gerenciador de Estados e as Janelas de Manutenção, consulte Selecionar entre o Gerenciador de Estados e as Janelas de Manutenção na documentação do Systems Manager.

Esse padrão fornece etapas detalhadas para configurar duas janelas de manutenção separadas que usam expressões cron para parar e, em seguida, iniciar uma instância de banco de dados Amazon RDS. 

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS.

  • Uma instância de banco de dados Amazon RDS existente que você deseja interromper e iniciar em um cronograma específico.

  • Expressões Cron para o cronograma necessário. Por exemplo, a expressão cron(0 9 ? * MON-FRI *) executa a tarefa às 9h em todas as segundas, terças, quartas, quintas e sextas-feiras. Para obter mais informações, consulte Expressões cron e rate para janelas de manutenção na documentação do Systems Manager.

  • Familiarize-se com o Systems Manager.

  • Permissões para iniciar e interromper a instância do RDS. Para obter mais informações, consulte a seção Épicos.

Limitações

  • Uma instância de banco de dados Amazon RDS pode ser interrompida por até sete dias ao mesmo tempo. Depois de sete dias, a instância de banco de dados reinicia automaticamente para garantir que receba todas as atualizações de manutenção necessárias.

  • Não é possível interromper uma instância de banco de dados que tem uma réplica de leitura ou que é uma réplica de leitura.

  • Você não pode interromper uma instância de banco de dados do Amazon RDS para SQL Server em uma configuração multi-AZ.

  • As Service quotas se aplicam ao Maintenance Windows e ao Systems Manager Automation. Para obter mais informações sobre cotas de serviço, consulte AWS Systems Manager endpoints e cotas na documentação. Referência geral da AWS  

  • Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte Serviços da AWS by Region. Para endpoints específicos, consulte a página Cotas e endpoints de serviços e clique no link correspondente ao serviço desejado.

Arquitetura

Os diagramas a seguir mostram o fluxo de trabalho para parar e iniciar uma instância de banco de dados do Amazon RDS automaticamente.

Fluxo de trabalho para interromper e iniciar automaticamente uma instância de banco de dados do Amazon RDS

O fluxo de trabalho consiste nas seguintes etapas:

1. Crie uma janela de manutenção e use expressões cron para definir o cronograma de parada e início para suas instâncias de banco de dados do Amazon RDS.

2. Registre uma tarefa do Systems Manager Automation na janela de manutenção usando o runbook AWS-StopRdsInstance ou AWS-StartRdsInstance.

3. Registre um destino na janela de manutenção usando um grupo de recursos baseado em tags para suas instâncias de banco de dados do Amazon RDS.

Pilha de tecnologia

  • AWS CloudFormation

  • AWS Identity and Access Management (IAM)

  • Amazon RDS

  • Systems Manager

Automação e escala

Você pode parar e iniciar várias instâncias de banco de dados Amazon RDS ao mesmo tempo marcando as instâncias de banco de dados do Amazon RDS necessárias, criando um grupo de recursos que inclua todas as instâncias de banco de dados marcadas e registrando esse grupo de recursos como destino para a janela de manutenção.

Ferramentas

Épicos

TarefaDescriptionHabilidades necessárias

Configure o perfil de serviço do IAM para o Systems Manager Automation.

Faça login no Console de gerenciamento da AWS e crie uma função de serviço para Systems Manager Automation. É possível usar um dos dois métodos a seguir para criar esse perfil de serviço:

O fluxo de trabalho do Systems Manager Automation invoca o Amazon RDS usando um perfil de serviço para realizar ações de início e término na instância de banco de dados Amazon RDS.

O perfil de serviço deve ser configurado com a seguinte política em linha, que tem permissões para iniciar e interromper a instância de banco de dados Amazon RDS:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RdsStartStop", "Effect": "Allow", "Action": [ "rds:StopDBInstance", "rds:StartDBInstance" ], "Resource": "<RDS_Instance_ARN>" }, { "Sid": "RdsDescribe", "Effect": "Allow", "Action": "rds:DescribeDBInstances", "Resource": "*" } ] }

Certifique-se de substituir <RDS_Instance_ARN> pelo nome do recurso da Amazon (ARN) da sua instância de banco de dados do Amazon RDS.

Se você não tiver familiaridade com o uso de políticas e perfis do IAM, siga as instruções apresentadas na seção Solution Overview da publicação do blog Schedule Amazon RDS stop and start using AWS Systems Manager.

Importante

Certifique-se de registrar o ARN do perfil de serviço.

Administrador da AWS
TarefaDescriptionHabilidades necessárias

Marque as instâncias de banco de dados do Amazon RDS

Abra o console do Amazon RDS e marque as instâncias de banco de dados do Amazon RDS que você deseja adicionar ao grupo de recursos. Uma tag é um metadado atribuído a um AWS recurso e consiste em um par de valores-chave. Recomendamos que você use Action como chave de tag e StartStopcomo valor.

Para obter mais informações sobre isso, consulte Adicionar, listar e remover tags na documentação do Amazon RDS.

Administrador da AWS

Crie um grupo de recursos para suas instâncias de banco de dados do Amazon RDS marcadas.

Abra o console do AWS Resource Groups e crie um grupo de recursos com base na etiqueta que você criou para suas instâncias de banco de dados do Amazon RDS.

Em Critérios de agrupamento, certifique-se de escolher AWS: :RDS:: DBInstance para o tipo de recurso e, em seguida, forneça o par de valores-chave da tag (por exemplo, “Ação- “). StartStop Isso garante que o serviço verifique apenas as instâncias de banco de dados do Amazon RDS e não outros recursos que tenham essa tag. Certifique-se de registrar o nome do grupo de recursos.

Para obter mais informações e etapas detalhadas, consulte Criar uma consulta baseada em tags e criar um grupo na AWS Resource Groups documentação. 

Administrador da AWS
TarefaDescriptionHabilidades necessárias

Criar uma janela de manutenção.

  1. Abra o console do Systems Manager, selecione Janelas de Manutenção e, em seguida, escolha Criar uma janela de manutenção. Forneça um nome para sua janela de manutenção (por exemplo, "StopRdsInstance“), insira uma descrição e desmarque a opção Permitir destinos não registrados.

  2. Escolha expressão rate/de CRON e forneça uma expressão de programação para definir quando as instâncias de banco de dados do Amazon RDS devem ser interrompidas. Insira 1 para Duração e 0 para Parar de iniciar tarefas. Por padrão, o fuso horário mostra UTC. Você pode alterar o fuso horário para iniciar a janela de manutenção com base no timestamp definido na sua expressão cron.

  3. Escolha Create maintenance window (Criar janela de manutenção). O sistema retorna você para a página da janela de manutenção e o estado da janela de manutenção é Ativado.

Importante

A tarefa de interromper a instância de banco de dados é executada quase instantaneamente quando iniciada e não ocupa toda a duração da janela de manutenção. Esse padrão fornece os valores mínimos para a Duração e Parar inicialização de tarefas, pois são os parâmetros necessários para uma janela de manutenção.

Para mais informações e etapas detalhadas, consulte Crie uma janela de manutenção usando o console na documentação do Systems Manager.

Administrador da AWS

Atribuir um destino a uma janela de manutenção.

  1. No console do Systems Manager, selecione Janelas de Manutenção, clique em Ações e, em seguida, escolha Registrar destinos.

  2. Na área Destinos , especifique Escolher um grupo de recurso e então escolha o nome de um grupo de recursos existente em sua conta.

  3. Para Tipos de recursos, escolha AWS: :RDS:: DBInstance e, em seguida, escolha Registrar destino.

Para mais informações e etapas detalhadas, consulte Atribua destinos a uma janela de manutenção usando o console na documentação do Systems Manager.

Administrador da AWS

Atribuir uma tarefa a uma janela de manutenção.

  1. No console do Systems Manager, selecione Janelas de Manutenção e, em seguida, escolha sua janela de manutenção. Selecione Ações e, em seguida, escolha Registrar tarefa do Automation. 

  2. Em Documento, escolha AWS- StopRdsInstance.

  3. Na seção Destinos, selecione Selecionar grupos de destinos registrados e, em seguida, escolha o destino da janela de manutenção que você registrou na janela de manutenção atual.

  4. Em Controle da taxa, especifique 100% para Simultaneidade e Limite de erros. Você pode alterar os valores de Controle da taxa de acordo com seus requisitos de simultaneidade de tarefas e limite de erros. Para obter mais informações sobre isso, consulte Informações sobre simultaneidade e limites de erros na documentação do Systems Manager.

  5. Na seção Perfil de serviço do IAM, para Perfil de serviço, mantenha a caixa em branco ou crie um perfil personalizado. Se você deixar a caixa em branco, o Systems Manager criará automaticamente a função AWSServiceRoleForAmazonSSM vinculada ao serviço e, em seguida, associará a função à tarefa. Para criar seu próprio perfil personalizado, consulte Crie um perfil de serviço personalizado para janelas de manutenção usando o console e, em seguida, associe esse perfil personalizado à tarefa.

  6. Na seção Input parameters, especifique os parâmetros a seguir: para o runbook:

    • InstanceId: {{RESOURCE_ID}}

      nota

      Para InstanceId, um pseudoparâmetro é usado para extrair o ID do recurso de banco de dados Amazon RDS do ARN. Para saber mais sobre pseudo-parâmetros, consulte Informações sobre pseudoparâmetros na documentação do Systems Manager.

    • AutomationAssumeRole: forneça o ARN da função de serviço que você criou para o Systems Manager Automation.

  7. Escolha Register Automation task (Registrar tarefa de Automação). 

Importante

 A opção Perfil de serviço define o perfil necessário para que a janela de manutenção execute tarefas. No entanto, essa função não é idêntica ao perfil de serviço que você criou anteriormente para o Systems Manager Automation.

Para mais informações e etapas detalhadas, consulte Atribua tarefas a uma janela de manutenção usando o console na documentação do Systems Manager.

Administrador da AWS
TarefaDescriptionHabilidades necessárias

Configure uma janela de manutenção para iniciar as instâncias de banco de dados do Amazon RDS.

Repita as etapas de Configurar uma manutenção para interromper o épico de instâncias do banco de dados do Amazon RDS para configurar outra janela de manutenção para iniciar as instâncias de banco de dados do Amazon RDS em um horário programado.

Importante

É necessário realizar as seguintes alterações ao configurar a janela de manutenção para iniciar as instâncias de banco de dados:

  • Use um novo nome para a janela de manutenção (por exemplo, "StartRdsInstance“).

  • Substitua a expressão cron pela expressão cron que você deseja usar para iniciar as instâncias de banco de dados.

  • Substitua o runbook AWS-StopRdsInstance por AWS-StartRdsInstance em Tarefa.

Administrador da AWS

Recursos relacionados