Modifica un servizio - AWS Proton

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

Modifica un servizio

È possibile apportare le seguenti modifiche a unAWS Proton servizio.

  • Modifica della descrizione del servizio.

  • Modifica un servizio aggiungendo e rimuovendo le istanze del servizio.

Modifica la descrizione del servizio

È possibile utilizzare la console o laAWS CLI per modificare la descrizione di un servizio.

AWS Management Console

Modifica un servizio utilizzando la console come descritto nei passaggi seguenti.

Nell'elenco dei servizi.
  1. Nella AWS Protonconsole, scegli Servizi.

  2. Nell'elenco dei servizi, scegliere il pulsante di opzione a sinistra del servizio che si desidera aggiornare.

  3. Scegliere Edit (Modifica).

  4. Nella pagina Configura il servizio, compila il modulo e scegli Avanti.

  5. Nella pagina Configura impostazioni personalizzate, scegli Avanti.

  6. Controlla le modifiche e scegli Salva modifiche.

Nella pagina dei dettagli del servizio.
  1. Nella AWS Protonconsole, scegli Servizi.

  2. Nell'elenco dei servizi, scegliere il nome del servizio che si desidera modificare.

  3. Nella pagina dei dettagli del servizio, scegli Modifica.

  4. Nella pagina Configura il servizio, compila il modulo e scegli Avanti.

  5. Nella pagina Configura impostazioni personalizzate, compila il modulo e scegli Avanti.

  6. Controlla le modifiche e scegli Salva modifiche.

AWS CLI

Modifica una descrizione come mostrato nel seguente esempio di comando e risposta della CLI.

Comando:

$ aws proton update-service \ --name "MySimpleService" \ --description "Edit by updating description"

Risposta:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "branchName": "main", "createdAt": "2021-03-12T22:39:42.318000+00:00", "description": "Edit by updating description", "lastModifiedAt": "2021-03-12T22:44:21.975000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "my-repository/myorg-myapp", "status": "ACTIVE", "templateName": "fargate-service" } }

Modificare un servizio per aggiungere o rimuovere istanze di servizio

Per unAWS Proton servizio, è possibile aggiungere o eliminare le istanze del servizio inviando una specifica modificata. Per garantire l'esito positivo della richiesta, è necessario che siano soddisfatte le condizioni elencate di seguito.

  • Il servizio e la pipeline non sono già stati modificati o eliminati quando invii la richiesta di modifica.

  • Le specifiche modificate non includono le modifiche che modificano la pipeline del servizio o le modifiche alle istanze di servizio esistenti che non devono essere eliminate.

  • La specifica modificata non rimuove alcuna istanza di servizio esistente a cui è collegato un componente. Per eliminare tale istanza di servizio, è necessario innanzitutto aggiornare il componente per scollegarlo dalla relativa istanza di servizio. Per ulteriori informazioni sui componenti, consultaAWS Proton componenti .

Le istanze con eliminazione non riuscita sono istanze di servizio nelloDELETE_FAILED stato. Quando richiedi una modifica del servizio,AWS Proton tenta di rimuovere automaticamente le istanze non riuscite a eliminare, come parte del processo di modifica. Se una delle istanze del servizio non è stata eliminata, potrebbero esserci ancora risorse associate alle istanze, anche se non sono visibili dalla console oAWS CLI. Controlla le risorse dell'infrastruttura dell'istanza che non è riuscita a eliminare e puliscile in modoAWS Proton da poterle rimuovere automaticamente.

Per la quota di istanze di servizio per un servizio, vedereQuote AWS Proton. È inoltre necessario mantenere almeno un'istanza di servizio per il servizio dopo la creazione. Durante il processo di aggiornamento,AWS Proton effettua un conteggio delle istanze del servizio esistenti e delle istanze da aggiungere o rimuovere. Le istanze non riuscite a eliminare sono incluse in questo conteggio e devi tenerne conto quando modifichi il tuospec.

Usa la console oAWS CLI per aggiungere o rimuovere istanze di servizio

AWS Management Console

Modifica il tuo servizio per aggiungere o rimuovere istanze di servizio utilizzando la console.

Nella AWS Protonconsole

  1. Nel riquadro di navigazione scegliere Servizi.

  2. Selezionare il servizio da modificare.

  3. Scegliere Edit (Modifica).

  4. (Facoltativo) Nella pagina Configura servizio, modifica il nome o la descrizione del servizio, quindi scegli Avanti.

  5. Nella pagina Configura impostazioni personalizzate, scegli Elimina per eliminare un'istanza del servizio e scegli Aggiungi nuova istanza per aggiungere un'istanza del servizio e compilare il modulo.

  6. Seleziona Successivo.

  7. Controlla l'aggiornamento e scegli Salva modifiche.

  8. Un modale chiede di verificare l'eliminazione delle istanze del servizio. Segui le istruzioni e scegli Sì, elimina.

  9. Nella pagina dei dettagli del servizio, visualizza i dettagli sullo stato del servizio.

AWS CLI

Aggiungi ed elimina le istanze del servizio con una modifica,spec come mostrato nei seguenti comandi e risposte diAWS CLI esempio.

Quando si utilizza la CLI, èspec necessario escludere le istanze del servizio da eliminare e includere sia le istanze del servizio da aggiungere sia le istanze di servizio esistenti che non sono state contrassegnate per l'eliminazione.

L'elenco seguente mostra l'esempiospec prima della modifica e un elenco delle istanze del servizio distribuite dalla specifica. Questa specifica è stata utilizzata nell'esempio precedente per modificare la descrizione di un servizio.

Specifiche:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "abc" my_sample_pipeline_required_input: "123" instances: - name: "my-instance" environment: "simple-env" spec: my_sample_service_instance_optional_input: "def" my_sample_service_instance_required_input: "456" - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

Il seguente esempio dilist-service-instances comando e risposta CLI mostra le istanze attive prima di aggiungere o eliminare un'istanza del servizio.

Comando:

$ aws proton list-service-instances \ --service-name "MySimpleService"

Risposta:

{ "serviceInstances": [ { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00", "name": "my-other-instance", "serviceName": "example-svc", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" }, { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.160000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:39:43.160000+00:00", "name": "my-instance", "serviceName": "example-svc", "serviceTemplateArn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" } ] }

L'elenco seguente mostra l'esempio modificatospec utilizzato per eliminare e aggiungere un'istanza. L'istanza esistente denominatamy-instance viene rimossa eyet-another-instance viene aggiunta una nuova istanza denominata.

Specifiche:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "abc" my_sample_pipeline_required_input: "123" instances: - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789" - name: "yet-another-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

È possibile"${Proton::CURRENT_VAL}" utilizzarlo per indicare quali valori dei parametri conservare rispetto all'originalespec, se i valori esistono inspec. get-serviceUtilizzatelospec per visualizzare l'originale di un servizio, come descritto inVisualizzazione dei dati del servizio.

L'elenco seguente mostra come fare in modo che le modifiche"${Proton::CURRENT_VAL}" ai valori dei parametrispec non vengano incluse per le istanze dei servizi esistenti.

Specifiche:

proton: ServiceSpec pipeline: my_sample_pipeline_optional_input: "${Proton::CURRENT_VAL}" my_sample_pipeline_required_input: "${Proton::CURRENT_VAL}" instances: - name: "my-other-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "${Proton::CURRENT_VAL}" - name: "yet-another-instance" environment: "simple-env" spec: my_sample_service_instance_required_input: "789"

L'elenco successivo mostra il comando CLI e la risposta per modificare il servizio.

Comando:

$ aws proton update-service --name "MySimpleService" \ --description "Edit by adding and deleting a service instance" \ --spec "file://spec.yaml"

Risposta:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "branchName": "main", "createdAt": "2021-03-12T22:39:42.318000+00:00", "description": "Edit by adding and deleting a service instance", "lastModifiedAt": "2021-03-12T22:55:48.169000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "my-repository/myorg-myapp", "status": "UPDATE_IN_PROGRESS", "templateName": "fargate-service" } }

Illist-service-instances comando e la risposta seguenti confermano che l'istanza esistente denominatamy-instance viene rimossa eyet-another-instance viene aggiunta una nuova istanza denominata.

Comando:

$ aws proton list-service-instances \ --service-name "MySimpleService"

Risposta:

{ "serviceInstances": [ { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/yet-another-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:56:01.565000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:56:01.565000+00:00", "name": "yet-another-instance", "serviceName": "MySimpleService", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" }, { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService/service-instance/my-other-instance", "createdAt": "2021-03-12T22:39:42.318000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-03-12T22:39:43.109000+00:00", "lastDeploymentSucceededAt": "2021-03-12T22:39:43.109000+00:00", "name": "my-other-instance", "serviceName": "MySimpleService", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "fargate-service" } ] }

Cosa succede quando aggiungi o rimuovi istanze del servizio

Dopo aver inviato una modifica del servizio per eliminare e aggiungere istanze del servizio,AWS Proton effettua le seguenti azioni.

  • Imposta il servizio suUPDATE_IN_PROGRESS.

  • Se il servizio dispone di una pipeline, ne imposta lo statoIN_PROGRESS e blocca le azioni della pipeline.

  • Imposta tutte le istanze di servizio in cui devono essere eliminateDELETE_IN_PROGRESS.

  • Blocca le azioni del servizio.

  • Blocca le azioni sulle istanze del servizio contrassegnate per l'eliminazione.

  • Crea nuove istanze di servizio.

  • Elimina le istanze che hai elencato per l'eliminazione.

  • Tenta di rimuovere le istanze non riuscite a eliminare.

  • Una volta completate le aggiunte e le eliminazioni, rifornisce la pipeline del servizio (se presente), imposta il servizio suACTIVE e abilita le azioni relative al servizio e alla pipeline.

AWS Protontenta di rimediare le modalità di errore come segue.

  • Se una o più istanze di servizio non sono state create,AWS Proton tenta di rimuovere tutte le istanze di servizio appena create e lespec ripristina allo stato precedente. Non elimina alcuna istanza di servizio e non modifica la pipeline in alcun modo.

  • Se una o più istanze del servizio non sono state eliminate,AWS Proton rifornisce la pipeline senza le istanze eliminate. specViene aggiornato per includere le istanze aggiunte ed escludere le istanze contrassegnate per l'eliminazione.

  • Se la pipeline non riesce a eseguire il provisioning, non viene tentato un rollback e sia il servizio che la pipeline riflettono uno stato di aggiornamento non riuscito.

Etichettatura e modifiche al servizio

Quando si aggiungono istanze di servizio come parte della modifica del servizio, i tagAWS gestiti si propagano e vengono creati automaticamente per le nuove istanze e le risorse assegnate. Se crei nuovi tag, tali tag vengono applicati solo alle nuove istanze. I tag esistenti gestiti dai clienti del servizio si propagano anche alle nuove istanze. Per ulteriori informazioni, consulta AWS Protonrisorse e Tagging.