View a markdown version of this page

Creazione di un ambiente - 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à.

Creazione di un ambiente

Impara a creare AWS Proton ambienti.

Puoi creare un AWS Proton ambiente in due modi:
  • Crea, gestisci ed esegui il provisioning di un ambiente standard utilizzando un modello di ambiente standard. AWS Proton esegue il provisioning dell'infrastruttura per il tuo ambiente.

  • Connettiti AWS Proton all'infrastruttura gestita dal cliente utilizzando un modello di ambiente gestito dal cliente. Esegui il provisioning delle tue risorse condivise all'esterno e AWS Proton quindi fornisci output di provisioning utilizzabili. AWS Proton

È possibile scegliere uno dei diversi approcci di provisioning quando si crea un ambiente.
  • AWS provisioning gestito: crea, gestisci ed esegui il provisioning di un ambiente in un unico account. AWS Proton esegue il provisioning del tuo ambiente.

    Questo metodo supporta solo modelli di codice di CloudFormation infrastruttura (IaC).

  • AWS provisioning gestito su un altro account: in un singolo account di gestione, crea e gestisci un ambiente di cui viene eseguito il provisioning in un altro account con connessioni agli account di ambiente. AWS Proton esegue il provisioning dell'ambiente nell'altro account. Per ulteriori informazioni, consulta Crea un ambiente in un account ed esegui il provisioning in un altro account e Connessioni agli account di ambiente.

    Questo metodo supporta solo i modelli CloudFormation IaC.

  • Self-managed provisioning: AWS Proton invia le richieste pull di provisioning a un repository collegato con la propria infrastruttura di provisioning.

    Questo metodo supporta solo i modelli Terraform 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.

Con il provisioning AWS gestito (sia sullo stesso account che su un altro account), AWS Proton effettua chiamate dirette per effettuare il provisioning delle risorse.

Con il provisioning autogestito, AWS Proton effettua richieste pull per fornire file IaC compilati che il motore IaC utilizza per il provisioning delle risorse.

Per ulteriori informazioni, consultare In che modo AWS Proton fornisce l'infrastruttura, Pacchetti di modelli e Requisiti dello schema per i pacchetti di modelli di ambiente.

Crea ed esegui il provisioning di un ambiente standard nello stesso account

Usa la console o AWS CLI per creare ed eseguire il provisioning di un ambiente in un unico account. Il provisioning è gestito da AWS.

Console di gestione AWS
Usa la console per creare ed eseguire il provisioning di un ambiente in un unico account
  1. Nella AWS Proton console, scegli Ambienti.

  2. Seleziona Create environment (Crea ambiente).

  3. Nella pagina Scegli un modello di ambiente, seleziona un modello e scegli Configura.

  4. Nella pagina Configura ambiente, nella sezione Provisioning, scegli il provisioning AWS gestito.

  5. Nella sezione Account di distribuzione, scegli Questo. Account AWS

  6. Nella pagina Configura ambiente, nella sezione Impostazioni dell'ambiente, inserisci un nome per l'ambiente.

  7. (Facoltativo) Inserisci una descrizione per l'ambiente.

  8. Nella sezione Ruoli ambientali, seleziona il ruolo AWS Proton di servizio che hai creato come parte diConfigurazione AWS Proton ruoli di servizio.

  9. (Facoltativo) Nella sezione Ruolo dei componenti, seleziona un ruolo di servizio che consenta l'esecuzione dei componenti definiti direttamente nell'ambiente e definisca le risorse di cui possono fornire. Per ulteriori informazioni, consulta AWS Proton componenti.

  10. (Facoltativo) Nella sezione Tag, scegli Aggiungi nuovo tag e inserisci una chiave e un valore per creare un tag gestito dal cliente.

  11. Scegli Avanti.

  12. Nella pagina Configura le impostazioni personalizzate dell'ambiente, devi inserire i valori per i required parametri. È possibile immettere valori per i optional parametri o utilizzare i valori predefiniti quando vengono forniti.

  13. Scegli Avanti e rivedi i tuoi input.

  14. Scegli Crea.

    Visualizza i dettagli e lo stato dell'ambiente, nonché i tag gestiti e i tag AWS gestiti dai clienti per il tuo ambiente.

  15. Nel riquadro di navigazione, selezionare Compute environments (Ambienti di calcolo).

    Una nuova pagina mostra un elenco degli ambienti insieme allo stato e ad altri dettagli ambientali.

AWS CLI

Usa il AWS CLI per creare ed eseguire il provisioning di un ambiente in un unico account.

Per creare un ambiente, specificate il ruolo del AWS Proton servizio ARN, il percorso del file delle specifiche, il nome dell'ambiente, il modello di ambiente ARN, le versioni principali e secondarie e la descrizione (opzionale).

Gli esempi seguenti mostrano un file di specifiche YAML formattato che specifica i valori per due input definiti nel file di schema del modello di ambiente. È possibile utilizzare il get-environment-template-minor-version comando per visualizzare lo schema del modello di ambiente.

proton: EnvironmentSpec spec: my_sample_input: "the first" my_other_sample_input: "the second"

Crea un ambiente eseguendo il comando seguente.

$ aws proton create-environment \ --name "MySimpleEnv" \ --template-name simple-env \ --template-major-version 1 \ --proton-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole" \ --spec "file://env-spec.yaml"

Risposta:

{ "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv", "createdAt": "2020-11-11T23:03:05.405000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2020-11-11T23:03:05.405000+00:00", "name": "MySimpleEnv", "protonServiceRoleArn": "arn:aws:iam::123456789012:role/ProtonServiceRole", "templateName": "simple-env" } }

Dopo aver creato un nuovo ambiente, è possibile visualizzare un elenco di tag AWS gestiti dal cliente, come mostrato nel seguente comando di esempio. AWS Proton genera automaticamente tag AWS gestiti per te. Puoi anche modificare e creare tag gestiti dai clienti utilizzando AWS CLI. Per ulteriori informazioni, consulta AWS Proton risorse e tag.

Comando:

$ aws proton list-tags-for-resource \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv"

Crea un ambiente in un account ed esegui il provisioning in un altro account

Usa la console o AWS CLI crea un ambiente standard in un account di gestione che esegua il provisioning dell'infrastruttura ambientale in un altro account. Il provisioning è gestito da AWS.

Prima di utilizzare la console o la CLI, completare i passaggi seguenti.
  1. Identifica gli Account AWS ID per l'account di gestione e ambiente e copiali per un uso successivo.

  2. Nell'account di ambiente, crea un ruolo AWS Proton di servizio con autorizzazioni minime per l'ambiente da creare. Per ulteriori informazioni, consulta AWS Proton ruolo di servizio per il provisioning utilizzando CloudFormation.

Console di gestione AWS
Usa la console, crea un ambiente in un account ed esegui il provisioning in un altro.
  1. Nell'account di ambiente, crea una connessione all'account di ambiente e utilizzala per inviare una richiesta di connessione all'account di gestione.
    1. Nella AWS Proton console, scegli Connessioni agli account di ambiente nel pannello di navigazione.

    2. Nella pagina Connessioni agli account di ambiente, scegli Richiedi di connessione.

      Nota

      Verifica che l'ID dell'account elencato nell'intestazione della pagina di connessione all'account di ambiente corrisponda all'ID dell'account di ambiente preidentificato.

    3. Nella pagina Richiesta di connessione, nella sezione Ruolo ambientale, seleziona Ruolo di servizio esistente e il nome del ruolo di servizio che hai creato per l'ambiente.

    4. Nella sezione Connetti all'account di gestione, inserisci l'ID dell'account di gestione e il nome dell'ambiente per il tuo AWS Proton ambiente. Copia il nome per un uso successivo.

    5. Scegli Richiedi di connessione nell'angolo inferiore destro della pagina.

    6. La richiesta viene visualizzata come in sospeso nella tabella delle connessioni di ambiente inviate a un account di gestione e una finestra modale mostra come accettare la richiesta dall'account di gestione.

  2. Nell'account di gestione, accetta una richiesta di connessione dall'account di ambiente.
    1. Accedi al tuo account di gestione e scegli Connessioni all'account di ambiente nella AWS Proton console.

    2. Nella pagina Connessioni all'account di ambiente, nella tabella Richieste di connessione all'account di ambiente, seleziona la connessione all'account di ambiente con l'ID dell'account di ambiente che corrisponde all'ID dell'account di ambiente preidentificato.

      Nota

      Verifica che l'ID dell'account elencato nell'intestazione della pagina di connessione all'account Environment corrisponda all'ID dell'account di gestione preidentificato.

    3. Scegliere Accept (Accetta). Lo stato cambia da PENDING a CONNECTED.

  3. Nell'account di gestione, crea un ambiente.
    1. Nel riquadro di navigazione, scegli Modelli di ambiente.

    2. Nella pagina Modelli di ambiente, scegli Crea modello di ambiente.

    3. Nella pagina Scegli un modello di ambiente, scegli un modello di ambiente.

    4. Nella pagina Configura ambiente, nella sezione Provisioning, scegli il provisioning AWS gestito.

    5. Nella sezione Account di distribuzione, scegli Un altro AWS account;.

    6. Nella sezione Dettagli sull'ambiente, seleziona la connessione all'account Environment e il nome dell'ambiente.

    7. Scegli Avanti.

    8. Compila i moduli e scegli Avanti fino a raggiungere la pagina Rivedi e crea.

    9. Rivedi e scegli Crea ambiente.

AWS CLI

Usa il AWS CLI per creare un ambiente in un account ed eseguire il provisioning in un altro.

Nell'account di ambiente, crea una connessione all'account di ambiente e richiedi la connessione eseguendo il seguente comando.

$ aws proton create-environment-account-connection \ --environment-name "simple-env-connected" \ --role-arn "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role" \ --management-account-id "111111111111"

Risposta:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:13:50.847000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "PENDING" } }

Nell'account di gestione, accetta la richiesta di connessione all'account di ambiente eseguendo il comando seguente.

$ aws proton accept-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Risposta:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

Visualizza la connessione all'account di ambiente eseguendo il comando seguente.

$ aws proton get-environment-account-connection \ --id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Risposta:

{ "environmentAccountConnection": { "arn": "arn:aws:proton:region-id:222222222222:environment-account-connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "environmentName": "simple-env-connected", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "lastModifiedAt": "2021-04-28T23:15:33.486000+00:00", "managementAccountId": "111111111111", "requestedAt": "2021-04-28T23:13:50.847000+00:00", "roleArn": "arn:aws:iam::222222222222:role/service-role/env-account-proton-service-role", "status": "CONNECTED" } }

Nell'account di gestione, crea un ambiente eseguendo il comando seguente.

$ aws proton create-environment \ --name "simple-env-connected" \ --template-name simple-env-template \ --template-major-version "1" \ --template-minor-version "1" \ --spec "file://simple-env-template/specs/original.yaml" \ --environment-account-connection-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"

Risposta:

{ "environment": { "arn": "arn:aws:proton:region-id:111111111111:environment/simple-env-connected", "createdAt": "2021-04-28T23:02:57.944000+00:00", "deploymentStatus": "IN_PROGRESS", "environmentAccountConnectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "environmentAccountId": "222222222222", "lastDeploymentAttemptedAt": "2021-04-28T23:02:57.944000+00:00", "name": "simple-env-connected", "templateName": "simple-env-template" } }

Crea ed esegui il provisioning di un ambiente utilizzando il provisioning autogestito

Quando utilizzi il provisioning autogestito, AWS Proton invia le richieste pull di provisioning a un repository collegato con la tua infrastruttura di provisioning. Le pull request avviano il vostro flusso di lavoro, che chiama AWS i servizi e serve al provisioning dell'infrastruttura.

Self-managed considerazioni sul provisioning:
  • Prima di creare un ambiente, configura una directory delle risorse del repository per il provisioning autogestito. Per ulteriori informazioni, consulta AWS Proton infrastruttura come file di codice.

  • Dopo aver creato l'ambiente, AWS Proton attende di ricevere notifiche asincrone relative allo stato del provisioning dell'infrastruttura. Il codice di provisioning deve utilizzare l' AWS Proton NotifyResourceStateChangeAPI a cui inviare queste notifiche asincrone. AWS Proton

È possibile utilizzare il provisioning autogestito nella console o con. AWS CLI Gli esempi seguenti mostrano come è possibile utilizzare il provisioning autogestito con Terraform.

Console di gestione AWS
Usa la console per creare un ambiente Terraform utilizzando il provisioning autogestito.
  1. Nella AWS Proton console, scegli Ambienti.

  2. Seleziona Create environment (Crea ambiente).

  3. Nella pagina Scegli un modello di ambiente, seleziona un modello Terraform e scegli Configura.

  4. Nella pagina Configura l'ambiente, nella sezione Provisioning, scegli Self-managed il provisioning.

  5. Nella sezione dei dettagli del repository di provisioning:

    1. Se non hai ancora collegato il tuo repository di provisioning a AWS Proton, scegli Nuovo repository, scegli uno dei provider di repository e quindi, per la CodeStar connessione, scegli una delle tue connessioni.

      Nota

      Se non disponi ancora di una connessione all'account del provider di repository pertinente, scegli Aggiungi una nuova connessione. CodeStar Quindi, crea una connessione, quindi scegli il pulsante di aggiornamento accanto al menu di CodeStar connessione. Ora dovresti essere in grado di scegliere la tua nuova connessione nel menu.

      Se hai già collegato il tuo repository a AWS Proton, scegli Repository esistente.

    2. Per il nome del repository, scegli un repository. Il menu a discesa mostra i repository collegati per il repository esistente o l'elenco dei repository nell'account del provider per il nuovo repository.

    3. Per il nome del ramo, scegli uno dei rami del repository.

  6. Nella sezione Impostazioni dell'ambiente, inserisci un nome per l'ambiente.

  7. (Facoltativo) Inserisci una descrizione per l'ambiente.

  8. (Facoltativo) Nella sezione Tag, scegli Aggiungi nuovo tag e inserisci una chiave e un valore per creare un tag gestito dal cliente.

  9. Scegli Avanti.

  10. Nella pagina Configura le impostazioni personalizzate dell'ambiente, devi inserire i valori per i required parametri. È possibile immettere valori per i optional parametri o utilizzare i valori predefiniti quando vengono forniti.

  11. Scegli Avanti e rivedi i tuoi input.

  12. Scegli Crea per inviare una pull request.

    • Se approvi la pull request, la distribuzione è in corso.

    • Se si rifiuta la pull request, la creazione dell'ambiente viene annullata.

    • Se la pull request scade, la creazione dell'ambiente non è completa.

  13. Visualizza i dettagli e lo stato dell'ambiente, nonché i tag AWS gestiti e i tag gestiti dal cliente per il tuo ambiente.

  14. Nel riquadro di navigazione, selezionare Compute environments (Ambienti di calcolo).

    Una nuova pagina mostra un elenco degli ambienti insieme allo stato e ad altri dettagli ambientali.

AWS CLI

Quando si crea un ambiente utilizzando il provisioning autogestito, si aggiunge il provisioningRepository parametro e si omettono i ProtonServiceRoleArn parametri and. environmentAccountConnectionId

Usa il AWS CLI per creare un ambiente Terraform con provisioning autogestito.
  1. Crea un ambiente e invia una pull request al repository per la revisione e l'approvazione.

    I prossimi esempi mostrano un file di specifiche YAML formattato che definisce i valori per due input in base al file di schema del modello di ambiente. È possibile utilizzare il get-environment-template-minor-version comando per visualizzare lo schema del modello di ambiente.

    Specifiche:

    proton: EnvironmentSpec spec: ssm_parameter_value: "test"

    Crea un ambiente eseguendo il seguente comando.

    $ aws proton create-environment \ --name "pr-environment" \ --template-name "pr-env-template" \ --template-major-version "1" \ --provisioning-repository="branch=main,name=myrepos/env-repo,provider=GITHUB" \ --spec "file://env-spec.yaml"

    Risposta: >

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment", "createdAt": "2021-11-18T17:06:58.679000+00:00", "deploymentStatus": "IN_PROGRESS", "lastDeploymentAttemptedAt": "2021-11-18T17:06:58.679000+00:00", "name": "pr-environment", "provisioningRepository": { "arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo", "branch": "main", "name": "myrepos/env-repo", "provider": "GITHUB" }, "templateName": "pr-env-template" }
  2. Rivedi la richiesta.

    • Se approvi la richiesta, il provisioning è in corso.

    • Se si rifiuta la richiesta, la creazione dell'ambiente viene annullata.

    • Se la pull request scade, la creazione dell'ambiente non è completa.

  3. Fornisci in modo asincrono lo stato di provisioning a. AWS Proton L'esempio seguente notifica AWS Proton l'avvenuto provisioning.

    $ aws proton notify-resource-deployment-status-change \ --resource-arn "arn:aws:proton:region-id:123456789012:environment/pr-environment" \ --status "SUCCEEDED"