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 conAWS Proton, in qualità di sviluppatore, crei un servizio e fornisci i seguenti input.
-
Il nome di un modello diAWS Proton servizio pubblicato dal team della piattaforma.
-
Un nome per il servizio.
-
Il numero di istanze di servizio che si intende distribuire.
-
Una selezione di ambienti che si intende utilizzare.
-
Una connessione al tuo repository di codice se stai utilizzando un modello di servizio che include una pipeline di servizi (opzionale).
Cosa c'è in un servizio?
Quando crei unAWS Proton servizio, puoi scegliere tra due diversi tipi di modelli di servizio:
È necessario creare almeno un'istanza del 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, consultareModifica un servizio.
L'ambiente è configurato per il provisioning o per il provisioning autogestito.AWS AWS Protonfornisce servizi in un ambiente utilizzando lo stesso metodo di approvvigionamento 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, consultaCome AWS Proton fornisce l'infrastruttura.
Modelli di servizio
Sono disponibili versioni principali e secondarie dei modelli di servizio. Quando si utilizza la console, si seleziona la versioneRecommended
principale e secondaria più recente del modello di servizio. Quando si utilizzaAWS CLI e si specifica solo la versione principale del modello di servizio, si specifica implicitamente la versioneRecommended
secondaria più recente.
Di seguito viene descritta la differenza tra le versioni principali e secondarie del modello e il loro utilizzo.
-
Le nuove versioni di un modello vengonoRecommended
visualizzate non appena vengono approvate da un membro del team della piattaforma. Ciò significa che i nuovi servizi vengono creati utilizzando quella versione e all'utente viene richiesto di aggiornare i servizi esistenti alla nuova versione.
-
TramiteAWS Proton, il team della piattaforma può aggiornare automaticamente le istanze del servizio a una nuova versione secondaria di un modello di servizio. Le versioni minori devono essere compatibili con le versioni precedenti.
-
Poiché le versioni principali richiedono di fornire 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 compatibili con le versioni precedenti.
Creazione di un servizio
Le procedure seguenti mostrano come utilizzare laAWS Proton console oAWS 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 Protonconsole, 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 per il servizio.
-
Nella sezione Impostazioni del repository dei servizi:
-
Per CodeStar Connessione, scegli la tua connessione dall'elenco.
-
Per l'ID del repository, scegli il nome del tuo repository di codice sorgente dall'elenco.
-
Per Nome filiale, 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.
-
Seleziona Successivo.
-
Nella pagina Configura impostazioni personalizzate, nella sezione Istanze di servizio, nella sezione Nuova istanza. È necessario inserire valori per irequired
parametri. È possibile inserire valori per ioptional
parametri o utilizzare i valori predefiniti quando vengono forniti.
-
Nella sezione Ingressi della pipeline, è necessario inserire i valori per irequired
parametri. È possibile inserire valori per ioptional
parametri o utilizzare i valori predefiniti quando vengono forniti.
-
Scegli Avanti e rivedi i tuoi input.
-
Scegli Crea.
Visualizza i dettagli e lo stato del servizio, nonché i tagAWS gestiti e i tag gestiti dai clienti per il tuo servizio.
-
Nel riquadro di navigazione scegliere Servizi.
Una nuova pagina mostra un elenco dei tuoi servizi insieme allo stato e ad altri dettagli del servizio.
- AWS CLI
-
Quando si utilizza ilAWS CLI, si specificano gli input del servizio in unspec
file in formato YAML.aws-proton/service.yaml
, situato nella directory del codice sorgente.
È possibile utilizzare ilget-service-template-minor-version
comando CLI per visualizzare i parametri obbligatori e opzionali dello schema per i quali si forniscono i valori nel file delle specifiche.
Se desideri utilizzare un modello di servizio che hapipelineProvisioning: "CUSTOMER_MANAGED"
, non includi lapipeline:
sezione nelle tue specifiche e non-repository-connection-arn
includi e-branch-name
i parametri nel tuocreate-service
comando.-repository-id
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 della CLI.
Comando:
$
aws proton update-account-settings \
--pipeline-service-role-arn "arn:aws:iam::123456789012
:role/AWSProtonServiceRole
"
-
L'elenco seguente mostra una specifica di esempio, basata sullo schema del modello di servizio, che include la pipeline del 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 comando e risposta CLI di esempio.
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 della CLI.
Di seguito viene mostrato un esempio di specifica 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, si fornisce il percorso di unaspec.yaml
e non si includono 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"
}
}