Aggiornamento di un'istanza del 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à.

Aggiornamento di un'istanza del servizio

Scopri come aggiornare un'istanzaAWS Proton del servizio e annullare l'aggiornamento.

Un'istanza di servizio appartiene a un servizio. È possibile creare o eliminare un'istanza solo nel contesto delle azioni di modifica, creazione ed eliminazione del servizio. Per informazioni su come aggiungere e rimuovere istanze da un servizio, consultareModifica un servizio.

Esistono quattro modalità per aggiornare un'istanza del servizio, come descritto nell'elenco seguente. Quando si utilizza ilAWS CLI, ildeployment-type campo definisce la modalità. Quando si utilizza la console, queste modalità vengono associate alle azioni Modifica e Aggiorna alla versione secondaria più recente e Aggiorna alla versione principale più recente che vengono visualizzate in Azioni nella pagina dei dettagli dell'istanza del servizio.

NONE

In questa modalità, non si verifica una distribuzione. Vengono aggiornati solo i parametri dei metadati richiesti.

CURRENT_VERSION

In questa modalità, l'istanza del servizio viene distribuita e aggiornata con le nuove specifiche fornite. Vengono aggiornati solo i parametri richiesti. Non includere parametri di versione secondari o principali quando lo usideployment-type.

MINOR_VERSION

In questa modalità, l'istanza del servizio viene distribuita e aggiornata con la versione secondaria pubblicata e consigliata (più recente) della versione principale corrente in uso per impostazione predefinita. È inoltre possibile specificare una versione secondaria diversa della versione principale corrente in uso.

MAJOR_VERSION

In questa modalità, per impostazione predefinita, l'istanza del servizio viene distribuita e aggiornata con la versione principale e secondaria pubblicata e consigliata (più recente) del modello corrente. È inoltre possibile specificare una versione principale diversa superiore alla versione principale in uso e una versione secondaria (opzionale).

È possibile tentare di annullare la distribuzione dell'aggiornamento di un'istanza di servizio, se lodeploymentStatus èIN_PROGRESS. AWS Protontenta di annullare la distribuzione. L'annullamento riuscito non è garantito.

Quando si annulla la distribuzione di un aggiornamento,AWS Proton tenta di annullare la distribuzione come indicato nei passaggi seguenti.

  • Imposta lo stato di distribuzione suCANCELLING.

  • Interrompe la distribuzione in corso ed elimina tutte le nuove risorse create dalla distribuzione quandoIN_PROGRESS.

  • Imposta lo stato di distribuzione suCANCELLED.

  • Riporta lo stato della risorsa allo stato precedente all'avvio della distribuzione.

Per ulteriori informazioni sull'annullamento della distribuzione di un'istanza di servizio, consulta CancelServiceInstanceDeploymentl'AWS ProtonAPI Reference.

Usa la console oAWS CLI per effettuare aggiornamenti o annullare le distribuzioni degli aggiornamenti.

AWS Management Console

Aggiorna un'istanza di servizio utilizzando la console seguendo questi passaggi.

  1. Nella AWS Protonconsole, scegli istanze di servizio nel riquadro di navigazione.

  2. Nell'elenco delle istanze del servizio, scegliere il nome dell'istanza del servizio che si desidera aggiornare.

  3. Scegli Azioni e quindi scegli una delle opzioni di aggiornamento, Modifica per aggiornare le specifiche o le azioni e quindi Aggiorna all'ultima versione secondaria o Aggiorna all'ultima versione principale.

  4. Compila ogni modulo e scegli Avanti fino a raggiungere la pagina della recensione.

  5. Controlla le modifiche e scegli Aggiorna.

AWS CLI

Aggiorna un'istanza di servizio a una nuova versione secondaria, come mostrato nei comandi e nelle risposte di esempio della CLI.

Quando si aggiorna l'istanza del servizio con una modificaspec, è possibile utilizzarla"${Proton::CURRENT_VAL}" per indicare quali valori dei parametri conservare rispetto all'originalespec, se i valori esistono inspec. get-serviceUtilizzatelospec per visualizzare l'originale di un'istanza del servizio, come descritto inVisualizzazione dei dati del servizio.

L'esempio seguente mostra come utilizzare"${Proton::CURRENT_VAL}" in unspec.

Specifiche:

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

Comando: aggiornare

$ aws proton update-service-instance \ --name "instance-one" \ --service-name "simple-svc" \ --spec "file://service-spec.yaml" \ --template-major-version "1" \ --template-minor-version "1" \ --deployment-type "MINOR_VERSION"

Risposta:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "IN_PROGRESS", "environmentName": "arn:aws:proton:region-id:123456789012:environment/simple-env", "lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:29:59.962000+00:00", "name": "instance-one", "serviceName": "simple-svc", "templateMajorVersion": "1", "templateMinorVersion": "0", "templateName": "svc-simple" } }

Comando: per ottenere e confermare lo stato

$ aws proton get-service-instance \ --name "instance-one" \ --service-name "simple-svc"

Risposta:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "SUCCEEDED", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-04-02T21:38:00.823000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00", "name": "instance-one", "serviceName": "simple-svc", "spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"kls-simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" } }
AWS Management Console

Annullare la distribuzione di un'istanza di servizio utilizzando la console, come illustrato nei passaggi seguenti.

  1. Nella AWS Protonconsole, scegli istanze di servizio nel riquadro di navigazione.

  2. Nell'elenco delle istanze del servizio, scegliere il nome dell'istanza del servizio con l'aggiornamento della distribuzione che si desidera annullare.

  3. Se lo stato di distribuzione dell'aggiornamento è In corso, nella pagina dei dettagli dell'istanza del servizio, scegli Azioni e quindi Annulla distribuzione.

  4. Una modalità chiederà di confermare la cancellazione. Scegli Annulla distribuzione.

  5. Lo stato di distribuzione degli aggiornamenti è impostato su Annullamento e quindi su Annullato per completare l'annullamento.

AWS CLI

Annulla l'aggiornamento della distribuzione di un'istanza del servizio IN_PROGRESS alla nuova versione secondaria 2, come mostrato nei seguenti comandi e risposte di esempio della CLI.

Nel modello utilizzato per questo esempio è inclusa una condizione di attesa in modo che l'annullamento inizi prima che la distribuzione dell'aggiornamento abbia esito positivo.

Comando: annullare

$ aws proton cancel-service-instance-deployment \ --service-instance-name "instance-one" \ --service-name "simple-svc"

Risposta:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "CANCELLING", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00", "name": "instance-one", "serviceName": "simple-svc", "spec": "proton: ServiceSpec\npipeline:\n my_sample_pipeline_optional_input: abc\n my_sample_pipeline_required_input: '123'\ninstances:\n- name: my-instance\n environment: MySimpleEnv\n spec:\n my_sample_service_instance_optional_input: def\n my_sample_service_instance_required_input: '456'\n- name: my-other-instance\n environment: MySimpleEnv\n spec:\n my_sample_service_instance_required_input: '789'\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" } }

Comando: per ottenere e confermare lo stato

$ aws proton get-service-instance \ --name "instance-one" \ --service-name "simple-svc"

Risposta:

{ "serviceInstance": { "arn": "arn:aws:proton:region-id:123456789012:service/simple-svc/service-instance/instance-one", "createdAt": "2021-04-02T21:29:59.962000+00:00", "deploymentStatus": "CANCELLED", "deploymentStatusMessage": "User initiated cancellation.", "environmentName": "simple-env", "lastDeploymentAttemptedAt": "2021-04-02T21:45:15.406000+00:00", "lastDeploymentSucceededAt": "2021-04-02T21:38:00.823000+00:00", "name": "instance-one", "serviceName": "simple-svc", "spec": "proton: ServiceSpec\n\npipeline:\n my_sample_pipeline_optional_input: \"abc\"\n my_sample_pipeline_required_input: \"123\"\n\ninstances:\n - name: \"instance-one\"\n environment: \"simple-env\"\n spec:\n my_sample_service_instance_optional_input: \"def\"\n my_sample_service_instance_required_input: \"456\"\n - name: \"my-other-instance\"\n environment: \"kls-simple-env\"\n spec:\n my_sample_service_instance_required_input: \"789\"\n", "templateMajorVersion": "1", "templateMinorVersion": "1", "templateName": "svc-simple" } }