

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 [AWS Proton Service Deprecation](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html) 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 servizio
<a name="ag-create-svc"></a>

Per distribuire un'applicazione con AWS Proton, in qualità di sviluppatore, devi creare un servizio e fornire i seguenti input.

1. Il nome di un modello di AWS Proton servizio pubblicato dal team della piattaforma.

1. Un nome per il servizio.

1. Il numero di istanze del servizio che si desidera distribuire.

1. Una selezione di ambienti che desideri utilizzare.

1. Una connessione al tuo repository di codice se utilizzi un modello di servizio che include una pipeline di servizi (opzionale).

## Cosa c'è in un servizio?
<a name="ag-create-svc.info"></a>

Quando crei un AWS Proton servizio, puoi scegliere tra due diversi tipi di modelli di servizio:
+ Un modello di servizio che include una pipeline di servizi (impostazione predefinita).
+ Un modello di servizio che *non* include una pipeline di servizi.

È necessario creare almeno un'istanza del servizio quando si crea il servizio.

Un'istanza di servizio e una pipeline opzionale sono associate a un servizio. È possibile creare o eliminare una pipeline solo nel contesto delle azioni di *creazione* ed *eliminazione* del servizio. Per informazioni su come aggiungere e rimuovere istanze da un servizio, consulta. [Modifica un servizio](ag-svc-update.md)

**Nota**  
L'ambiente è configurato per il provisioning AWS o per la gestione automatica. AWS Proton fornisce servizi in un ambiente utilizzando lo stesso metodo di provisioning utilizzato dall'ambiente. Lo sviluppatore che crea o aggiorna le istanze del servizio non vede la differenza e la sua esperienza è la stessa in entrambi i casi.  
Per ulteriori informazioni sui metodi di provisioning, consulta. [In che modo AWS Proton provvede l'infrastruttura](ag-works-prov-methods.md)

## Modelli di servizio
<a name="ag-create-svc.templates"></a>

Sono disponibili versioni principali e secondarie dei modelli di servizio. Quando si utilizza la console, si seleziona la versione `Recommended` principale e secondaria più recente del modello di servizio. Quando si utilizza AWS CLI e si specifica solo la versione principale del modello di servizio, si specifica implicitamente la versione `Recommended` secondaria più recente.

Di seguito viene descritta la differenza tra le versioni principali e secondarie del modello e il relativo utilizzo.
+ Le nuove versioni di un modello diventano disponibili non `Recommended` appena vengono approvate da un membro del team della piattaforma. Ciò significa che i nuovi servizi vengono creati utilizzando quella versione e ti viene richiesto di aggiornare i servizi esistenti alla nuova versione.
+ Tramite AWS Proton, il team della piattaforma può aggiornare automaticamente le istanze del servizio a una nuova versione secondaria di un modello di servizio. Le versioni secondarie devono essere compatibili con le versioni precedenti. 
+ Poiché le versioni principali richiedono l'immissione di nuovi input come parte del processo di aggiornamento, è necessario aggiornare il servizio a una versione principale del relativo modello di servizio. Le versioni principali *non sono* retrocompatibili.

## Creazione di un servizio
<a name="ag-create-svc.procedure"></a>

Le procedure seguenti mostrano come utilizzare la AWS Proton console o AWS CLI creare un servizio con o senza una pipeline di servizi.

------
#### [ Console di gestione AWS ]

**Crea un servizio come illustrato nei seguenti passaggi della console.**

1. Nella [AWS Proton console](https://console.aws.amazon.com//proton/), scegli **Servizi**.

1. Selezionare **Create service (Crea servizio)**.

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

   Se *non* desideri utilizzare una pipeline abilitata, scegli un modello contrassegnato con *Esclude la pipeline* per il tuo servizio.

1. **Nella pagina **Configura servizio**, nella sezione **Impostazioni del servizio**, inserisci un nome di servizio.**

1. (Facoltativo) Inserisci una descrizione del servizio.

1. 

**Nella sezione **Impostazioni del repository del servizio**:**

   1. Per **CodeStar Connessione**, scegli la tua connessione dall'elenco.

   1. Per **Repository ID**, scegli il nome del tuo repository di codice sorgente dall'elenco.

   1. Per **Branch name**, scegli il nome del ramo del repository del codice sorgente dall'elenco.

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 **Next (Successivo)**.

1. Nella pagina **Configura impostazioni personalizzate**, nella sezione **Istanze di servizio**, nella sezione **Nuova istanza**. È necessario inserire valori per i `required` parametri. È possibile inserire valori per i `optional` parametri o utilizzare i valori predefiniti, se disponibili.

1. Nella sezione **Pipeline input**, è necessario inserire i valori per i parametri. `required` È possibile inserire valori per i `optional` parametri o utilizzare i valori predefiniti, se disponibili.

1. Scegliete **Avanti** e controllate i dati inseriti.

1. Scegli **Create** (Crea).

   Visualizza i dettagli e lo stato del servizio, nonché i tag AWS gestiti e i tag gestiti dai clienti per il tuo servizio.

1. Nel riquadro di navigazione, scegli **Servizi**.

   Una nuova pagina mostra un elenco dei tuoi servizi insieme allo stato e ad altri dettagli del servizio.

------
#### [ AWS CLI ]

Quando si utilizza AWS CLI, si specificano gli input del servizio in un `spec` file in formato YAML`.aws-proton/service.yaml`, che si trova nella directory del codice sorgente.

È possibile utilizzare il `get-service-template-minor-version` comando CLI per visualizzare i parametri obbligatori e facoltativi dello schema per i quali si forniscono i valori nel file delle specifiche.

Se desideri utilizzare un modello di servizio che lo abbia`pipelineProvisioning: "CUSTOMER_MANAGED"`, *non* includi la `pipeline:` sezione nelle specifiche e *non* `-repository-connection-arn` includa né `-branch-name` i parametri nel comando. `-repository-id` `create-service`

**Crea un servizio con una pipeline di servizi come illustrato nei seguenti passaggi della CLI.**

1. **Imposta il [ruolo di servizio](security_iam_service-role-policy-examples.md#codepipeline-proton-svc-role) per la pipeline come mostrato nel seguente comando di esempio CLI.**

   Comando:

   ```
   $ aws proton update-account-settings \
           --pipeline-service-role-arn "arn:aws:iam::{{123456789012}}:role/{{AWS ProtonServiceRole}}"
   ```

1. L'elenco seguente mostra una specifica di esempio, basata sullo schema del modello di servizio, che include la pipeline di servizio e gli input dell'istanza.

   Specifiche:

   ```
   proton: ServiceSpec
   
   pipeline:
     my_sample_pipeline_required_input: "hello"
     my_sample_pipeline_optional_input: "bye"
   
   instances:
     - name: "acme-network-dev"
       environment: "ENV_NAME"
       spec:
         my_sample_service_instance_required_input: "hi"
         my_sample_service_instance_optional_input: "ho"
   ```

   **Crea un servizio con una pipeline come mostrato nel seguente esempio di comando e risposta CLI.**

   Comando:

   ```
   $ aws proton create-service \
           --name "{{MySimpleService}}" \
           --branch-name "{{mainline}}" \
           --template-major-version "{{1}}" \
           --template-name "{{fargate-service}}" \
           --repository-connection-arn "arn:aws:codestar-connections:{{region-id}}:{{123456789012}}:connection/{{a1b2c3d4-5678-90ab-cdef-EXAMPLE11111}}" \
           --repository-id "{{myorg/myapp}}" \
           --spec "{{file://spec.yaml}}"
   ```

   Risposta:

   ```
   {
       "service": {
           "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService",
           "createdAt": "2020-11-18T19:50:27.460000+00:00",
           "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
           "name": "MySimpleService",
           "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
           "repositoryId": "myorg/myapp",
           "status": "CREATE_IN_PROGRESS",
           "templateName": "fargate-service"
       }
   }
   ```

**Crea un servizio senza una pipeline di servizi come mostrato nel seguente esempio di comando e risposta CLI.**

Di seguito viene illustrata una specifica di esempio che *non* include gli input della pipeline di servizio.

Specifiche:

```
proton: ServiceSpec

instances:
  - name: "acme-network-dev"
    environment: "ENV_NAME"
    spec:
      my_sample_service_instance_required_input: "hi"
      my_sample_service_instance_optional_input: "ho"
```

**Per creare un servizio *senza* una pipeline di servizi fornita, fornisci il percorso a `spec.yaml` e *non* includi i parametri del repository, come mostrato nel seguente esempio di comando e risposta della CLI.**

Comando:

```
$ aws proton create-service \
        --name "{{MySimpleServiceNoPipeline}}" \
        --template-major-version "{{1}}" \
        --template-name "{{fargate-service}}" \
        --spec "{{file://spec-no-pipeline.yaml}}"
```

Risposta:

```
{
    "service": {
        "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleServiceNoPipeline",
        "createdAt": "2020-11-18T19:50:27.460000+00:00",
        "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00",
        "name": "MySimpleServiceNoPipeline",
        "status": "CREATE_IN_PROGRESS",
        "templateName": "fargate-service-no-pipeline"
    }
}
```

------