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à.
Tutorial: creare una pipeline con azioni AWS CloudFormation StackSets di distribuzione
In questo tutorial, utilizzi la AWS CodePipeline console per creare una pipeline con azioni di distribuzione per la creazione di uno stack set e la creazione di istanze di stack. Quando la pipeline viene eseguita, il modello crea uno stack set e inoltre crea e aggiorna le istanze in cui viene distribuito lo stack set.
Importante
Come parte della creazione di una pipeline, per gli artefatti verrà utilizzato un bucket di artefatti S3 fornito dal cliente. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3.) Se il bucket di artefatti S3 si trova in un account diverso da quello della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di utenti sicuri e affidabili. Account AWS
Esistono due modi per gestire le autorizzazioni per uno stack set: ruoli autogestiti e ruoli gestiti. AWS IAM Questo tutorial fornisce esempi di autorizzazioni autogestite.
Per utilizzare nel modo più efficace gli Stacksets in CodePipeline, è necessario avere una chiara comprensione dei concetti alla base AWS CloudFormation StackSets e del loro funzionamento. Consulta StackSets i concetti nella Guida per l'AWS CloudFormation utente.
Argomenti
- Prerequisiti
- Fase 1: Caricare il AWS CloudFormation modello di esempio e il file dei parametri
- Fase 2: creazione della pipeline
- Fase 3: Visualizza la distribuzione iniziale
- Fase 4: Aggiungere un' CloudFormationStackInstancesazione
- Fase 5: Visualizza le risorse dello stack set per la distribuzione
- Passaggio 6: Effettua un aggiornamento al tuo set di stack
Prerequisiti
Per le operazioni di stack set, si utilizzano due account diversi: un account di amministrazione e un account di destinazione. I set di stack vengono creati nell'account amministratore. Crei singoli stack che appartengono a uno stack impostato nell'account di destinazione.
Per creare un ruolo di amministratore con il tuo account amministratore
-
Segui le istruzioni riportate in Configurare le autorizzazioni di base per le operazioni relative allo stack set. Il tuo ruolo deve avere un nome.
AWSCloudFormationStackSetAdministrationRole
Per creare un ruolo di servizio nell'account di destinazione
-
Crea un ruolo di servizio nell'account di destinazione che consideri affidabile l'account amministratore. Segui le istruzioni in Configurare le autorizzazioni di base per le operazioni di stack set. Il tuo ruolo deve avere un nome.
AWSCloudFormationStackSetExecutionRole
Fase 1: Caricare il AWS CloudFormation modello di esempio e il file dei parametri
Crea un bucket sorgente per il modello e i file dei parametri del set di stack. Scarica il file AWS CloudFormation modello di esempio, configura un file di parametri, quindi comprimi i file prima di caricarli nel bucket di origine S3.
Nota
Assicurati di avere ZIP i file sorgente prima di caricarli nel tuo bucket di origine S3, anche se l'unico file sorgente è il modello.
Per creare un bucket sorgente S3
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Seleziona Crea bucket.
-
In Nome bucket, inserisci un nome del bucket.
In Regione, scegli la regione in cui desideri creare la tua pipeline. Seleziona Crea bucket.
-
Dopo aver creato il bucket, viene visualizzato un banner di successo. Scegliere Go to bucket details (Vai ai dettagli del bucket).
-
Nella scheda Properties (Proprietà) scegliere Versioning (Funzione Versioni multiple). Scegliere Enable versioning (Abilita funzione Versioni multiple), quindi scegliere Save (Salva).
Per creare il file AWS CloudFormation modello
-
Scarica il seguente file modello di esempio per generare la CloudTrail configurazione per i set di stack:https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml
. -
Salva il file con nome
template.yml
.
Per creare il file parameters.txt
-
Crea un file con i parametri per la tua distribuzione. I parametri sono valori che desideri aggiornare nello stack in fase di esecuzione. Il seguente file di esempio aggiorna i parametri del modello per il set di stack per abilitare la convalida della registrazione e gli eventi globali.
[ { "ParameterKey": "EnableLogFileValidation", "ParameterValue": "true" }, { "ParameterKey": "IncludeGlobalEvents", "ParameterValue": "true" } ]
-
Salva il file con nome
parameters.txt
.
Per creare il file accounts.txt
-
Create un file con gli account in cui desiderate creare le istanze, come illustrato nel seguente file di esempio.
[ "111111222222","333333444444" ]
-
Salva il file con nome
accounts.txt
.
Per creare e caricare file sorgente
-
Combina i file in un unico ZIP file. I tuoi file dovrebbero avere questo aspetto nel tuo ZIP file.
template.yml parameters.txt accounts.txt
-
Carica il ZIP file nel tuo bucket S3. Questo file è l'elemento sorgente creato dalla procedura guidata Create Pipeline per l'azione di distribuzione in. CodePipeline
Fase 2: creazione della pipeline
In questa sezione, andrai a creare una pipeline con le operazioni seguenti:
-
Una fase di origine con un'azione sorgente S3 in cui l'artefatto di origine è il file modello e tutti i file sorgente di supporto.
-
Una fase di distribuzione con un'azione di distribuzione AWS CloudFormation dello stack set che crea lo stack set.
-
Una fase di distribuzione con un'azione di distribuzione di istanze in AWS CloudFormation stack che crea gli stack e le istanze all'interno degli account di destinazione.
Per creare una pipeline con un'azione CloudFormationStackSet
Accedi AWS Management Console e apri la CodePipeline console all'indirizzo http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Nella pagina Welcome (Benvenuto), pagina Getting started (Nozioni di base) o pagina Pipelines (Pipeline), scegli Create pipeline (Crea pipeline).
-
In Step 1: Choose pipeline settings (Fase 1: scelta delle impostazioni della pipeline), in Pipeline name (Nome pipeline), immettere
MyStackSetsPipeline
. -
Nel tipo di pipeline, scegli V1 ai fini di questo tutorial. Puoi anche scegliere V2; tuttavia, tieni presente che i tipi di tubazione differiscono per caratteristiche e prezzo. Per ulteriori informazioni, consulta Tipi di tubazioni.
-
In Ruolo di servizio, scegli Nuovo ruolo di servizio in cui consentire CodePipeline la creazione di un ruolo di servizio. IAM
-
Nel negozio Artifact, lascia le impostazioni predefinite.
Nota
Non si tratta del bucket di origine per il codice sorgente, ma dell'archivio artefatti per la pipeline. È richiesto un archivio artefatti separato, ad esempio un bucket S3, per ogni pipeline. Quando crei o modifichi una pipeline, devi avere un bucket di artefatti nella regione della pipeline e un bucket di artefatti per regione in cui stai eseguendo un'azione. AWS
Per ulteriori informazioni, consulta Artefatti di input e output e CodePipeline riferimento alla struttura della tubazione.
Scegli Next (Successivo).
-
Nella pagina Fase 2: aggiunta fase di origine in Source provider (Provider origine) scegliere Amazon S3.
-
In Bucket, inserisci il bucket di origine S3 che hai creato per questo tutorial, ad esempio.
BucketName
Nella chiave dell'oggetto S3, inserisci il percorso e il nome del file, ad esempioZIP.MyFiles.zip
-
Scegli Next (Successivo).
-
In Step 3: Add build stage (Fase 3: aggiunta della fase di compilazione), scegli Skip build stage (Ignora fase di compilazione) e quindi accetta il messaggio di avviso scegliendo Skip (Ignora).
Scegli Next (Successivo).
-
In Step 4: Add deploy stage (Fase 4: aggiunta della fase di distribuzione):
-
In Deploy provider, scegli AWS CloudFormation Stack Set.
-
In Stack set name, inserisci un nome per lo stack set. Questo è il nome dello stack set creato dal modello.
Nota
Prendi nota del nome del tuo set di stack. Lo utilizzerai quando aggiungerai la seconda azione di StackSets distribuzione alla tua pipeline.
-
In Percorso del modello, inserisci il nome dell'artefatto e il percorso del file in cui hai caricato il file modello. Ad esempio, immettete quanto segue utilizzando il nome dell'artefatto di origine predefinito.
SourceArtifact
SourceArtifact::template.yml
-
In Destinazioni di distribuzione, inserisci il nome dell'artefatto e il percorso del file in cui hai caricato il file degli account. Ad esempio, inserisci quanto segue utilizzando il nome dell'artefatto di origine predefinito.
SourceArtifact
SourceArtifact::accounts.txt
-
In Deployment target Regioni AWS, inserisci una regione per la distribuzione dell'istanza dello stack iniziale, ad esempio.
us-east-1
-
Espandi le opzioni di distribuzione. In Parametri, inserisci il nome dell'artefatto e il percorso del file in cui hai caricato il file dei parametri. Ad esempio, inserite quanto segue utilizzando il nome predefinito dell'artefatto di origine.
SourceArtifact
SourceArtifact::parameters.txt
Per inserire i parametri come input letterale anziché come percorso di file, immettete quanto segue:
ParameterKey=EnableLogFileValidation,ParameterValue=true ParameterKey=IncludeGlobalEvents,ParameterValue=true
-
In Capacità, scegliete CAPABILITY _ IAM e CAPABILITY _ NAMED _IAM.
-
Nel modello di autorizzazione, scegliete SELF _MANAGED.
-
In Percentuale di tolleranza ai guasti, immettete
20
. -
In Percentuale simultanea massima, immettere
25
. -
Scegli Next (Successivo).
-
Scegliere Create pipeline (Crea pipeline). Viene visualizzata la pipeline.
-
Consenti l'esecuzione della pipeline.
-
Fase 3: Visualizza la distribuzione iniziale
Visualizza le risorse e lo stato della distribuzione iniziale. Dopo aver verificato che la distribuzione abbia creato correttamente il set di stack, puoi aggiungere la seconda azione alla fase di distribuzione.
Per visualizzare le risorse
Apri la CodePipeline console all'indirizzo https://console.aws.amazon.com/codepipeline/
. -
In Pipelines (Pipeline), seleziona la pipeline e scegli View (Visualizza). Il diagramma mostra le fasi di distribuzione e di origine della pipeline.
-
Scegli l' AWS CloudFormation azione relativa all'CloudFormationStackSetazione nella tua pipeline. Il modello, le risorse e gli eventi per il tuo set di stack vengono visualizzati nella AWS CloudFormation console.
-
Nel pannello di navigazione a sinistra, scegli StackSets. Nell'elenco, scegli il nuovo set di stack.
-
Scegli la scheda Stack instances. Verifica che un'istanza stack per ogni account fornito sia stata creata nella regione us-east-1. Verifica che lo stato di ogni istanza dello stack sia.
CURRENT
Fase 4: Aggiungere un' CloudFormationStackInstancesazione
Crea un'azione successiva nella tua pipeline che AWS CloudFormation StackSets consenta di creare le restanti istanze dello stack.
Per creare un'azione successiva nella tua pipeline
-
Apri la CodePipeline console all'indirizzo https://console.aws.amazon.com/codepipeline/
. In Pipelines (Pipeline), seleziona la pipeline e scegli View (Visualizza). Il diagramma mostra le fasi di distribuzione e di origine della pipeline.
-
Scegli questa opzione per modificare la pipeline. La pipeline viene visualizzata in modalità Modifica.
-
Nella fase di distribuzione, scegliete Modifica.
-
Nell'azione AWS CloudFormation Stack Set deploy, scegli Aggiungi gruppo di azioni.
-
Nella pagina Modifica azione, aggiungi i dettagli dell'azione:
-
In Nome azione, inserisci un nome per l'azione.
-
Nel provider Action, scegli AWS CloudFormation Stack Instances.
-
In Input artefacts, scegli. SourceArtifact
-
In Stack set name, inserite il nome del set di stack. Questo è il nome dello stack set che hai fornito nella prima azione.
-
In Deployment targets, inserisci il nome dell'artefatto e il percorso del file in cui hai caricato il file degli account. Ad esempio, inserisci quanto segue utilizzando il nome dell'artefatto di origine predefinito.
SourceArtifact
SourceArtifact::accounts.txt
-
In Deployment target Regioni AWS, inserisci le regioni per la distribuzione delle istanze dello stack rimanenti, ad esempio e come
us-east-2
segue:eu-central-1
us-east2, eu-central-1
-
In Percentuale di tolleranza agli errori, inserisci.
20
-
In Percentuale simultanea massima, immettere
25
. -
Seleziona Salva.
-
.Rilasciare manualmente una modifica. La pipeline aggiornata viene visualizzata con due azioni nella fase di distribuzione.
-
Fase 5: Visualizza le risorse dello stack set per la distribuzione
È possibile visualizzare le risorse e lo stato della distribuzione dello stack set.
Per visualizzare le risorse
Apri la CodePipeline console all'indirizzo https://console.aws.amazon.com/codepipeline/
. -
In Pipelines, scegli la pipeline, quindi scegli Visualizza. Il diagramma mostra le fasi di distribuzione e di origine della pipeline.
-
Scegli l' AWS CloudFormation azione relativa all'
AWS CloudFormation Stack Instances
azione nella tua pipeline. Il modello, le risorse e gli eventi per il tuo set di stack vengono visualizzati nella AWS CloudFormation console. -
Nel pannello di navigazione a sinistra, scegli StackSets. Nell'elenco, scegli il tuo set di stack.
-
Scegli la scheda Stack instances. Verifica che tutte le istanze stack rimanenti per ogni account che hai fornito siano state create o aggiornate nelle regioni previste. Verifica che lo stato di ogni istanza dello stack sia.
CURRENT
Passaggio 6: Effettua un aggiornamento al tuo set di stack
Aggiorna il tuo set di stack e distribuisci l'aggiornamento alle istanze. In questo esempio, apporti anche una modifica agli obiettivi di distribuzione che desideri designare per l'aggiornamento. Le istanze che non fanno parte dell'aggiornamento passano a uno stato obsoleto.
Apri la CodePipeline console all'indirizzo. https://console.aws.amazon.com/codepipeline/
-
In Pipeline, scegli la tua pipeline, quindi scegli Modifica. Nella fase di distribuzione, scegli Modifica.
-
Scegli di modificare l'azione AWS CloudFormation Stack Set nella tua pipeline. In Descrizione, sovrascrivi la descrizione esistente con una nuova descrizione per lo stack set.
-
Scegli di modificare l'azione AWS CloudFormation Stack Instances nella tua pipeline. In Deployment target Regioni AWS, elimina il
us-east-2
valore che è stato inserito al momento della creazione dell'azione. -
Salvare le modifiche. Scegli Release change per eseguire la pipeline.
-
Apri la tua azione in AWS CloudFormation. Scegli la scheda StackSet Informazioni. Nella StackSet descrizione, verifica che sia mostrata la nuova descrizione.
-
Scegli la scheda Stack instances. In Status, verifica che lo stato delle istanze dello stack in us-east-2 sia.
OUTDATED