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à.
Centralizza la distribuzione dei pacchetti software nelle AWS Organizzazioni utilizzando Terraform
Creato da Pradip kumar Pandey (AWS), Aarti Rajput (), Chintamani Aphale (), T.V.R.L.Phani Kumar Dadi (AWS), Mayuri Shinde (AWS) e Pratap Kumar Nanda () AWS AWS AWS
Ambiente: produzione | Tecnologie: gestione e governance; infrastruttura | AWSservizi: AWS Organizations; AWS Systems Manager |
Riepilogo
Le aziende spesso Account AWS gestiscono più file distribuiti su più Regioni AWS file per creare una forte barriera di isolamento tra i carichi di lavoro. Per garantire la sicurezza e la conformità, i team di amministrazione installano strumenti basati su agenti come CrowdStrike
Distributor, una funzionalità di AWS Systems Manager, automatizza il processo di creazione di pacchetti e pubblicazione del software per le istanze Microsoft Windows e Linux gestite sul cloud e sui server locali tramite un'unica interfaccia semplificata. Questo modello dimostra come è possibile utilizzare Terraform per semplificare ulteriormente il processo di gestione dell'installazione del software e per eseguire script su un gran numero di istanze e account membri all'interno con il minimo sforzo. AWS Organizations
Questa soluzione funziona per le istanze Amazon, Linux e Windows gestite da Systems Manager.
Prerequisiti e limitazioni
Un pacchetto Distributor contenente il software da installare
Terraform
versione 0.15.0 o successiva Istanze Amazon Elastic Compute Cloud (AmazonEC2) gestite da Systems Manager e dotate di autorizzazioni di base per accedere ad Amazon Simple Storage Service (Amazon S3) nell'account di destinazione
Una landing zone per la tua organizzazione configurata utilizzando AWS Control Tower
(Opzionale) Account Factory per Terraform () AFT
Architettura
Dettagli delle risorse
Questo modello utilizza Account Factory for Terraform (AFT)
La personalizzazione globale contiene il codice Terraform che verrà eseguito su tutti gli account registrati con. AFT
Le personalizzazioni dell'account contengono il codice Terraform che verrà eseguito nell'account di distribuzione.
Puoi anche distribuire questa soluzione senza utilizzarlaAFT, eseguendo i comandi Terraform
Il codice Terraform distribuisce le seguenti risorse:
AWS Identity and Access Management (IAM) ruolo e politiche
SystemsManager- AutomationExecutionRole concede all'utente le autorizzazioni per eseguire automazioni negli account di destinazione.
SystemsManager- AutomationAdministrationRole concede all'utente le autorizzazioni per eseguire automazioni in più account e unità organizzative (). OUs
File compressi e manifest.json per il pacchetto
In Systems Manager, un pacchetto include almeno un file.zip di software o risorse installabili.
Il JSON manifesto include puntatori ai file di codice del pacchetto.
Bucket S3
Il pacchetto distribuito condiviso all'interno dell'organizzazione viene archiviato in modo sicuro in un bucket Amazon S3.
AWS Systems Manager documenti (documenti) SSM
DistributeSoftwarePackage
contiene la logica per distribuire il pacchetto software a ogni istanza di destinazione negli account dei membri.AddSoftwarePackageToDistributor
contiene la logica per impacchettare le risorse software installabili e aggiungerle a Automation, una funzionalità di AWS Systems Manager.
Associazione di Systems Manager
Per distribuire la soluzione viene utilizzata un'associazione Systems Manager.
Architettura e flusso di lavoro
Il diagramma illustra i passaggi seguenti:
Per eseguire la soluzione da un account centralizzato, devi caricare i pacchetti o il software insieme alle fasi di distribuzione in un bucket S3.
Il pacchetto personalizzato diventa disponibile nella sezione Documenti
della console Systems Manager, nella scheda Owned by me. State Manager, una funzionalità di Systems Manager, crea, pianifica ed esegue un'associazione per il pacchetto all'interno dell'organizzazione. L'associazione specifica che il pacchetto software deve essere installato ed eseguito su un nodo gestito prima di poter essere installato sul nodo di destinazione.
L'associazione ordina a Systems Manager di installare il pacchetto sul nodo di destinazione.
Per eventuali installazioni o modifiche successive, gli utenti possono eseguire la stessa associazione periodicamente o manualmente da un'unica posizione per eseguire distribuzioni su più account.
Negli account dei membri, Automation invia i comandi di distribuzione a Distributor.
Il distributore distribuisce pacchetti software tra le istanze.
Questa soluzione utilizza l'account di gestione interno AWS Organizations, ma è anche possibile designare un account (amministratore delegato) per gestirlo per conto dell'organizzazione.
Strumenti
AWSservizi
Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati. Questo modello utilizza Amazon S3 per centralizzare e archiviare in modo sicuro il pacchetto distribuito.
AWS Systems Managerti aiuta a gestire le applicazioni e l'infrastruttura in esecuzione in. Cloud AWS Semplifica la gestione delle applicazioni e delle risorse, riduce i tempi di rilevamento e risoluzione dei problemi operativi e aiuta a gestire le AWS risorse in modo sicuro su larga scala. Questo modello utilizza le seguenti funzionalità di Systems Manager:
Distributor consente di creare pacchetti e pubblicare software su istanze gestite da Systems Manager.
L'automazione semplifica le attività comuni di manutenzione, implementazione e riparazione per molti servizi. AWS
Documents esegue azioni sulle istanze gestite da Systems Manager all'interno dell'organizzazione e degli account.
AWS Organizationsè un servizio di gestione degli account che consente di consolidare più AWS account in un'organizzazione da creare e gestire centralmente.
Altri strumenti
Terraform
è uno strumento di infrastruttura come codice (IaC) HashiCorp che ti aiuta a creare e gestire risorse cloud e locali.
Archivio di codici
Le istruzioni e il codice per questo modello sono disponibili nell'archivio GitHub centralizzato per la distribuzione dei pacchetti
Best practice
Per assegnare tag a un'associazione, usa il AWS Command Line Interface (AWS CLI) o il. AWS Tools for PowerShell Aggiunta di tag a un'associazione utilizzando la console Systems Manager non è supportata. Per ulteriori informazioni, vedere Tagging Systems Manager alle risorse nella documentazione di Systems Manager.
Per eseguire un'associazione utilizzando una nuova versione di un documento condiviso da un altro account, imposta la versione del documento su.
default
Per etichettare solo il nodo di destinazione, usa una chiave tag. Se vuoi indirizzare i tuoi nodi utilizzando più chiavi di tag, usa l'opzione resource group.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Clonare il repository. |
| DevOps ingegnere |
Aggiorna le variabili globali. | Aggiorna i seguenti parametri di input nel
| DevOps ingegnere |
Aggiorna le variabili dell'account. | Aggiorna i seguenti parametri di input nel
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Aggiorna i parametri di input per l'associazione State Manager. | Aggiorna i seguenti parametri di input nel
| DevOps ingegnere |
Prepara i file compressi e il | Questo modello fornisce esempi di file PowerShell installabili (.msi per Windows e.rpm per Linux) con script di installazione e disinstallazione nella cartella.
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Inizializza la configurazione Terraform. | Per implementare automaticamente la soluzione conAFT, invia il codice a: AWS CodeCommit
Puoi anche distribuire questa soluzione senza utilizzarla AFT eseguendo un comando Terraform dalla cartella.
| DevOps ingegnere |
Visualizza in anteprima le modifiche. | Per visualizzare in anteprima le modifiche che Terraform apporterà all'infrastruttura, esegui il comando:
Questo comando valuta la configurazione di Terraform per determinare lo stato desiderato delle risorse che sono state dichiarate. Inoltre, confronta lo stato desiderato con l'infrastruttura effettiva da fornire all'interno dell'area di lavoro. | DevOps ingegnere |
Applica modifiche. | Eseguite il comando seguente per implementare le modifiche apportate ai
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Convalida la creazione di SSM documenti. |
Dovresti vedere i | DevOps ingegnere |
Convalida la corretta implementazione delle automazioni. |
| DevOps ingegnere |
Verifica che il pacchetto sia stato distribuito nelle istanze di account membro interessate. |
| DevOps ingegnere |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
L'associazione State Manager è fallita o è bloccata in sospeso. | Consulta le informazioni sulla risoluzione dei problemi |
Impossibile eseguire un'associazione pianificata. | Le specifiche della pianificazione potrebbero non essere valide. State Manager attualmente non supporta la specificazione dei mesi nelle espressioni cron per le associazioni. Usa le espressioni cron o rate per confermare la pianificazione. |
Risorse correlate
Distribuzione centralizzata dei pacchetti (repository
) GitHub Casi d'uso e best practice (AWS Systems Manager documentazione)