CodeDeploy componenti primari - AWS CodeDeploy

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à.

CodeDeploy componenti primari

Prima di iniziare a utilizzare il servizio, è necessario acquisire familiarità con i componenti principali del processo di distribuzione. CodeDeploy

Applicazione

Un'applicazione è un nome che identifica in modo univoco l'applicazione che desideri distribuire. CodeDeploy utilizza questo nome, che funge da contenitore, per garantire che durante una distribuzione venga fatto riferimento alla combinazione corretta di revisione, configurazione di distribuzione e gruppo di distribuzione.

Compute platform (Piattaforma di calcolo)

Una piattaforma di elaborazione è una piattaforma su cui CodeDeploy distribuisce un'applicazione. Esistono tre piattaforme di elaborazione:

  • EC2/On-Premises: descrive le istanze di server fisici che possono essere istanze EC2 cloud Amazon, server locali o entrambi. Le applicazioni create utilizzando la piattaforma di calcolo EC2 /On-Premises possono essere composte da file eseguibili, file di configurazione, immagini e altro.

    Le distribuzioni che utilizzano la piattaforma di calcolo EC2 /On-Premises gestiscono il modo in cui il traffico viene indirizzato alle istanze utilizzando un tipo di distribuzione locale o blu/verde. Per ulteriori informazioni, consulta Panoramica dei tipi di implementazione CodeDeploy .

  • AWS Lambda: utilizzato per distribuire applicazioni costituite da una versione aggiornata di una funzione Lambda. AWS Lambda gestisce la funzione Lambda in un ambiente di calcolo serverless costituito da una struttura di calcolo ad alta disponibilità. Tutta l'amministrazione delle risorse di calcolo viene eseguita da. AWS Lambda Per ulteriori informazioni, vedere Serverless Computing and Applications. Per ulteriori informazioni sulle AWS Lambda funzioni Lambda, vedere. AWS Lambda

    Puoi gestire il modo in cui il traffico viene spostato verso le versioni aggiornate della funzione Lambda durante un'implementazione scegliendo una configurazione canary, lineare o. all-at-once

  • Amazon ECS: utilizzato per distribuire un'applicazione ECS containerizzata Amazon come set di attività. CodeDeploy esegue una distribuzione blu/verde installando una versione aggiornata dell'applicazione come nuovo set di attività sostitutivo. CodeDeploy reindirizza il traffico di produzione dal set di attività dell'applicazione originale al set di attività sostitutivo. Il set di attività originale viene terminato una volta completata la distribuzione. Per ulteriori informazioni su AmazonECS, consulta Amazon Elastic Container Service.

    Puoi gestire il modo in cui il traffico viene spostato verso il set di attività aggiornato durante una distribuzione scegliendo una configurazione canaria, lineare o all-at-once .

Nota

Le implementazioni Amazon ECS blue/green sono supportate da entrambi e. CodeDeploy AWS CloudFormation I dettagli relativi a queste distribuzioni sono descritti nelle sezioni successive.

Configurazione dell'implementazione

Una configurazione di distribuzione è un insieme di regole di distribuzione e condizioni di successo e fallimento della distribuzione utilizzate CodeDeploy durante una distribuzione. Se la distribuzione utilizza la piattaforma di calcolo EC2 /On-Premises, è possibile specificare il numero minimo di istanze integre per la distribuzione. Se la tua distribuzione utilizza la piattaforma di calcolo Amazon AWS Lambda o la piattaforma di ECS calcolo Amazon, puoi specificare in che modo il traffico viene indirizzato alla funzione o al set di attività Lambda aggiornato. ECS

Per ulteriori informazioni su come specificare il numero minimo di host integri per una distribuzione che utilizza la piattaforma di calcolo EC2 /On-Premises, consulta. Informazioni sul numero minimo di istanze integre

Le seguenti configurazioni di distribuzione specificano come viene instradato il traffico durante una distribuzione che utilizza Lambda o la piattaforma di calcolo: ECS

  • Canary: il traffico viene trasferito in due incrementi. Puoi scegliere tra opzioni canarie predefinite che specificano la percentuale di traffico spostato verso la funzione o l'ECSattività Lambda aggiornata impostata nel primo incremento e l'intervallo, in minuti, prima che il traffico rimanente venga spostato nel secondo incremento.

  • Lineare: il traffico viene trasferito in incrementi uguali con lo stesso intervallo di tempo, in minuti, tra ciascun incremento. Puoi scegliere tra opzioni lineari predefinite che specificano la percentuale del traffico trasferito in ogni incremento e l'intervallo di tempo, in minuti, tra ciascun incremento.

  • Rll-at-once: Tutto il traffico viene spostato contemporaneamente dalla funzione ECS o dal set di attività Lambda originale alla funzione o al set di attività aggiornato.

Gruppo di distribuzione

Un gruppo di distribuzione è un insieme di singole istanze. Un gruppo di distribuzione contiene istanze con tag individuali, EC2 istanze Amazon in gruppi Amazon EC2 Auto Scaling o entrambi. Per informazioni sui tag delle EC2 istanze Amazon, consulta Working with Tags Using the Console. Per informazioni sulle istanze locali, consulta Working with On-Premises Instances. Per informazioni su Amazon EC2 Auto Scaling, consulta. Integrazione CodeDeploy con Amazon EC2 Auto Scaling

Il tipo di distribuzione

Un tipo di distribuzione è un metodo utilizzato per rendere disponibile la revisione più recente dell'applicazione sulle istanze di un gruppo di distribuzione. Esistono due tipi di distribuzione:

  • Distribuzione sul posto: l'applicazione su ogni istanza del gruppo di distribuzione viene interrotta, viene installata la revisione più recente dell'applicazione e la nuova versione dell'applicazione viene avviata e convalidata. È possibile utilizzare un sistema di bilanciamento del carico in modo che ogni istanza venga annullata durante la distribuzione e quindi ripristinata in servizio al termine della distribuzione. Solo le distribuzioni che utilizzano la piattaforma di calcolo EC2 /On-Premises possono utilizzare le distribuzioni sul posto. Per ulteriori informazioni sulle distribuzioni sul posto, vedere. Panoramica di una distribuzione sul posto

  • Implementazione blu/verde: il comportamento della distribuzione dipende dalla piattaforma di elaborazione utilizzata:

    • Blu/verde su una piattaforma di calcolo EC2 /On-Premises: le istanze in un gruppo di distribuzione (l'ambiente originale) vengono sostituite da un diverso set di istanze (l'ambiente sostitutivo) utilizzando questi passaggi:

      • Le istanze vengono fornite per l'ambiente sostitutivo.

      • La revisione più recente dell'applicazione viene installata sulle istanze sostitutive.

      • Si verifica un tempo di attesa opzionale per attività come il test delle applicazioni e la verifica del sistema.

      • Le istanze nell'ambiente sostitutivo vengono registrate con uno o più sistemi di bilanciamento del carico Elastic Load Balancing, causando il reindirizzamento del traffico verso di essi. Le istanze nell'ambiente originale vengono cancellate e possono essere terminate o mantenute in esecuzione per altri usi.

      Nota

      Se utilizzi una piattaforma di calcolo EC2 /On-Premises, tieni presente che le distribuzioni blu/green funzionano solo con le istanze Amazon. EC2

    • Blu/verde su una piattaforma di ECS elaborazione o AWS Lambda Amazon: il traffico viene spostato in incrementi in base a una configurazione canaria, lineare o di distribuzione. all-at-once

    • Implementazioni blu/verdi tramite AWS CloudFormation: Il traffico viene spostato dalle risorse correnti alle risorse aggiornate come parte di un aggiornamento dello stack. AWS CloudFormation Attualmente sono supportate solo le implementazioni blu/verdi. ECS

    Per ulteriori informazioni sulle implementazioni blu/verde, consulta Panoramica di una distribuzione blu/verde.

Nota

Le distribuzioni Amazon ECS blue/green sono supportate utilizzando entrambi e. CodeDeploy AWS CloudFormation I dettagli relativi a queste distribuzioni sono descritti nelle sezioni successive.

Profilo dell'istanza IAM

Un profilo di IAM istanza è un IAM ruolo che attribuisci alle tue EC2 istanze Amazon. Questo profilo include le autorizzazioni necessarie per accedere ai bucket GitHub o ai repository Amazon S3 in cui sono archiviate le applicazioni. Per ulteriori informazioni, consulta Fase 4: crea un profilo di istanza IAM per le tue istanze Amazon EC2.

Revision

Una revisione è una versione dell'applicazione. Una revisione della distribuzione AWS Lambda è un YAML file (o JSON formattato) che specifica le informazioni sulla funzione Lambda da distribuire. Una revisione della distribuzione EC2 /On-Premises è un file di archivio che contiene il contenuto di origine (codice sorgente, pagine Web, file eseguibili e script di distribuzione) e un file di specifiche dell'applicazione (file). AppSpec AWS Le revisioni Lambda possono essere archiviate in bucket Amazon S3. EC2/Le revisioni locali vengono archiviate in bucket o repository Amazon S3. GitHub Per Amazon S3, una revisione è identificata in modo univoco dalla relativa chiave oggetto Amazon S3 e dalla sua ETag versione o da entrambe. Infatti GitHub, una revisione è identificata in modo univoco dal relativo ID di commit.

Ruolo del servizio

Un ruolo di servizio è un IAM ruolo che concede autorizzazioni a un AWS servizio in modo che possa accedere alle AWS risorse. Le politiche associate al ruolo di servizio determinano a quali AWS risorse il servizio può accedere e le azioni che può eseguire con tali risorse. Infatti CodeDeploy, un ruolo di servizio viene utilizzato per quanto segue:

  • Per leggere i tag applicati alle istanze o i nomi dei gruppi Amazon EC2 Auto Scaling associati alle istanze. Ciò consente di CodeDeploy identificare le istanze in cui può distribuire applicazioni.

  • Per eseguire operazioni su istanze, gruppi Amazon EC2 Auto Scaling e sistemi di bilanciamento del carico Elastic Load Balancing.

  • Pubblicare informazioni su SNS argomenti di Amazon in modo che le notifiche possano essere inviate quando si verificano determinati eventi di distribuzione o istanza.

  • Per recuperare informazioni sugli CloudWatch allarmi per configurare il monitoraggio degli allarmi per le distribuzioni.

Per ulteriori informazioni, consulta Fase 2: Creare un ruolo di servizio per CodeDeploy.

Revisione dell'obiettivo

Una revisione target è la versione più recente della revisione dell'applicazione che hai caricato nel tuo repository e che desideri distribuire alle istanze di un gruppo di distribuzione. In altre parole, la revisione dell'applicazione attualmente destinata alla distribuzione. che è anche la revisione che viene utilizzata per le distribuzioni automatiche.

Altri componenti

Per informazioni sugli altri componenti del CodeDeploy flusso di lavoro, consulta i seguenti argomenti: