Dienst bearbeiten - 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.

Dienst bearbeiten

Sie können die folgenden Änderungen an einemAWS Proton Dienst vornehmen.

  • Bearbeiten der Servicebeschreibung.

  • Bearbeiten Sie einen Dienst, indem Sie Dienstinstanzen hinzufügen und entfernen.

Servicebeschreibung bearbeiten

Sie können über die Konsole oder überAWS CLI eine Servicebeschreibung bearbeiten.

AWS Management Console

Bearbeiten Sie einen Service mithilfe der Konsole wie in den folgenden Schritten beschrieben.

In der Liste der Dienste.
  1. Wählen Sie in der AWS ProtonKonsole Dienste aus.

  2. Wählen Sie in der Liste der Services das Optionsfeld links neben dem Dienst aus, den Sie aktualisieren möchten.

  3. Wählen Sie Edit (Bearbeiten) aus.

  4. Füllen Sie auf der Seite Service konfigurieren das Formular aus und wählen Sie Weiter.

  5. Wählen Sie auf der Seite Benutzerdefinierte Einstellungen konfigurieren die Option Weiter.

  6. Überprüfen Sie Ihre Änderungen und wählen Sie Änderungen speichern.

Auf der Seite mit den Servicedetails.
  1. Wählen Sie in der AWS ProtonKonsole Dienste aus.

  2. Wählen Sie in der Liste der Services den Namen des anzuzeigenden Service.

  3. Wählen Sie auf der Seite mit den Servicedetails die Option Bearbeiten aus.

  4. Füllen Sie auf der Seite Service konfigurieren das Formular aus und wählen Sie Weiter.

  5. Füllen Sie auf der Seite Benutzerdefinierte Einstellungen konfigurieren das Formular aus und wählen Sie Weiter.

  6. Überprüfen Sie Ihre Änderungen und wählen Sie Änderungen speichern.

AWS CLI

Bearbeiten Sie eine Beschreibung wie im folgenden CLI-Beispiel für Befehl und Antwort gezeigt.

Befehl:

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

Antwort:

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

Bearbeiten Sie einen Dienst, um Dienstinstanzen hinzuzufügen oder zu entfernen

Für einenAWS Proton Service können Sie Dienstinstanzen hinzufügen oder löschen, indem Sie eine bearbeitete Spezifikation einreichen. Für eine erfolgreiche Anfrage müssen die folgenden Bedingungen erfüllt sei:

  • Ihr Service und Ihre Pipeline wurden nicht bereits bearbeitet oder gelöscht, als Sie die Bearbeitungsanfrage einreichen.

  • Ihre bearbeitete Spezifikation umfasst keine Änderungen, die die Service-Pipeline ändern, oder Änderungen an vorhandenen Service-Instanzen, die nicht gelöscht werden sollen.

  • Ihre bearbeitete Spezifikation entfernt keine vorhandene Dienstinstanz, die über eine angehängte Komponente verfügt. Um eine solche Dienstinstanz zu löschen, sollten Sie zuerst die Komponente aktualisieren, um sie von ihrer Dienstinstanz zu trennen. Weitere Informationen zu Komponenten finden Sie unterAWS Proton-Komponenten.

Instanzen, bei denen das Löschen fehlgeschlagen ist, sind Dienstinstanzen imDELETE_FAILED Bundesstaat. Wenn Sie eine Service-Bearbeitung anfordern, wird im Rahmen des BearbeitungsprozessesAWS Proton versucht, die Instanzen, bei denen der Löschvorgang fehlgeschlagen ist, für Sie zu entfernen. Wenn eine Ihrer Service-Instanzen nicht gelöscht werden konnte, sind möglicherweise immer noch Ressourcen mit den Instanzen verknüpft, auch wenn sie von der Konsole oder aus nicht sichtbar sindAWS CLI. Überprüfen Sie die Infrastrukturressourcen Ihrer Instance, bei denen das Löschen fehlgeschlagen ist, und bereinigen Sie sie, damit sie für Sie entfernt werdenAWS Proton können.

Das Kontingent an Service-Instanzen für einen Service finden Sie unterAWS Proton-Kontingente. Sie müssen außerdem mindestens eine Service-Instance für Ihren Service verwalten, nachdem er erstellt wurde. Zählt während des Aktualisierungsvorgangs die vorhandenen Dienstinstanzen und die Instanzen, die hinzugefügt oder entfernt werden sollen.AWS Proton Instanzen, bei denen das Löschen fehlgeschlagen ist, sind in dieser Anzahl enthalten. Sie müssen sie berücksichtigen, wenn Sie Ihre Instanzen bearbeitenspec.

Verwenden Sie die Konsole oderAWS CLI um Service-Instanzen hinzuzufügen oder zu entfernen

AWS Management Console

Bearbeiten Sie Ihren Service, um mithilfe der Konsole Service-Instanzen hinzuzufügen oder zu entfernen.

In der AWS ProtonKonsole

  1. Wählen Sie im Navigationsbereich -Services aus.

  2. Wählen Sie den Service aus, den Sie bearbeiten möchten.

  3. Wählen Sie Edit (Bearbeiten) aus.

  4. (Optional) Bearbeiten Sie auf der Seite „Service konfigurieren“ den Dienstnamen oder die Beschreibung und wählen Sie dann Weiter.

  5. Wählen Sie auf der Seite Benutzerdefinierte Einstellungen konfigurieren die Option Löschen, um eine Dienstinstanz zu löschen, und wählen Sie Neue Instanz hinzufügen, um eine Dienstinstanz hinzuzufügen, und füllen Sie das Formular aus.

  6. Wählen Sie Next (Weiter).

  7. Überprüfen Sie Ihr Update und wählen Sie Änderungen speichern.

  8. Ein Modal fordert Sie auf, das Löschen von Service-Instanzen zu überprüfen. Folgen Sie den Anweisungen und wählen Sie Ja, löschen.

  9. Sehen Sie sich auf der Seite mit den Servicedetails die Statusdetails für Ihren Service an.

AWS CLI

Fügen Sie Dienstinstanzen hinzu und löschen Sie sie,spec wie im folgendenAWS CLI Beispiel gezeigt, Befehle und Antworten.

Wenn Sie die CLI verwenden,spec müssen Sie die zu löschenden Service-Instanzen ausschließen und sowohl die hinzuzufügenden Service-Instanzen als auch die vorhandenen Service-Instanzen, die Sie nicht zum Löschen markiert haben, einbeziehen.

Die folgende Liste zeigt das Beispielspec vor der Bearbeitung und eine Liste der von der Spezifikation bereitgestellten Service-Instanzen. Diese Spezifikation wurde im vorherigen Beispiel für die Bearbeitung einer Servicebeschreibung verwendet.

Spezifikation:

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"

Der folgendelist-service-instances CLI-Beispielbefehl mit Antwort zeigt die aktiven Instanzen vor dem Hinzufügen oder Löschen einer Dienstinstanz.

Befehl:

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

Antwort:

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

Die folgende Liste zeigt das bearbeitete Beispiel, das zum Löschen und Hinzufügen einer Instanzspec verwendet wurde. Die vorhandene Instanz mit dem Namenmy-instance wird entfernt und eine neue Instanz mit dem Namenyet-another-instance wird hinzugefügt.

Spezifikation:

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"

Sie können"${Proton::CURRENT_VAL}" damit angeben, welche Parameterwerte gegenüber dem Original beibehalten werdenspec sollen, sofern die Werte in vorhanden sindspec. Wird verwendetget-service, um das Originalspec für einen Dienst anzuzeigen, wie unter beschriebenAnzeigen von Servicedaten.

Die folgende Liste zeigt, wie Sie sicherstellen können"${Proton::CURRENT_VAL}", dass Ihre Parameterwertespec nicht enthalten, damit die vorhandenen Services-Instanzen erhalten bleiben.

Spezifikation:

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"

Die nächste Liste zeigt den CLI-Befehl und die Antwort zum Bearbeiten des Dienstes.

Befehl:

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

Antwort:

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

Der folgendelist-service-instances Befehl und die folgende Antwort bestätigen, dass die vorhandene benanntemy-instance Instanz entfernt und eine neue Instanz mit dem Namenyet-another-instance hinzugefügt wurde.

Befehl:

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

Antwort:

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

Was geschieht, wenn Sie Service-Instances hinzufügen oder entfernen

Nachdem Sie eine Service-Bearbeitung zum Löschen und Hinzufügen von Service-Instanzen eingereicht haben,AWS Proton werden die folgenden Aktionen ausgeführt.

  • Setzt den Dienst aufUPDATE_IN_PROGRESS.

  • Wenn der Dienst über eine Pipeline verfügt, setzt dessen Status aufIN_PROGRESS und blockiert Pipeline-Aktionen.

  • Legt alle Service-Instanzen fest, auf die gelöscht werden sollDELETE_IN_PROGRESS.

  • Sperrt Serviceaktionen.

  • Sperrt Aktionen auf Service-Instanzen, die zum Löschen markiert sind.

  • Erzeugt neue Dienstinstanzen.

  • Löscht Instanzen, die Sie zum Löschen aufgelistet haben.

  • Versuche, Instanzen zu entfernen, bei denen der Löschvorgang fehlgeschlagen ist.

  • Nachdem das Hinzufügen und Löschen abgeschlossen ist, stellen Sie die Service-Pipeline erneut bereit (falls vorhanden), setzen Ihren Service aufACTIVE und aktivieren Service- und Pipeline-Aktionen.

AWS Protonversucht, Fehlermodi wie folgt zu beheben.

  • Wenn eine oder mehrere Dienstinstanzen nicht erstellt werden konnten, wirdAWS Proton versucht, die Bereitstellung aller neu erstellten Dienstinstanzenspec aufzuheben, und der vorherige Status wird wiederhergestellt. Es löscht keine Service-Instanzen und ändert die Pipeline in keiner Weise.

  • Wenn eine oder mehrere Dienstinstanzen nicht gelöscht werden konnten, wird die Pipeline ohne die gelöschten InstanzenAWS Proton erneut bereitgestellt. Diespec wurde aktualisiert, um die hinzugefügten Instanzen einzubeziehen und die Instanzen auszuschließen, die zum Löschen markiert wurden.

  • Wenn die Bereitstellung der Pipeline fehlschlägt, wird kein Rollback versucht, und sowohl der Service als auch die Pipeline geben den Status eines fehlgeschlagenen Updates an.

Tagging und Bearbeitungen von Diensten

Wenn Sie im Rahmen Ihrer Service-Bearbeitung Service-Instanzen hinzufügen, werdenAWS verwaltete Tags an die neuen Instanzen und bereitgestellten Ressourcen weitergegeben und automatisch für diese erstellt. Wenn Sie neue Tags erstellen, werden diese Tags nur auf die neuen Instanzen angewendet. Bestehende vom Service, vom Kunden verwaltete Tags, werden ebenfalls auf die neuen Instanzen übertragen. Weitere Informationen finden Sie unter AWS ProtonRessourcen und Tagging.