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 un AWS Proton servizio.

  • Modifica la descrizione del servizio.

  • Modifica un servizio aggiungendo e rimuovendo istanze del servizio.

Modifica la descrizione del servizio

È possibile utilizzare la console o AWS CLI 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 Proton console, scegli Servizi.

  2. Nell'elenco dei servizi, scegli il pulsante di opzione a sinistra del servizio che desideri aggiornare.

  3. Scegli Modifica.

  4. Nella pagina Configura 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 Proton console, scegli Servizi.

  2. Nell'elenco dei servizi, scegli il nome del servizio che desideri modificare.

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

  4. Nella pagina Configura 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 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" } }

Modifica un servizio per aggiungere o rimuovere istanze del servizio

Per un AWS Proton servizio, è possibile aggiungere o eliminare istanze di servizio inviando una specifica modificata. Affinché la richiesta abbia esito positivo, devono essere soddisfatte le seguenti condizioni:

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

  • Le specifiche modificate non includono modifiche che modificano la pipeline del servizio o 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 un'istanza di servizio di questo tipo, è necessario prima aggiornare il componente per scollegarlo dalla relativa istanza di servizio. Per ulteriori informazioni sui componenti, vedereAWS Proton componenti.

Le istanze con eliminazione non riuscita sono istanze di servizio nello stato. DELETE_FAILED Quando richiedi una modifica al servizio, AWS Proton tenta di rimuovere al posto tuo le istanze che non sono 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 o. AWS CLI Controlla le risorse dell'infrastruttura dell'istanza che non è riuscita a eliminare e puliscile in modo che AWS Proton possa rimuoverle per conto tuo.

Per la quota di istanze di servizio per un servizio, consulta. AWS Proton quote È inoltre necessario mantenere almeno un'istanza di servizio per il servizio dopo la sua 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 con eliminazione non riuscita sono incluse in questo conteggio e devi tenerne conto quando modifichi le tue. spec

Utilizza la console o AWS CLI per aggiungere o rimuovere istanze di servizio

AWS Management Console

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

Nella console AWS Proton

  1. Nel riquadro di navigazione, scegli Servizi.

  2. Seleziona il servizio che desideri modificare.

  3. Scegli 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 compila il modulo.

  6. Scegli Next (Successivo).

  7. Controlla l'aggiornamento e scegli Salva modifiche.

  8. Una modalità ti 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 modificaspec, come mostrato nei seguenti comandi e risposte di AWS 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 del servizio esistenti che non sono state contrassegnate per l'eliminazione.

L'elenco seguente mostra l'esempio spec 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 list-service-instances comando e la risposta CLI di esempio seguenti mostrano le istanze attive prima di aggiungere o eliminare un'istanza di 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 modificato spec utilizzato per eliminare e aggiungere un'istanza. L'istanza esistente denominata my-instance viene rimossa e yet-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 utilizzare "${Proton::CURRENT_VAL}" per indicare i valori dei parametri da preservare rispetto all'originalespec, se i valori esistono in. spec get-serviceDa utilizzare per visualizzare l'originale spec di un servizio, come descritto inVisualizza i dati del servizio.

L'elenco seguente mostra come è possibile assicurarsi che spec non vengano incluse le modifiche "${Proton::CURRENT_VAL}" ai valori dei parametri affinché le istanze dei servizi esistenti rimangano invariate.

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 e la risposta CLI 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" } }

Il list-service-instances comando e la risposta seguenti confermano che l'istanza esistente denominata my-instance viene rimossa e yet-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 si aggiungono o rimuovono istanze di servizio

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

  • Imposta il servizio su. UPDATE_IN_PROGRESS

  • Se il servizio ha una pipeline, ne imposta lo stato su IN_PROGRESS e blocca le azioni della pipeline.

  • Imposta tutte le istanze del servizio su cui eliminare. DELETE_IN_PROGRESS

  • Blocca le azioni di servizio.

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

  • Crea nuove istanze di servizio.

  • Elimina le istanze elencate per l'eliminazione.

  • Tentativi di rimozione delle istanze non riusciti.

  • Una volta completate le aggiunte e le eliminazioni, riorganizza la pipeline del servizio (se presente), imposta il servizio e abilita le azioni di servizio e pipeline. ACTIVE

AWS Proton tenta di rimediare alle modalità di errore come segue.

  • Se una o più istanze di servizio non vengono create, AWS Proton tenta di annullare il provisioning di tutte le istanze di servizio appena create e ripristina lo stato precedente. spec Non elimina alcuna istanza di servizio e non modifica in alcun modo la pipeline.

  • Se una o più istanze del servizio non vengono eliminate, AWS Proton riorganizza il provisioning della pipeline senza le istanze eliminate. specViene aggiornato per includere le istanze aggiunte e per 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 tag AWS gestiti si propagano e vengono creati automaticamente per le nuove istanze e le risorse assegnate. Se crei nuovi tag, questi 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 Proton risorse e etichettatura.