Architecture - Instance Scheduler su 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à.

Architecture

Questa sezione fornisce un diagramma dell'architettura di implementazione di riferimento, considerazioni sulla progettazione di AWS Well-Architected, componenti di sicurezza,configurazioni dello scheduler e i servizi AWS utilizzati in questa soluzione.

Diagramma architetturale

L'implementazione di questa soluzione distribuisce i seguenti componenti nel tuo account AWS.

Instance Scheduler sul cloud AWS

InstanceScheduler architettura
  1. Una Amazon EventBridge Rule attiva la funzione di orchestrazione Lambda a intervalli configurabili (impostazione predefinita: ogni 5 minuti).

  2. La EventBridge regola richiama una funzione di orchestrazione di AWS Lambda che interroga la tabella di configurazione DynamoDB per identificare gli obiettivi di pianificazione attivi. L'orchestrator richiama quindi le funzioni Lambda di schedulazione parallela per ogni destinazione attiva.

  3. Le definizioni e i periodi di pianificazione sono archiviati in una tabella di configurazione di Amazon DynamoDB. In questa tabella puoi definire un numero qualsiasi di pianificazioni e periodi per controllare l'avvio e l'interruzione delle istanze.

  4. Una tabella del registro di DynamoDB tiene traccia automaticamente di tutte le risorse gestite. Quando le risorse vengono etichettate per la pianificazione, vengono registrate in questa tabella in risposta agli eventi di tagging di AWS.

  5. Ogni funzione Lambda di pianificazione descrive le risorse contrassegnate, valuta le relative pianificazioni rispetto all'ora corrente ed esegue le azioni di avvio o arresto appropriate.

    1. Per le istanze EC2, se un'operazione di avvio fallisce a causa di una capacità insufficiente, la soluzione può essere configurata per tentare di ridimensionare l'istanza in tipi di istanze alternativi prima di ritentare l'operazione di avvio.

  6. La gestione della pianificazione è disponibile tramite la console DynamoDB, lo strumento di pianificazione CLI o le risorse AWS Custom. CloudFormation La soluzione viene implementata con diversi esempi di pianificazioni preconfigurate.

  7. Le implementazioni tra account utilizzano un'architettura hub-spoke in cui gli account spoke si registrano automaticamente con l'account hub. Gli stack Spoke devono essere distribuiti nella stessa regione dello stack di hub e devono essere approvati preventivamente dallo stack di hub o dai membri della stessa AWS Organization.

  8. La soluzione pubblica gli eventi di pianificazione e registrazione sugli EventBridge autobus nell'account hub (eventi globali) e sugli account spoke (eventi locali per regione).

Nota

Le CloudFormation risorse AWS vengono create da costrutti (AWS CDK).

Tutte le funzioni Lambda utilizzate da questa soluzione sfruttano AWS IAM per i requisiti di autorizzazione per le risorse e AWS KMS per la crittografia di Amazon Simple Notification Service (argomento Amazon SNS) e tabelle DynamoDB.

Ogni volta che la soluzione esegue un intervallo di pianificazione, verifica lo stato corrente di ogni istanza etichettata in modo appropriato rispetto allo stato di destinazione (definito da uno o più periodi in una pianificazione nel tag di istanza) nella pianificazione associata. L'intervallo di pianificazione applica quindi l'azione di avvio o arresto appropriata, se necessario.

Ad esempio, se la funzione Lambda viene richiamata un venerdì alle 9:00 (ET) e identifica un'istanza DB EC2 o RDS interrotta con un tag schedule=office-hours, controllerà Amazon DynamoDB per i dettagli di configurazione della pianificazione dell'orario di ufficio. Se la pianificazione degli orari di ufficio contiene un periodo che indica che l'istanza deve essere eseguita dal lunedì al venerdì dalle 9:00 ET alle 17:00 ET, la funzione Lambda avvierà l'istanza.

La funzione Lambda registra anche informazioni sulle tue risorse e le visualizza in un pannello di controllo Amazon CloudWatch Custom opzionale. Le informazioni registrate includono il numero di istanze contrassegnate per ogni pianificazione, le dimensioni di tali istanze e se tali istanze sono attualmente in esecuzione o interrotte. Per ulteriori informazioni su questa dashboard personalizzata, consulta la dashboard di Operational Insights.

Nota

L'arresto di un'istanza Amazon EC2 è diverso dal terminare un'istanza Amazon EC2. Per impostazione predefinita, le istanze Amazon EC2 sono configurate per arrestarsi, non per terminare, quando vengono chiuse, ma è possibile modificare questo comportamento. Prima di utilizzare questa soluzione, verifica che le istanze siano impostate per l'arresto o la chiusura in modo appropriato.