Aktualisieren Sie eine Dienstinstanz - AWS Proton

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aktualisieren Sie eine Dienstinstanz

Erfahren Sie, wie Sie eine AWS Proton Dienstinstanz aktualisieren und das Update abbrechen.

Eine Dienstinstanz gehört zu einem Dienst. Sie können eine Instanz nur im Rahmen von Aktionen zum Bearbeiten, Erstellen und Löschen von Diensten erstellen oder löschen. Informationen zum Hinzufügen und Entfernen von Instanzen zu einem Service finden Sie unterBearbeiten Sie einen Dienst.

Es gibt vier Modi zum Aktualisieren einer Dienstinstanz, wie in der folgenden Liste beschrieben. Bei Verwendung von definiert das deployment-type Feld den Modus. AWS CLI Bei Verwendung der Konsole sind diese Modi den Aktionen Bearbeiten und Auf neueste Nebenversion aktualisieren und Auf neueste Hauptversion aktualisieren zugeordnet, die auf der Detailseite der Service-Instanz im Dropdownmenü Aktionen angezeigt werden.

NONE

In diesem Modus findet keine Bereitstellung statt. Nur die angeforderten Metadatenparameter werden aktualisiert.

CURRENT_VERSION

In diesem Modus wird die Dienstinstanz bereitgestellt und mit der neuen Spezifikation, die Sie angeben, aktualisiert. Nur die angeforderten Parameter werden aktualisiert. Geben Sie keine Parameter für Neben- oder Hauptversionen an, wenn Sie dies verwendendeployment-type.

MINOR_VERSION

In diesem Modus wird die Dienstinstanz bereitgestellt und standardmäßig mit der veröffentlichten, empfohlenen (neuesten) Nebenversion der aktuell verwendeten Hauptversion aktualisiert. Sie können auch eine andere Nebenversion der aktuell verwendeten Hauptversion angeben.

MAJOR_VERSION

In diesem Modus wird die Dienstinstanz standardmäßig bereitgestellt und mit der veröffentlichten, empfohlenen (neuesten) Haupt- und Nebenversion der aktuellen Vorlage aktualisiert. Sie können auch eine andere Hauptversion angeben, die höher ist als die verwendete Hauptversion und eine Nebenversion (optional).

Sie können versuchen, die Bereitstellung eines Service Instance-Updates abzubrechen, falls dies der Fall deploymentStatus istIN_PROGRESS. AWS Proton versucht, die Bereitstellung abzubrechen. Eine erfolgreiche Stornierung ist nicht garantiert.

Wenn Sie eine Update-Bereitstellung stornieren, wird AWS Proton versucht, die Bereitstellung wie in den folgenden Schritten beschrieben abzubrechen.

  • Setzt den Bereitstellungsstatus aufCANCELLING.

  • Stoppt die laufende Bereitstellung und löscht alle neuen Ressourcen, die durch die Bereitstellung erstellt wurden, wannIN_PROGRESS.

  • Setzt den Bereitstellungsstatus aufCANCELLED.

  • Setzt den Zustand der Ressource auf den Zustand vor dem Start der Bereitstellung zurück.

Weitere Informationen zum Abbrechen einer Service-Instance-Bereitstellung finden Sie CancelServiceInstanceDeploymentin der AWS Proton API-Referenz.

Verwenden Sie die Konsole oder AWS CLI um Aktualisierungen vorzunehmen oder Update-Bereitstellungen abzubrechen.

AWS Management Console

Aktualisieren Sie eine Dienstinstanz mithilfe der Konsole, indem Sie die folgenden Schritte ausführen.

  1. Wählen Sie in der AWS Proton Konsole im Navigationsbereich Service Instances aus.

  2. Wählen Sie in der Liste der Dienstinstanzen den Namen der Dienstinstanz aus, die Sie aktualisieren möchten.

  3. Wählen Sie Aktionen und dann eine der Aktualisierungsoptionen, Bearbeiten, um die Spezifikation oder Aktionen zu aktualisieren, und dann Auf die neueste Nebenversion aktualisieren oder Auf die neueste Hauptversion aktualisieren.

  4. Füllen Sie jedes Formular aus und klicken Sie auf Weiter, bis Sie zur Seite „Überprüfen“ gelangen.

  5. Überprüfe deine Änderungen und wähle „Aktualisieren“.

AWS CLI

Aktualisieren Sie eine Dienstinstanz auf eine neue Nebenversion, wie in den CLI-Beispielbefehlen und -antworten gezeigt.

Wenn Sie Ihre Serviceinstanz mit einer geänderten Version aktualisierenspec, können Sie "${Proton::CURRENT_VAL}" damit angeben, welche Parameterwerte gegenüber dem Original beibehalten werden sollenspec, sofern die Werte in der vorhanden sindspec. get-serviceDient zum Anzeigen des Originals spec für eine Serviceinstanz, wie unter beschriebenServicedaten anzeigen.

Das folgende Beispiel zeigt, wie Sie "${Proton::CURRENT_VAL}" in a verwenden könnenspec.

Spezifikation:

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"

Befehl: zum Aktualisieren

$ 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"

Antwort:

{ "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" } }

Befehl: um den Status abzurufen und zu bestätigen

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

Antwort:

{ "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

Brechen Sie die Bereitstellung einer Service-Instanz mithilfe der Konsole ab, wie in den folgenden Schritten gezeigt.

  1. Wählen Sie in der AWS Proton Konsole im Navigationsbereich Service Instances aus.

  2. Wählen Sie in der Liste der Dienstinstanzen den Namen der Dienstinstanz mit dem Bereitstellungsupdate aus, das Sie stornieren möchten.

  3. Wenn der Status der Update-Bereitstellung auf In Bearbeitung steht, wählen Sie auf der Detailseite der Service-Instanz Aktionen und dann Bereitstellung abbrechen aus.

  4. In einem Modalfenster werden Sie aufgefordert, die Stornierung zu bestätigen. Wählen Sie Bereitstellung abbrechen aus.

  5. Ihr Status für die Bereitstellung von Updates ist auf Storniert und dann auf Storniert gesetzt, um die Stornierung abzuschließen.

AWS CLI

Brechen Sie ein Update zur Bereitstellung einer IN_PROGRESS-Dienstinstanz auf die neue Nebenversion 2 ab, wie in den folgenden CLI-Beispielbefehlen und -antworten gezeigt.

Die für dieses Beispiel verwendete Vorlage enthält eine Wartebedingung, sodass der Abbruch beginnt, bevor die Bereitstellung des Updates erfolgreich ist.

Befehl: zum Abbrechen

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

Antwort:

{ "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" } }

Befehl: um den Status abzurufen und zu bestätigen

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

Antwort:

{ "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" } }