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
Per distribuire un'applicazione con AWS Proton, in qualità di sviluppatore, devi creare un servizio e fornire i seguenti input.
-
Il nome di un modello di AWS Proton servizio pubblicato dal team della piattaforma.
-
Un nome per il servizio.
-
Il numero di istanze del servizio che si desidera distribuire.
-
Una selezione di ambienti che desideri utilizzare.
-
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?
Quando crei un AWS Proton servizio, puoi scegliere tra due diversi tipi di modelli di servizio:
È 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
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
Modelli di servizio
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
Le procedure seguenti mostrano come utilizzare la AWS Proton console o AWS CLI creare un servizio con o senza una pipeline di servizi.
- AWS Management Console
-
Crea un servizio come illustrato nei seguenti passaggi della console.
-
Nella AWS Proton console, scegli Servizi.
-
Selezionare Create service (Crea servizio).
-
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.
-
Nella pagina Configura servizio, nella sezione Impostazioni del servizio, inserisci un nome di servizio.
-
(Facoltativo) Inserisci una descrizione del servizio.
-
Nella sezione Impostazioni del repository del servizio:
-
Per CodeStar Connessione, scegli la tua connessione dall'elenco.
-
Per Repository ID, scegli il nome del tuo repository di codice sorgente dall'elenco.
-
Per Branch name, scegli il nome del ramo del repository del codice sorgente dall'elenco.
-
(Facoltativo) Nella sezione Tag, scegli Aggiungi nuovo tag e inserisci una chiave e un valore per creare un tag gestito dal cliente.
-
Scegli Next (Successivo).
-
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.
-
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.
-
Scegliete Avanti e controllate i dati inseriti.
-
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.
-
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 abbiapipelineProvisioning: "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.
-
Imposta il ruolo di servizio 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
"
-
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"
}
}