View a markdown version of this page

In che modo AWS Proton fornisce l'infrastruttura - AWS Proton

Avviso di fine del supporto: il 7 ottobre 2026, AWS terminerà il supporto per AWS Proton. Dopo il 7 ottobre 2026, non potrai più accedere alla AWS Proton console o AWS Proton alle risorse. L'infrastruttura implementata rimarrà intatta. Per ulteriori informazioni, consulta la AWS Proton Service Deprecation and Migration Guide.

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

In che modo AWS Proton fornisce l'infrastruttura

AWS Proton è in grado di fornire l'infrastruttura in uno dei seguenti modi:

  • AWS-provisioning gestito: AWS Proton chiama il motore di provisioning per tuo conto. Questo metodo supporta solo AWS CloudFormation i pacchetti di modelli. Per ulteriori informazioni, consulta CloudFormation file IAc.

  • CodeBuild provisioning: AWS Proton utilizza AWS CodeBuild per eseguire i comandi di shell forniti dall'utente. I comandi sono in grado di leggere gli input AWS Proton forniti e sono responsabili del provisioning o del deprovisioning dell'infrastruttura e della generazione dei valori di output. Un pacchetto di modelli per questo metodo include i comandi in un file manifest e tutti i programmi, script o altri file necessari a tali comandi.

    Come esempio di utilizzo del CodeBuild provisioning, è possibile includere codice che utilizza il codice AWS Cloud Development Kit (AWS CDK) per il provisioning AWS delle risorse e un manifest che installa il CDK ed esegue il codice CDK.

    Per ulteriori informazioni, consulta CodeBuild pacchetto di modelli di provisioning.

    Nota

    È possibile utilizzare il CodeBuild provisioning con ambienti e servizi. Al momento non è possibile effettuare il provisioning dei componenti in questo modo.

  • Self-managed provisioning: AWS Proton invia una pull request (PR) a un repository fornito, dove il sistema di distribuzione dell'infrastruttura utilizzato dall'utente esegue il processo di provisioning. Questo metodo supporta solo i pacchetti di modelli Terraform. Per ulteriori informazioni, consulta file Terraform iAC.

AWS Proton determina e imposta separatamente il metodo di provisioning per ogni ambiente e servizio. Quando si crea o si aggiorna un ambiente o un servizio, AWS Proton esamina il pacchetto di modelli fornito e determina il metodo di provisioning indicato dal pacchetto di modelli. A livello di ambiente, fornisci i parametri di cui l'ambiente e i suoi potenziali servizi potrebbero aver bisogno per i loro metodi di provisioning: ruoli AWS Identity and Access Management (IAM), una connessione all'account di ambiente o un repository di infrastruttura.

Gli sviluppatori che utilizzano AWS Proton il provisioning di un servizio hanno la stessa esperienza indipendentemente dal metodo di provisioning. Gli sviluppatori non devono conoscere il metodo di provisioning e non devono modificare nulla nel processo di provisioning del servizio. Il modello di servizio imposta il metodo di provisioning e ogni ambiente in cui uno sviluppatore implementa il servizio fornisce i parametri necessari per il provisioning delle istanze del servizio.

Il diagramma seguente riassume alcune caratteristiche principali dei diversi metodi di provisioning. Le sezioni che seguono la tabella forniscono informazioni dettagliate su ciascun metodo.

Metodo di provisioning Modelli Fornito da Stato monitorato da

Gestito da AWS

manifesto, schema, file IaC () CloudFormation

AWS Proton (tramite CloudFormation)

AWS Proton (attraverso CloudFormation)

CodeBuild

manifest (con comandi), schema, dipendenze dei comandi (ad es. AWS CDK codice)

AWS Proton (tramite CodeBuild)

AWS Proton (i tuoi comandi restituiscono lo stato tramite CodeBuild)

autogestito

manifest, schema, file IaC (Terraform)

Il tuo codice (tramite azioni Git)

Il tuo codice (passato AWS tramite chiamata API)

In che modo AWS-il provisioning gestito funziona

Quando un ambiente o un servizio utilizza il provisioning AWS gestito, l'infrastruttura viene fornita come segue:

  1. Un AWS Proton cliente (un amministratore o uno sviluppatore) crea la AWS Proton risorsa (un ambiente o un servizio). Il cliente seleziona un modello per la risorsa e fornisce i parametri richiesti. Per ulteriori informazioni, vedere la sezione seguente,Considerazioni per AWS-approvvigionamento gestito.

  2. AWS Proton esegue il rendering di un CloudFormation modello completo per il provisioning della risorsa.

  3. AWS Proton chiamate CloudFormation per avviare il provisioning utilizzando il modello renderizzato.

  4. AWS Proton monitora continuamente l'implementazione. CloudFormation

  5. Una volta completato il provisioning, AWS Proton segnala gli errori in caso di errore e acquisisce gli output del provisioning, come l'ID Amazon VPC, in caso di successo.

Il diagramma seguente mostra che AWS Proton si occupa direttamente della maggior parte di questi passaggi.

Diagramma che illustra il AWS provisioning gestito in AWS Proton

Considerazioni per AWS-approvvigionamento gestito

  • Ruolo di provisioning dell'infrastruttura: quando un ambiente o una qualsiasi delle istanze di servizio in esso in esecuzione potrebbe utilizzare il provisioning AWS gestito, un amministratore deve configurare un ruolo IAM (direttamente o come parte di una connessione all'account di ambiente). AWS Proton AWS Proton utilizza questo ruolo per fornire l'infrastruttura di queste AWS risorse di provisioning gestite. Il ruolo deve disporre delle autorizzazioni da utilizzare CloudFormation per creare tutte le risorse incluse nei modelli di tali risorse.

    Per ulteriori informazioni, consulta Ruoli IAM e AWS Proton Esempi di politiche relative ai ruoli del servizio IAM.

  • Fornitura del servizio: quando uno sviluppatore distribuisce un'istanza di servizio che utilizza il provisioning AWS gestito nell'ambiente, AWS Proton utilizza il ruolo fornito a quell'ambiente per eseguire il provisioning dell'infrastruttura per l'istanza del servizio. Gli sviluppatori non vedono questo ruolo e non possono modificarlo.

  • Servizio con pipeline: un modello di servizio che utilizza il provisioning AWS gestito può includere una definizione di pipeline scritta nello schema YAML. CloudFormation AWS Proton crea anche la pipeline chiamando. CloudFormation Il ruolo AWS Proton utilizzato per creare una pipeline è separato dal ruolo di ogni singolo ambiente. Questo ruolo viene fornito AWS Proton separatamente, solo una volta a livello di AWS account, e viene utilizzato per fornire e gestire tutte le pipeline AWS gestite. Questo ruolo deve disporre delle autorizzazioni per creare pipeline e altre risorse necessarie alle pipeline.

    Le procedure seguenti mostrano come assegnare il ruolo di pipeline a. AWS Proton

    AWS Proton console
    Per fornire il ruolo di pipeline
    1. Nella AWS Proton console, nel riquadro di navigazione, scegli Impostazioni > Impostazioni account, quindi scegli Configura.

    2. Utilizza la sezione Ruolo AWS gestito da Pipeline per configurare un ruolo di pipeline nuovo o esistente per AWS il provisioning gestito.

    AWS Proton API
    Per fornire il ruolo della pipeline
    1. Usa l'azione UpdateAccountSettings API.

    2. Fornisci l'Amazon Resource Name (ARN) del tuo ruolo di servizio di pipeline nel pipelineServiceRoleArn parametro.

    AWS CLI

    Per fornire il ruolo della pipeline

    Esegui il comando seguente:

    $ aws proton update-account-settings \ --pipeline-service-role-arn \ "arn:aws:iam::123456789012:role/my-pipeline-role"

Come funziona il CodeBuild provisioning

Quando un ambiente o un servizio utilizza il CodeBuild provisioning, l'infrastruttura viene fornita come segue:

  1. Un AWS Proton cliente (un amministratore o uno sviluppatore) crea la AWS Proton risorsa (un ambiente o un servizio). Il cliente seleziona un modello per la risorsa e fornisce i parametri richiesti. Per ulteriori informazioni, vedere la sezione seguente,Considerazioni per l'approvvigionamento CodeBuild.

  2. AWS Proton esegue il rendering di un file di input con i valori dei parametri di input per il provisioning della risorsa.

  3. AWS Proton chiamate CodeBuild per iniziare un lavoro. Il CodeBuild job esegue i comandi della shell del cliente specificati nel modello. Questi comandi forniscono l'infrastruttura desiderata, mentre opzionalmente leggono i valori di input.

  4. Al termine del provisioning, il comando del cliente finale restituisce lo stato del provisioning CodeBuild e richiama l'azione NotifyResourceDeploymentStatusChange AWS Proton API per fornire output, ad esempio l'ID Amazon VPC, se presente.

    Importante

    Assicurati che i comandi restituiscano correttamente lo stato di provisioning e forniscano gli output. CodeBuild In caso contrario, non AWS Proton possono tracciare correttamente lo stato del provisioning e non possono fornire output corretti alle istanze del servizio.

Il diagramma seguente illustra i passaggi eseguiti e AWS Proton i passaggi eseguiti dai comandi all'interno di un processo. CodeBuild

Diagramma che illustra CodeBuild-based il provisioning in AWS Proton

Considerazioni per l'approvvigionamento CodeBuild

  • Ruolo di provisioning dell'infrastruttura: quando un ambiente o una qualsiasi delle istanze di servizio in esso in esecuzione potrebbe utilizzare il CodeBuild-based provisioning, un amministratore deve configurare un ruolo IAM (direttamente o come parte di una AWS Proton connessione all'account di ambiente). AWS Proton utilizza questo ruolo per fornire l'infrastruttura di queste CodeBuild risorse di provisioning. Il ruolo deve disporre delle autorizzazioni da utilizzare CodeBuild per creare tutte le risorse fornite dai comandi nei modelli di tali risorse.

    Per ulteriori informazioni, consulta Ruoli IAM e AWS Proton Esempi di politiche relative ai ruoli del servizio IAM.

  • Fornitura del servizio: quando uno sviluppatore distribuisce un'istanza di servizio che utilizza il CodeBuild provisioning nell'ambiente, AWS Proton utilizza il ruolo fornito a quell'ambiente per eseguire il provisioning dell'infrastruttura per l'istanza del servizio. Gli sviluppatori non vedono questo ruolo e non possono modificarlo.

  • Servizio con pipeline: un modello di servizio che utilizza il CodeBuild provisioning può includere comandi per il provisioning di una pipeline. AWS Proton crea anche la pipeline chiamando. CodeBuild Il ruolo AWS Proton utilizzato per creare una pipeline è separato dal ruolo di ogni singolo ambiente. Questo ruolo viene fornito AWS Proton separatamente, solo una volta a livello di AWS account, e viene utilizzato per il provisioning e la gestione di tutte le CodeBuild-based pipeline. Questo ruolo deve disporre delle autorizzazioni per creare pipeline e altre risorse necessarie alle pipeline.

    Le procedure seguenti mostrano come assegnare il ruolo di pipeline a. AWS Proton

    AWS Proton console
    Per fornire il ruolo di pipeline
    1. Nella AWS Proton console, nel riquadro di navigazione, scegli Impostazioni > Impostazioni account, quindi scegli Configura.

    2. Usa la sezione del ruolo di provisioning della pipeline di Codebuild per configurare un ruolo di pipeline nuovo o esistente per il provisioning. CodeBuild

    AWS Proton API
    Per fornire il ruolo della pipeline
    1. Usa l'azione UpdateAccountSettings API.

    2. Fornisci l'Amazon Resource Name (ARN) del tuo ruolo di servizio di pipeline nel pipelineCodebuildRoleArn parametro.

    AWS CLI

    Per fornire il ruolo della pipeline

    Esegui il comando seguente:

    $ aws proton update-account-settings \ --pipeline-codebuild-role-arn \ "arn:aws:iam::123456789012:role/my-pipeline-role"

Come funziona il provisioning autogestito

Quando un ambiente è configurato per utilizzare il provisioning autogestito, l'infrastruttura viene fornita come segue:

  1. Un AWS Proton cliente (un amministratore o uno sviluppatore) crea la AWS Proton risorsa (un ambiente o un servizio). Il cliente seleziona un modello per la risorsa e fornisce i parametri richiesti. Per un ambiente, il cliente fornisce anche un repository di infrastruttura collegato. Per ulteriori informazioni, vedere la sezione seguente,Considerazioni per il provisioning autogestito.

  2. AWS Proton esegue il rendering di un modello Terraform completo. È costituito da uno o più file Terraform, potenzialmente in più cartelle, e da un .tfvars file di variabili. AWS Proton scrive i valori dei parametri forniti nella chiamata per la creazione della risorsa in questo file di variabili.

  3. AWS Proton invia un PR al repository dell'infrastruttura con il modello Terraform renderizzato.

  4. Quando il cliente (amministratore o sviluppatore) unisce il PR, l'automazione del cliente attiva il motore di provisioning per avviare l'infrastruttura di provisioning utilizzando il modello unito.

    Nota

    Se il cliente (amministratore o sviluppatore) chiude il PR, AWS Proton riconosce il PR come chiuso e contrassegna l'implementazione come annullata.

  5. Al termine del provisioning, l'automazione del cliente richiama l'azione NotifyResourceDeploymentStatusChange AWS Proton API per indicare il completamento, fornire lo stato (successo o fallimento) e fornire output, come l'ID Amazon VPC, se presente.

    Importante

    Assicurati che il codice di automazione richiami lo stato e AWS Proton gli output del provisioning. In caso contrario, AWS Proton potresti considerare il provisioning in sospeso più a lungo del dovuto e continuare a mostrare lo stato In corso.

Il diagramma seguente illustra le fasi AWS Proton eseguite e le fasi eseguite dal proprio sistema di provisioning.

Diagramma che illustra il provisioning autogestito in AWS Proton

Considerazioni per il provisioning autogestito

  • Repository dell'infrastruttura: quando un amministratore configura un ambiente per il provisioning autogestito, deve fornire un repository di infrastruttura collegato. AWS Proton invia i PR a questo repository per eseguire il provisioning dell'infrastruttura dell'ambiente e di tutte le istanze di servizio che vi vengono distribuite. L'azione di automazione di proprietà del cliente nel repository dovrebbe assumere un ruolo IAM con le autorizzazioni per creare tutte le risorse incluse nell'ambiente e nei modelli di servizio e un'identità che rifletta l'account di destinazione. AWS Per un esempio di GitHub azione che assume un ruolo, consulta Assuming a Role nella documentazione «Configure AWS Credentials» Action For Actions. GitHub

  • Autorizzazioni: il codice di provisioning deve autenticarsi con un account, se necessario (ad esempio, autenticarsi su un AWS account) e fornire l'autorizzazione al provisioning delle risorse (ad esempio, fornire un ruolo).

  • Provisioning del servizio: quando uno sviluppatore implementa un'istanza di servizio che utilizza il provisioning autogestito nell'ambiente, AWS Proton invia un PR al repository associato all'ambiente per eseguire il provisioning dell'infrastruttura per l'istanza del servizio. Gli sviluppatori non vedono il repository e non possono modificarlo.

    Nota

    Gli sviluppatori che creano servizi utilizzano lo stesso processo indipendentemente dal metodo di provisioning e la differenza viene astratta da ciò. Tuttavia, con il provisioning autogestito, gli sviluppatori potrebbero riscontrare una risposta più lenta, perché devono attendere che qualcuno (che potrebbe non essere loro stessi) unisca il PR nel repository dell'infrastruttura prima di poter iniziare il provisioning.

  • Servizio con pipeline: un modello di servizio per un ambiente con provisioning autogestito può includere una definizione di pipeline (ad esempio, una pipeline), scritta in Terraform HCL. AWS CodePipeline Per consentire il provisioning AWS Proton di queste pipeline, un amministratore fornisce un repository di pipeline collegato a. AWS Proton Quando si effettua il provisioning di una pipeline, l'azione di automazione di proprietà del cliente nel repository deve assumere un ruolo IAM con le autorizzazioni per il provisioning della pipeline e un'identità che rifletta l'account di destinazione. AWS Il repository e il ruolo della pipeline sono separati da quelli utilizzati per ogni singolo ambiente. Il repository collegato viene fornito AWS Proton separatamente, solo una volta a livello di AWS account, e viene utilizzato per il provisioning e la gestione di tutte le pipeline. Il ruolo deve disporre delle autorizzazioni per creare pipeline e altre risorse necessarie alle pipeline.

    Le procedure seguenti mostrano come fornire il repository e il ruolo della pipeline a. AWS Proton

    AWS Proton console
    Fornire il ruolo della pipeline
    1. Nella AWS Proton console, nel riquadro di navigazione, scegli Impostazioni > Impostazioni account, quindi scegli Configura.

    2. Usa la sezione CI/CD pipeline repository per configurare un link al repository nuovo o esistente.

    AWS Proton API
    Per fornire il ruolo della pipeline
    1. Usa l'azione UpdateAccountSettings API.

    2. Fornisci il provider, il nome e il ramo del tuo repository di pipeline nel pipelineProvisioningRepository parametro.

    AWS CLI

    Per fornire il ruolo della pipeline

    Esegui il comando seguente:

    $ aws proton update-account-settings \ --pipeline-provisioning-repository \ "provider=GITHUB,name=my-pipeline-repo-name,branch=my-branch"
  • Eliminazione delle risorse assegnate in modo autogestito: i moduli Terraform possono includere elementi di configurazione necessari per il funzionamento di Terraform, oltre alle definizioni delle risorse. Pertanto, non è AWS Proton possibile eliminare tutti i file Terraform per un ambiente o un'istanza di servizio. Invece, AWS Proton contrassegna i file per l'eliminazione e aggiorna un flag nei metadati PR. La tua automazione può leggere quel flag e usarlo per attivare un comando terraform destroy.