Einen Service erstellen - 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.

Einen Service erstellen

Um eine Anwendung bereitzustellen AWS Proton, erstellen Sie als Entwickler einen Dienst und geben die folgenden Eingaben ein.

  1. Der Name einer AWS Proton Dienstvorlage, die vom Plattformteam veröffentlicht wurde.

  2. Ein Name für den Dienst.

  3. Die Anzahl der Dienstinstanzen, die Sie bereitstellen möchten.

  4. Eine Auswahl von Umgebungen, die Sie verwenden möchten.

  5. Eine Verbindung zu Ihrem Code-Repository, wenn Sie eine Dienstvorlage verwenden, die eine Service-Pipeline enthält (optional).

Was ist in einem Service enthalten?

Wenn Sie einen AWS Proton Service erstellen, können Sie aus zwei verschiedenen Typen von Dienstvorlagen wählen:

  • Eine Dienstvorlage, die eine Service-Pipeline enthält (Standard).

  • Eine Dienstvorlage, die keine Servicepipeline enthält.

Sie müssen mindestens eine Dienstinstanz erstellen, wenn Sie Ihren Service erstellen.

Eine Dienstinstanz und eine optionale Pipeline sind einem Dienst zugeordnet. Sie können eine Pipeline nur im Rahmen der Aktionen zum 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.

Anmerkung

Ihre Umgebung ist entweder für AWS— oder für selbstverwaltetes Provisioning konfiguriert. AWS Proton stellt Dienste in einer Umgebung bereit und verwendet dabei dieselbe Bereitstellungsmethode wie die Umgebung. Der Entwickler, der Dienstinstanzen erstellt oder aktualisiert, sieht den Unterschied nicht und seine Erfahrung ist in beiden Fällen identisch.

Weitere Informationen zu Bereitstellungsmethoden finden Sie unterWie stellt die AWS Proton Infrastruktur bereit.

Vorlagen für Dienste

Es sind sowohl Haupt- als auch Nebenversionen von Dienstvorlagen verfügbar. Wenn Sie die Konsole verwenden, wählen Sie die neueste Recommended Haupt- und Nebenversion der Dienstvorlage aus. Wenn Sie die verwenden AWS CLI und nur die Hauptversion der Dienstvorlage angeben, geben Sie implizit deren neueste Recommended Nebenversion an.

Im Folgenden werden der Unterschied zwischen Haupt- und Nebenversionen der Vorlage und deren Verwendung beschrieben.

  • Neue Versionen einer Vorlage werden Recommended veröffentlicht, sobald sie von einem Mitglied des Plattformteams genehmigt wurden. Das bedeutet, dass neue Dienste mit dieser Version erstellt werden und Sie aufgefordert werden, bestehende Dienste auf die neue Version zu aktualisieren.

  • Dadurch AWS Proton kann das Plattformteam Serviceinstanzen automatisch auf eine neue Nebenversion einer Dienstvorlage aktualisieren. Nebenversionen müssen abwärtskompatibel sein.

  • Da bei Hauptversionen im Rahmen des Aktualisierungsvorgangs neue Eingaben erforderlich sind, müssen Sie Ihren Service auf eine Hauptversion seiner Dienstvorlage aktualisieren. Hauptversionen sind nicht abwärtskompatibel.

Einen Service erstellen

Die folgenden Verfahren zeigen, wie Sie die AWS Proton Konsole verwenden oder AWS CLI einen Dienst mit oder ohne Dienstpipeline erstellen.

AWS Management Console
Erstellen Sie einen Dienst, wie in den folgenden Konsolenschritten gezeigt.
  1. Wählen Sie in der AWS Proton Konsole Dienste aus.

  2. Wählen Sie Create service.

  3. Wählen Sie auf der Seite „Dienstvorlage auswählen“ eine Vorlage aus und klicken Sie auf Konfigurieren.

    Wenn Sie keine aktivierte Pipeline verwenden möchten, wählen Sie für Ihren Service eine Vorlage aus, die mit Pipeline ausschließt gekennzeichnet ist.

  4. Geben Sie auf der Seite Dienst konfigurieren im Abschnitt Diensteinstellungen einen Dienstnamen ein.

  5. (Optional) Geben Sie eine Beschreibung für den Dienst ein.

  6. Gehen Sie im Abschnitt Einstellungen für das Service-Repository wie folgt vor:
    1. Wählen Sie unter CodeStar Verbindung Ihre Verbindung aus der Liste aus.

    2. Wählen Sie für Repository-ID den Namen Ihres Quellcode-Repositorys aus der Liste aus.

    3. Wählen Sie unter Branch-Name den Namen Ihres Quellcode-Repository-Branches aus der Liste aus.

  7. (Optional) Wählen Sie im Abschnitt „Tags“ die Option Neues Tag hinzufügen aus und geben Sie einen Schlüssel und einen Wert ein, um ein vom Kunden verwaltetes Tag zu erstellen.

  8. Wählen Sie Weiter aus.

  9. Auf der Seite Benutzerdefinierte Einstellungen konfigurieren im Abschnitt Serviceinstanzen im Abschnitt Neue Instanz. Sie müssen Werte für die required Parameter eingeben. Sie können Werte für die optional Parameter eingeben oder die Standardwerte verwenden, sofern diese angegeben sind.

  10. Im Abschnitt Pipeline-Eingaben müssen Sie Werte für die required Parameter eingeben. Sie können Werte für die optional Parameter eingeben oder die Standardwerte verwenden, sofern diese angegeben sind.

  11. Wählen Sie Weiter und überprüfen Sie Ihre Eingaben.

  12. Wählen Sie Erstellen aus.

    Sehen Sie sich die Servicedetails und den Status sowie die AWS verwalteten und vom Kunden verwalteten Tags für Ihren Service an.

  13. Wählen Sie im Navigationsbereich Services.

    Auf einer neuen Seite wird eine Liste Ihrer Dienste zusammen mit dem Status und anderen Servicedetails angezeigt.

AWS CLI

Wenn Sie den verwenden AWS CLI, geben Sie Diensteingaben in einer YAML-formatierten spec Datei an.aws-proton/service.yaml, die sich in Ihrem Quellcodeverzeichnis befindet.

Sie können den get-service-template-minor-version CLI-Befehl verwenden, um die für das Schema erforderlichen und optionalen Parameter anzuzeigen, für die Sie Werte in Ihrer Spezifikationsdatei angeben.

Wenn Sie eine Dienstvorlage verwenden möchten, die über Folgendes verfügtpipelineProvisioning: "CUSTOMER_MANAGED", nehmen Sie den pipeline: Abschnitt nicht in Ihre Spezifikation auf und nehmen Sie keine -repository-connection-arn-repository-id, und -branch-name Parameter in Ihren create-service Befehl auf.

Erstellen Sie einen Dienst mit einer Service-Pipeline, wie in den folgenden CLI-Schritten gezeigt.

  1. Richten Sie die Servicerolle für die Pipeline ein, wie im folgenden CLI-Beispielbefehl gezeigt.

    Befehl:

    $ aws proton update-account-settings \ --pipeline-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole"
  2. Die folgende Liste zeigt eine Beispielspezifikation, die auf dem Dienstvorlagenschema basiert und die Service-Pipeline und Instanzeingaben enthält.

    Spezifikation:

    proton: ServiceSpec pipeline: my_sample_pipeline_required_input: "hello" my_sample_pipeline_optional_input: "bye" instances: - name: "acme-network-dev" environment: "ENV_NAME" spec: my_sample_service_instance_required_input: "hi" my_sample_service_instance_optional_input: "ho"

    Erstellen Sie einen Dienst mit einer Pipeline, wie im folgenden CLI-Beispielbefehl und einer Antwort gezeigt.

    Befehl:

    $ aws proton create-service \ --name "MySimpleService" \ --branch-name "mainline" \ --template-major-version "1" \ --template-name "fargate-service" \ --repository-connection-arn "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \ --repository-id "myorg/myapp" \ --spec "file://spec.yaml"

    Antwort:

    { "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "createdAt": "2020-11-18T19:50:27.460000+00:00", "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "myorg/myapp", "status": "CREATE_IN_PROGRESS", "templateName": "fargate-service" } }

Erstellen Sie einen Dienst ohne Service-Pipeline, wie im folgenden CLI-Beispielbefehl und -antwort gezeigt.

Im Folgenden wird eine Beispielspezifikation gezeigt, die keine Eingaben für die Service-Pipeline enthält.

Spezifikation:

proton: ServiceSpec instances: - name: "acme-network-dev" environment: "ENV_NAME" spec: my_sample_service_instance_required_input: "hi" my_sample_service_instance_optional_input: "ho"

Um einen Dienst ohne bereitgestellte Dienstpipeline zu erstellen, geben Sie den Pfad zu einer an spec.yaml und fügen keine Repository-Parameter hinzu, wie im folgenden CLI-Beispielbefehl und der folgenden Befehlsantwort gezeigt.

Befehl:

$ aws proton create-service \ --name "MySimpleServiceNoPipeline" \ --template-major-version "1" \ --template-name "fargate-service" \ --spec "file://spec-no-pipeline.yaml"

Antwort:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleServiceNoPipeline", "createdAt": "2020-11-18T19:50:27.460000+00:00", "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00", "name": "MySimpleServiceNoPipeline", "status": "CREATE_IN_PROGRESS", "templateName": "fargate-service-no-pipeline" } }