Aktualisierung einer Serviceinstance-Instance - 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.

Aktualisierung einer Serviceinstance-Instance

Erfahren Sie, wie Sie eineAWS Proton Service-Instance 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. Wie Sie Instances zu einem Service hinzufügen und daraus entfernen, erfahren Sie unterDienst bearbeiten.

Es gibt vier Modi für die Aktualisierung einer Dienstinstanz, wie in der folgenden Liste beschrieben. Bei Verwendung von definiert dasdeployment-type Feld den Modus.AWS CLI Wenn Sie die Konsole verwenden, werden diese Modi den Aktionen Bearbeiten und Auf neueste Nebenversion aktualisieren und Auf neueste Hauptversion aktualisieren zugeordnet, die unter Aktionen auf der Service-Instanz-Detailseite 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 angeforderte 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 mit der veröffentlichten, empfohlenen (neuesten) Nebenversion der aktuell verwendeten Hauptversion aktualisiert, die standardmäßig verwendet wird. Sie können auch eine andere Nebenversion der aktuell verwendeten Hauptversion angeben.

MAJOR_VERSION

In diesem Modus wird die Dienstinstanz standardmäßig mit der veröffentlichten, empfohlenen (neuesten) Haupt- und Nebenversion der aktuellen Vorlage bereitgestellt und 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 FalldeploymentStatus istIN_PROGRESS. AWS Protonversucht, die Bereitstellung abzubrechen. Eine erfolgreiche Stornierung ist nicht garantiert.

Wenn Sie eine Update-Bereitstellung stornieren, wirdAWS Proton versucht, die Bereitstellung abzubrechen, wie in den folgenden Schritten aufgeführt.

  • Setzt den Bereitstellungsstatus aufCANCELLING.

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

  • Setzt den Bereitstellungsstatus aufCANCELLED.

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

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

Verwenden Sie die Konsole oderAWS CLI um Updates vorzunehmen oder die Bereitstellung von Updates 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 ProtonKonsole im Navigationsbereich Service-Instanzen aus.

  2. Wählen Sie in der Liste der Service-Instances den Namen der Service-Instance aus, die Sie aktualisieren möchten.

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

  4. Füllen Sie jedes Formular aus und wählen Sie Weiter, bis Sie die Seite „Bewertung“ erreichen.

  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 Service-Instance mit einer Änderung 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. Wird verwendetget-service, um das Originalspec für eine Dienstinstanz anzuzeigen, wie unter beschriebenAnzeigen von Servicedaten.

Das folgende Beispiel zeigt, wie Sie"${Proton::CURRENT_VAL}" in einen 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-Instance mithilfe der Konsole ab, wie in den folgenden Schritten gezeigt.

  1. Wählen Sie in der AWS ProtonKonsole im Navigationsbereich Service-Instanzen aus.

  2. Wählen Sie in der Liste der Service-Instances den Namen der Service-Instance aus, die das Bereitstellungsupdate enthält, das Sie abbrechen möchten.

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

  4. Ein Modal fordert Sie auf, den Abbruch zu bestätigen. Wählen Sie Bereitstellung stornieren aus.

  5. Ihr Update-Bereitstellungsstatus ist auf Storniert und dann auf Storniert gesetzt, um die Stornierung abzuschließen.

AWS CLI

Brechen Sie ein Update der IN_PROGRESS-Dienstinstanzbereitstellung 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 die Stornierung beginnt, bevor die Aktualisierung erfolgreich bereitgestellt wird.

Befehl: stornieren

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