Arresta e avvia automaticamente un'istanza Amazon RDS DB utilizzando AWS Systems Manager Maintenance Windows - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Arresta e avvia automaticamente un'istanza Amazon RDS DB utilizzando AWS Systems Manager Maintenance Windows

Creato da Ashita Dsilva () AWS

Ambiente: produzione

Tecnologie: gestione e governance; Gestione dei costi; Database

AWSservizi: AWS Systems Manager; Amazon RDS

Riepilogo

Questo modello dimostra come arrestare e avviare automaticamente un'istanza DB Amazon Relational Database Service (RDSAmazon) secondo una pianificazione specifica (ad esempio, chiudere un'istanza DB al di fuori dell'orario lavorativo per ridurre i costi) utilizzando AWS Systems Manager Maintenance Windows.

AWS Systems Manager L'automazione fornisce i AWS-StopRdsInstance AWS-StartRdsInstance runbook per arrestare e avviare le istanze Amazon RDS DB. Ciò significa che non è necessario scrivere una logica personalizzata con AWS Lambda funzioni o creare una regola Amazon CloudWatch Events.

Systems Manager offre due funzionalità per la pianificazione delle attività: State Manager e Maintenance Windows. State Manager imposta e mantiene la configurazione dello stato richiesta per le risorse nel tuo account Amazon Web Services (AWS) una sola volta o secondo una pianificazione specifica. Manutenzione Windows esegue le attività sulle risorse del tuo account durante una finestra temporale specifica. Sebbene sia possibile utilizzare l'approccio di questo modello con State Manager o Maintenance Windows, si consiglia di utilizzare Maintenance Windows perché può eseguire una o più attività in base alla priorità assegnata e può anche eseguire AWS Lambda funzioni e AWS Step Functions attività. Per ulteriori informazioni su State Manager e Maintenance Windows, vedere Scelta tra State Manager e Maintenance Windows nella documentazione di Systems Manager.

Questo modello fornisce passaggi dettagliati per configurare due finestre di manutenzione separate che utilizzano espressioni cron per interrompere e quindi avviare un'istanza Amazon RDS DB. 

Prerequisiti e limitazioni

Prerequisiti

  • Un attivo Account AWS.

  • Un'istanza Amazon RDS DB esistente che desideri interrompere e avviare secondo una pianificazione specifica.

  • Espressioni Cron per la pianificazione richiesta. Ad esempio, l'espressione cron(0 9 ? * MON-FRI *) esegue l'attività alle 09:00 ogni lunedì, martedì, mercoledì, giovedì e venerdì. Per ulteriori informazioni, consulta Cron and rate expressions for maintenance nella documentazione di Systems Manager.

  • Familiarità con Systems Manager.

  • Autorizzazioni per avviare e arrestare l'RDSistanza. Per ulteriori informazioni, consulta la sezione Epics.

Limitazioni

  • Un'istanza Amazon RDS DB può essere interrotta per un massimo di sette giorni alla volta. Dopo sette giorni, l'istanza DB si riavvia automaticamente per garantire che riceva gli aggiornamenti di manutenzione necessari.

  • Non è possibile interrompere un'istanza DB che è una replica di lettura o che ha una replica di lettura.

  • Non puoi fermare un'istanza Amazon RDS for SQL Server DB in una configurazione Multi-AZ.

  • Le quote di servizio si applicano a Maintenance Windows e Systems Manager Automation. Per ulteriori informazioni sulle quote di servizio, consulta AWS Systems Manager endpoint e quote nella documentazione. Riferimenti generali di AWS  

  • Alcune Servizi AWS non sono disponibili in tutte. Regioni AWS Per la disponibilità per regione, vedi Servizi AWS per regione. Per endpoint specifici, consulta la pagina Endpoint e quote del servizio e scegli il link relativo al servizio.

Architettura

Il diagramma seguente mostra il flusso di lavoro per arrestare e avviare automaticamente un'istanza Amazon RDS DB.

Flusso di lavoro per arrestare e avviare automaticamente un'istanza Amazon RDS DB

Il flusso di lavoro prevede i seguenti passaggi:

1. Crea una finestra di manutenzione e usa le espressioni cron per definire la pianificazione di arresto e avvio per le tue istanze Amazon RDS DB.

2. Registrare un'attività di Systems Manager Automation nella finestra di manutenzione utilizzando il AWS-StartRdsInstance runbook AWS-StopRdsInstance or.

3. Registra una destinazione nella finestra di manutenzione utilizzando un gruppo di risorse basato su tag per le tue istanze Amazon RDS DB.

Stack tecnologico

  • AWS CloudFormation

  • AWS Identity and Access Management (IAM)

  • Amazon RDS

  • Systems Manager

Automazione e scalabilità

Puoi interrompere e avviare più istanze Amazon RDS DB contemporaneamente etichettando le istanze Amazon RDS DB richieste, creando un gruppo di risorse che include tutte le istanze DB con tag e registrando questo gruppo di risorse come destinazione per la finestra di manutenzione.

Strumenti

  • AWS CloudFormationè un servizio che ti aiuta a modellare e configurare le tue risorse. AWS

  • AWS Identity and Access Management (IAM) è un servizio web che consente di controllare in modo sicuro l'accesso alle AWS risorse.

  • Amazon Relational Database Service (RDSAmazon) è un servizio Web che semplifica la configurazione, il funzionamento e la scalabilità di un database relazionale in. Cloud AWS

  • AWS Resource Groupsti aiuta a organizzare AWS le risorse in gruppi, etichettare le risorse e gestire, monitorare e automatizzare le attività su risorse raggruppate.

  • AWS Systems Managerè uno Servizio AWS strumento che puoi usare per visualizzare e controllare la tua infrastruttura. AWS Questo modello utilizza le seguenti funzionalità di Systems Manager:

Epiche

AttivitàDescrizioneCompetenze richieste

Configurare il ruolo IAM di servizio per Systems Manager Automation.

Accedere a AWS Management Console e creare un ruolo di servizio per Systems Manager Automation. È possibile utilizzare uno dei due metodi seguenti per creare questo ruolo di servizio:

Il flusso di lavoro Systems Manager Automation richiama Amazon RDS utilizzando un ruolo di servizio per eseguire azioni di avvio e arresto sull'istanza Amazon RDS DB.

Il ruolo di servizio deve essere configurato con la seguente policy in linea che dispone delle autorizzazioni per avviare e arrestare l'istanza Amazon RDS DB:

{ "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": "*" } ] }

Assicurati di sostituirla <RDS_Instance_ARN> con l'Amazon Resource Name (ARN) della tua istanza Amazon RDS DB.

Se non hai dimestichezza con l'utilizzo IAM di policy e ruoli, segui le istruzioni nella sezione Panoramica della soluzione del post di AWS Systems Manager blog Schedule Amazon RDS stop and start use.

Importante: assicurati di registrare il ruolo ARN di servizio.

AWSamministratore
AttivitàDescrizioneCompetenze richieste

Etichetta le istanze Amazon RDS DB.

Apri la RDSconsole Amazon e tagga le istanze Amazon RDS DB che desideri aggiungere al gruppo di risorse. Un tag è un metadato assegnato a una AWS risorsa e consiste in una coppia chiave-valore. Ti consigliamo di utilizzare Action come chiave Tag e StartStopcome Valore.

Per ulteriori informazioni su questo argomento, consulta Aggiungere, pubblicare offerte e rimuovere tag nella RDS documentazione di Amazon.

AWSamministratore

Crea un gruppo di risorse per le tue istanze Amazon RDS DB con tag.

Apri la AWS Resource Groups console e crea un gruppo di risorse basato sul tag che hai creato per le tue istanze Amazon RDS DB.

In Criteri di raggruppamento, assicurati di scegliere AWS:::RDS: DBInstance per il tipo di risorsa, quindi fornisci la coppia chiave-valore del tag (ad esempio, «Action-»). StartStop Ciò garantisce che il servizio controlli solo le istanze Amazon RDS DB e non altre risorse con questo tag. Assicurati di registrare il nome del gruppo di risorse.

Per ulteriori informazioni e passaggi dettagliati, consulta Creare una query basata su tag e creare un gruppo nella AWS Resource Groups documentazione. 

AWSamministratore
AttivitàDescrizioneCompetenze richieste

Crea una finestra di manutenzione.

  1. Apri la console Systems Manager, scegli Maintenance Windows, quindi scegli Crea una finestra di manutenzione. Fornisci un nome per la finestra di manutenzione (ad esempio, "StopRdsInstance«), inserisci una descrizione, quindi deseleziona Consenti destinazioni non registrate.

  2. Scegli CRON/Rate expression e fornisci l'espressione di pianificazione per definire quando le istanze Amazon RDS DB devono essere interrotte. Inserisci 1 per la Durata e 0 per Interrompi l'avvio delle attività. Per impostazione predefinita, viene visualizzato UTC il fuso orario. È possibile modificare il fuso orario per avviare la finestra di manutenzione in base al timestamp definito nell'espressione cron.

  3. Scegliere Create maintenance window (Crea finestra di manutenzione). Il sistema riporta alla pagina della finestra di manutenzione e lo stato della finestra di manutenzione è Abilitato.

Importante: l'operazione di arresto dell'istanza DB viene eseguita quasi istantaneamente una volta avviata e non copre l'intera durata della finestra di manutenzione. Questo modello fornisce i valori minimi per Duration e Stop all'avvio delle attività, poiché sono i parametri richiesti per una finestra di manutenzione.

Per ulteriori informazioni e passaggi dettagliati, vedere Creare una finestra di manutenzione (console) nella documentazione di Systems Manager.

AWSamministratore

Assegna un obiettivo alla finestra di manutenzione.

  1. Nella console Systems Manager, scegli Finestre di manutenzione, scegli Azioni, quindi scegli Registra obiettivi.

  2. Nell'area Obiettivi, specifica Scegli un gruppo di risorse, quindi scegli il nome di un gruppo di risorse esistente nel tuo account.

  3. Per i tipi di risorse, scegli AWS:RDS:: DBInstance e quindi scegli Registra obiettivo.

Per ulteriori informazioni e passaggi dettagliati, vedere Assegnare obiettivi a una finestra di manutenzione (console) nella documentazione di Systems Manager.

AWSamministratore

Assegna un'attività alla finestra di manutenzione.

  1. Nella console Systems Manager, scegli Maintenance Windows, quindi scegli la finestra di manutenzione. Scegli Azioni, quindi scegli Registra attività di automazione.

  2. Per Documento, scegliete AWS- StopRdsInstance.

  3. Nella sezione Target, scegli Selezione dei gruppi target registrati, quindi scegli l'oggetto della finestra di manutenzione che hai registrato nella finestra di manutenzione corrente.

  4. Per il controllo della frequenza, specificate il 100% per la soglia di concorrenza ed errore. È possibile modificare i valori di controllo della frequenza in base ai requisiti di concorrenza delle attività e alla soglia di errore. Per ulteriori informazioni su questo argomento, vedere Informazioni sulla concorrenza e sulle soglie di errore nella documentazione di Systems Manager.

  5. Nella sezione ruolo IAM di servizio, per Ruolo di servizio, lascia vuota questa casella o crea il tuo ruolo personalizzato. Se si lascia la casella vuota, Systems Manager crea automaticamente il ruolo collegato al servizio AWSServiceRoleForAmazonSSMe quindi lo associa all'attività. Per creare un ruolo personalizzato, consulta Creare un ruolo di servizio personalizzato per le finestre di manutenzione (console), quindi associare quel ruolo personalizzato all'attività.

  6. Nella sezione Parametri di input, specifica i seguenti parametri per il runbook:

    • InstanceId: {{RESOURCE_ID}}

      Nota: infatti InstanceId, viene utilizzato uno pseudo parametro per estrarre l'ID di risorsa Amazon RDS DB da. ARN Per ulteriori informazioni sugli pseudo parametri, vedere Informazioni sugli pseudo parametri nella documentazione di Systems Manager.

    • AutomationAssumeRole: Fornisci il ruolo ARN di servizio che hai creato per Systems Manager Automation.

  7. Scegli l'attività Registra automazione.

Importante: l'opzione Ruolo di servizio definisce il ruolo di servizio richiesto per la finestra di manutenzione per eseguire le attività. Tuttavia, questo ruolo non è identico al ruolo di servizio creato in precedenza per Systems Manager Automation.

Per ulteriori informazioni e passaggi dettagliati, vedere Assegnare attività a una finestra di manutenzione (console) nella documentazione di Systems Manager.

AWSamministratore
AttivitàDescrizioneCompetenze richieste

Configura una finestra di manutenzione per avviare le istanze Amazon RDS DB.

Ripeti i passaggi dalla finestra Configura una manutenzione per interrompere le istanze Amazon RDS DB epic per configurare un'altra finestra di manutenzione per avviare le istanze Amazon RDS DB a un orario pianificato.

Importante: è necessario apportare le seguenti modifiche quando si configura la finestra di manutenzione per avviare le istanze DB:

  • Usa un nuovo nome per la finestra di manutenzione (ad esempio, "StartRdsInstance«).

  • Sostituisci l'espressione cron con l'espressione cron che desideri utilizzare per avviare le istanze DB.

  • Sostituisci il AWS-StopRdsInstance runbook con in Task. AWS-StartRdsInstance

AWSamministratore

Risorse correlate