

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. ](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html)

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
<a name="ag-create-env"></a>

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](#ag-create-env-deploy-other) e [Connessioni agli account di ambiente](ag-env-account-connections.md).

  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 Kit di sviluppo per il cloud AWS (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](ag-infrastructure-tmp-files-codebuild.md).
**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](ag-works-prov-methods.md), [Pacchetti di modelli](ag-template-authoring.md#ag-template-bundles) e [Requisiti dello schema per i pacchetti di modelli di ambiente](ag-schema.md#schema-req-env).

**Topics**
+ [Crea ed esegui il provisioning di un ambiente standard nello stesso account](#ag-create-env-same-account)
+ [Crea un ambiente in un account ed esegui il provisioning in un altro account](#ag-create-env-deploy-other)
+ [Crea ed esegui il provisioning di un ambiente utilizzando il provisioning autogestito](#ag-create-env-pull-request)

## Crea ed esegui il provisioning di un ambiente standard nello stesso account
<a name="ag-create-env-same-account"></a>

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](https://console.aws.amazon.com/proton/), scegli ** Ambienti**.

1. Seleziona **Create environment (Crea ambiente)**.

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

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

1. Nella ** sezione Account ** di distribuzione, scegli Questo. ** Account AWS**

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

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

1. Nella ** sezione Ruoli ** ambientali, seleziona il ruolo AWS Proton di servizio che hai creato come parte di[Configurazione AWS Proton ruoli di servizio](ag-setting-up-iam.md#setting-up-cicd).

1. (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](ag-components.md).

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

1. Scegli **Avanti**.

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

1. Scegli ** Avanti ** e rivedi i tuoi input.

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

1. 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 ](security_iam_service-role-policy-examples.md#proton-svc-role) 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](resources.md).

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
<a name="ag-create-env-deploy-other"></a>

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.

1. 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](security_iam_service-role-policy-examples.md#proton-svc-role).

------
#### [ 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](https://console.aws.amazon.com/proton/), scegli Connessioni agli account di ** ambiente ** nel pannello di navigazione.

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

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

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

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

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

1. 

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

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

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

1. 

**Nell'account di gestione, crea un ambiente.**

   1. Nel riquadro di navigazione, scegli Modelli di ** ambiente**.

   1. Nella ** pagina Modelli di ** ambiente, scegli ** Crea modello di ambiente**.

   1. Nella ** pagina ** Scegli un modello di ambiente, scegli un modello di ambiente.

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

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

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

   1. Scegli **Avanti**.

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

   1. 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
<a name="ag-create-env-pull-request"></a>

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](ag-infrastructure-tmp-files.md).
+ 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 `NotifyResourceStateChange`API 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 ](https://console.aws.amazon.com/proton/) Ambienti. ** **

1. Seleziona **Create environment (Crea ambiente)**.

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

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

1. Nella sezione dei dettagli del repository ** di provisioning: **

   1. Se non hai ancora [ collegato il tuo repository di provisioning a AWS Proton](ag-create-repo.md), 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.

   1. 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. ** **

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

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

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

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

1. Scegli **Avanti**.

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

1. Scegli ** Avanti ** e rivedi i tuoi input.

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

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

1. 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"
       }
   ```

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

1. 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}}"
   ```

------