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à.
Riferimento all'azione Amazon EC2
Utilizzi un'EC2azione Amazon EC2 per distribuire il codice dell'applicazione nel tuo parco di distribuzione. Il tuo parco di distribuzione può essere costituito da istanze Amazon EC2 Linux o nodi Linux. SSM-managed Sulle istanze deve essere installato l'agente SSM.
Nota
Questa azione supporta solo i tipi di istanze Linux. La dimensione massima del parco istanze supportata è di 500 istanze.
L'azione sceglierà un numero di istanze in base a un numero massimo specificato. Le istanze fallite delle istanze precedenti verranno scelte per prime. L'azione salterà la distribuzione su determinate istanze se l'istanza ha già ricevuto la distribuzione dello stesso artefatto di input, ad esempio nel caso in cui l'azione non fosse riuscita in precedenza.
Nota
Questa azione è supportata solo per le pipeline di tipo V2.
Tipo di operazione
-
Categoria:
Deploy -
Proprietario:
AWS -
Provider:
EC2 -
Versione:
1
Parametri di configurazione
- InstanceTagKey
-
Obbligatorio: sì
La chiave tag delle istanze create in Amazon EC2, ad esempio.
Name - InstanceTagValue
-
Obbligatorio: no
Il valore del tag delle istanze che hai creato in Amazon EC2, ad esempio.
my-instancesQuando questo valore non è specificato, tutte le istanze con InstanceTagKey verranno abbinate.
- InstanceType
-
Obbligatorio: sì
Il tipo di istanze o nodi SSM creati in Amazon EC2. I valori validi sono
EC2eSSM_MANAGED_NODE.Devi aver già creato, etichettato e installato l'agente SSM su tutte le istanze.
Nota
Quando si crea l'istanza, si crea o si utilizza un ruolo di istanza EC2 esistente. Per evitare
Access Deniederrori, è necessario aggiungere le autorizzazioni del bucket S3 al ruolo dell'istanza per assegnare le autorizzazioni di istanza al bucket artefatto. CodePipeline Crea un ruolo predefinito o aggiorna il ruolo esistente con l'ambito delles3:GetObjectautorizzazioni limitato al bucket degli artifact per la regione della pipeline. - TargetDirectory
-
Obbligatorio: Sì (se è specificato lo script)
La directory da utilizzare sulla tua istanza Amazon EC2 per eseguire gli script.
- DeploySpec
-
Richiesto: Sì (se è specificata la specifica di distribuzione)
Il file da utilizzare per configurare gli eventi di distribuzione, installazione e ciclo di vita. Per le descrizioni e le informazioni sui campi delle specifiche di distribuzione, vedere. Riferimento al file delle specifiche di Deploy Per visualizzare una configurazione di azione con il file delle specifiche di distribuzione specificato, vedere l'esempio in. Dichiarazione di azione con esempio di specifica Deploy
- MaxBatch
-
Obbligatorio: no
Il numero massimo di istanze consentite per la distribuzione in parallelo.
- MaxError
-
Obbligatorio: no
Il numero massimo di errori di istanza consentito durante la distribuzione.
- TargetGroupNameList
-
Obbligatorio: no
L'elenco dei nomi dei gruppi target per la distribuzione. È necessario aver già creato i gruppi target.
I gruppi target forniscono una serie di istanze per elaborare richieste specifiche. Se viene specificato il gruppo di destinazione, le istanze verranno rimosse dal gruppo di destinazione prima della distribuzione e aggiunte nuovamente al gruppo di destinazione dopo la distribuzione.
- PreScript
-
Obbligatorio: no
Lo script da eseguire prima della fase di distribuzione dell'azione.
- PostScript
-
Obbligatorio: sì
Lo script da eseguire dopo la fase dell'azione Deploy.
L'immagine seguente mostra un esempio della pagina Modifica per l'azione in cui si sceglie Usa le configurazioni delle azioni.
L'immagine seguente mostra un esempio della pagina Modifica per l'azione in cui è selezionato Usa un file. DeploySpec
Input artifact (Artefatti di input)
-
Numero di artefatti:
1 -
Descrizione: i file forniti, se presenti, per supportare le azioni dello script durante la distribuzione.
Artefatti di output
-
Numero di artefatti:
0 -
Descrizione: gli artefatti di output non si applicano a questo tipo di azione.
Ruolo del servizio, policy e autorizzazioni per l'azione di distribuzione EC2
Quando CodePipeline esegue l'azione, il ruolo CodePipeline di servizio richiede le seguenti autorizzazioni, opportunamente limitate per l'accesso con i privilegi minimi.
Registra i gruppi per la tua pipeline nei log CloudWatch
Quando CodePipeline esegue l'azione, CodePipeline crea un gruppo di log utilizzando il nome della pipeline come segue. Ciò consente di limitare le autorizzazioni per registrare le risorse utilizzando il nome della pipeline.
/aws/codepipeline/MyPipelineName
Le seguenti autorizzazioni per la registrazione sono incluse negli aggiornamenti precedenti per il ruolo del servizio.
-
registri: CreateLogGroup
-
registri: CreateLogStream
-
registri: PutLogEvents
Per visualizzare i log nella console utilizzando la pagina di dialogo dei dettagli dell'azione, è necessario aggiungere l'autorizzazione per visualizzare i registri al ruolo della console. Per ulteriori informazioni, consulta l'esempio della politica delle autorizzazioni della console inAutorizzazioni necessarie per visualizzare i log di calcolo nella console.
Autorizzazioni relative ai criteri relativi ai ruoli di servizio per i log CloudWatch
Quando CodePipeline esegue l'azione, CodePipeline crea un gruppo di log utilizzando il nome della pipeline come segue. Ciò consente di limitare le autorizzazioni per registrare le risorse utilizzando il nome della pipeline.
/aws/codepipeline/MyPipelineName
Per visualizzare i log nella console utilizzando la pagina di dialogo dei dettagli dell'azione, è necessario aggiungere l'autorizzazione per visualizzare i log al ruolo della console. Per ulteriori informazioni, consulta l'esempio della politica delle autorizzazioni della console inAutorizzazioni necessarie per visualizzare i log di calcolo nella console.
Riferimento al file delle specifiche di Deploy
Quando CodePipeline viene eseguita l'azione, puoi specificare un file di specifiche per configurare la distribuzione nelle tue istanze. Il file delle specifiche di distribuzione specifica cosa installare e quali hook di eventi del ciclo di vita eseguire in risposta agli eventi del ciclo di vita della distribuzione. Il file delle specifiche di distribuzione è YAML-formatted sempre. Il file delle specifiche di distribuzione viene utilizzato per:
-
Mappare i file sorgente nella revisione dell'applicazione nelle loro destinazioni sull'istanza.
-
Specificare autorizzazioni personalizzate per i file distribuiti.
-
Specificare script da eseguire su ciascuna istanza in diverse fasi del processo di distribuzione.
Il file delle specifiche di distribuzione supporta parametri di configurazione di distribuzione specifici supportati dal file. CodeDeploy AppSpec È possibile utilizzare direttamente il AppSpec file esistente e tutti i parametri non supportati verranno ignorati. Per ulteriori informazioni sul AppSpec file in formato CodeDeploy, consultate il riferimento al file delle specifiche dell'applicazione nella Guida per l'CodeDeployutente.
I parametri di distribuzione del file sono specificati come segue.
-
files- Il file delle specifiche di distribuzione indica lasource:edestination:per i file di distribuzione. -
scripts- Gli eventi scritti tramite script per la distribuzione. Sono supportati due eventi:BeforeDeploye.AfterDeploy -
hooks- Il ciclo di vita è legato all'evento. Sono supportati i seguenti hook:ApplicationStop,,BeforeInstall,AfterInstalle.ApplicationStartValidateServiceNota
Il parametro hooks è disponibile per AppSpec compatibilità con CodeDeploy ed è disponibile solo nella versione 0.0 (AppSpec formato). Per questo formato, CodePipeline eseguirà una mappatura ottimale degli eventi.
È necessario utilizzare la spaziatura YAML corretta nel file delle specifiche; in caso contrario, viene generato un errore se le posizioni e il numero di spazi in un file delle specifiche di distribuzione non sono corretti. Per ulteriori informazioni sulla spaziatura, consulta la specifica YAML
Di seguito è riportato un esempio di file di specifiche di distribuzione.
version: 0.1 files: - source: /index.html destination: /var/www/html/ scripts: BeforeDeploy: - location: scripts/install_dependencies timeout: 300 runas: myuser AfterDeploy: - location: scripts/start_server timeout: 300 runas: myuser
Per visualizzare una configurazione di azione con il file delle specifiche di distribuzione specificato, vedere l'esempio in. Dichiarazione di azione con esempio di specifica Deploy
Dichiarazione dell'operazione
Dichiarazione di azione con esempio di specifica Deploy
Consulta anche
Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
-
Tutorial: distribuzione su istanze Amazon EC2 con CodePipeline— Questo tutorial illustra la creazione di istanze EC2 in cui verrà distribuito un file di script, insieme alla creazione della pipeline utilizzando l'azione EC2.
-
L'azione di distribuzione EC2 ha esito negativo e viene visualizzato il messaggio di errore No such file — Questo argomento descrive la risoluzione degli errori relativi ai file non trovati con l'azione EC2.