Erste Schritte mit dem AWS CLI - 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.

Erste Schritte mit dem AWS CLI

Folgen Sie diesem Tutorial AWS CLI, um mit der AWS Proton Verwendung von zu beginnen. Das Tutorial zeigt einen öffentlich zugänglichen AWS Proton Dienst mit Lastenausgleich auf der AWS Fargate Grundlage von. Das Tutorial bietet auch eine CI/CD-Pipeline, die eine statische Website mit einem angezeigten Bild bereitstellt.

Bevor Sie beginnen, stellen Sie sicher, dass Sie richtig eingerichtet sind. Details hierzu finden Sie unter Voraussetzungen.

Schritt 1: Registrieren Sie eine Umgebungsvorlage

In diesem Schritt registrieren Sie als Administrator eine Beispielumgebungsvorlage, die einen Amazon Elastic Container Service (AmazonECS) -Cluster und eine Amazon Virtual Private Cloud (AmazonVPC) mit zwei öffentlichen/privaten Subnetzen enthält.

Um eine Umgebungsvorlage zu registrieren
  1. Ordnen Sie das AWS Proton Sample CloudFormation Templates-Repository Ihrem GitHub Konto oder Ihrer Organisation zu. Dieses Repository enthält die Umgebungs- und Dienstvorlagen, die wir in diesem Tutorial verwenden.

    Registrieren Sie dann Ihr geforktes Repository bei AWS Proton. Weitere Informationen finden Sie unter Erstelle einen Link zu deinem Repository.

  2. Erstellen Sie eine Umgebungsvorlage.

    Die Umgebungsvorlagenressource verfolgt die Versionen der Umgebungsvorlagen.

    $ aws proton create-environment-template \ --name "fargate-env" \ --display-name "Public VPC Fargate" \ --description "VPC with public access and ECS cluster"
  3. Erstellen Sie eine Konfiguration für die Vorlagensynchronisierung.

    AWS Proton richtet eine Synchronisierungsbeziehung zwischen Ihrem Repository und Ihrer Umgebungsvorlage ein. Anschließend wird die Vorlagenversion 1.0 im DRAFT Status erstellt.

    $ aws proton create-template-sync-config \ --template-name "fargate-env" \ --template-type "ENVIRONMENT" \ --repository-name "your-forked-repo" \ --repository-provider "GITHUB" \ --branch "your-branch" \ --subdirectory "environment-templates/fargate-env"
  4. Warten Sie, bis die Version der Umgebungsvorlage erfolgreich registriert wurde.

    Wenn dieser Befehl mit dem Exit-Status von zurückkehrt0, ist die Versionsregistrierung abgeschlossen. Dies ist in Skripten nützlich, um sicherzustellen, dass Sie den Befehl im nächsten Schritt erfolgreich ausführen können.

    $ aws proton wait environment-template-version-registered \ --template-name "fargate-env" \ --major-version "1" \ --minor-version "0"
  5. Veröffentlichen Sie die Version der Umgebungsvorlage, um sie für die Erstellung der Umgebung verfügbar zu machen.

    $ aws proton update-environment-template-version \ --template-name "fargate-env" \ --major-version "1" \ --minor-version "0" \ --status "PUBLISHED"

Schritt 2: Registrieren Sie eine Dienstvorlage

In diesem Schritt registrieren Sie als Administrator eine Beispiel-Servicevorlage, die alle Ressourcen enthält, die für die Bereitstellung eines Amazon ECS Fargate-Dienstes hinter einem Load Balancer und einer CI/CD-Pipeline erforderlich sind, die verwendet. AWS CodePipeline

Um eine Service-Vorlage zu registrieren
  1. Erstellen Sie eine Dienstvorlage.

    Die Dienstvorlagenressource verfolgt die Versionen der Dienstvorlagen.

    $ aws proton create-service-template \ --name "load-balanced-fargate-svc" \ --display-name "Load balanced Fargate service" \ --description "Fargate service with an application load balancer"
  2. Erstellen Sie eine Konfiguration für die Vorlagensynchronisierung.

    AWS Proton richtet eine Synchronisierungsbeziehung zwischen Ihrem Repository und Ihrer Service-Vorlage ein. Anschließend wird die Vorlagenversion 1.0 im DRAFT Status erstellt.

    $ aws proton create-template-sync-config \ --template-name "load-balanced-fargate-svc" \ --template-type "SERVICE" \ --repository-name "your-forked-repo" \ --repository-provider "GITHUB" \ --branch "your-branch" \ --subdirectory "service-templates/load-balanced-fargate-svc"
  3. Warten Sie, bis die Version der Dienstvorlage erfolgreich registriert wurde.

    Wenn dieser Befehl mit dem Exit-Status von zurückkehrt0, ist die Versionsregistrierung abgeschlossen. Dies ist in Skripten nützlich, um sicherzustellen, dass Sie den Befehl im nächsten Schritt erfolgreich ausführen können.

    $ aws proton wait service-template-version-registered \ --template-name "load-balanced-fargate-svc" \ --major-version "1" \ --minor-version "0"
  4. Veröffentlichen Sie die Version der Dienstvorlage, um sie für die Diensterstellung verfügbar zu machen.

    $ aws proton update-service-template-version \ --template-name "load-balanced-fargate-svc" \ --major-version "1" \ --minor-version "0" \ --status "PUBLISHED"

Schritt 3: Stellen Sie eine Umgebung bereit

In diesem Schritt instanziieren Sie als Administrator eine AWS Proton Umgebung anhand der Umgebungsvorlage.

Um eine Umgebung bereitzustellen
  1. Holen Sie sich eine Beispielspezifikationsdatei für die Umgebungsvorlage, die Sie registriert haben.

    Sie können die Datei environment-templates/fargate-env/spec/spec.yaml aus dem Vorlagen-Beispiel-Repository herunterladen. Alternativ können Sie das gesamte Repository lokal abrufen und den create-environment Befehl aus dem environment-templates/fargate-env Verzeichnis ausführen.

  2. Erstellen Sie eine Umgebung.

    AWS Proton liest Eingabewerte aus Ihrer Umgebungsspezifikation, kombiniert sie mit Ihrer Umgebungsvorlage und stellt mithilfe Ihrer AWS Proton Servicerolle Umgebungsressourcen in Ihrem AWS Konto bereit.

    $ aws proton create-environment \ --name "fargate-env-prod" \ --template-name "fargate-env" \ --template-major-version 1 \ --proton-service-role-arn "arn:aws:iam::123456789012:role/AWS ProtonServiceRole" \ --spec "file://spec/spec.yaml"
  3. Warten Sie, bis die Umgebung erfolgreich bereitgestellt wurde.

    $ aws proton wait environment-deployed --name "fargate-env-prod"

Schritt 4: Bereitstellen eines Dienstes [Anwendungsentwickler]

In den vorherigen Schritten hat ein Administrator eine Dienstvorlage registriert und veröffentlicht und eine Umgebung bereitgestellt. Als Anwendungsentwickler können Sie jetzt einen AWS Proton Dienst erstellen und ihn in der AWS Proton Umgebung bereitstellen

Um einen Dienst bereitzustellen
  1. Rufen Sie eine Beispielspezifikationsdatei für die Dienstvorlage ab, die der Administrator registriert hat.

    Sie können die Datei service-templates/load-balanced-fargate-svc/spec/spec.yaml aus dem Vorlagen-Beispiel-Repository herunterladen. Alternativ können Sie das gesamte Repository lokal abrufen und den create-service Befehl aus dem service-templates/load-balanced-fargate-svc Verzeichnis ausführen.

  2. Teilen Sie das AWS Proton Sample Services-Repository Ihrem GitHub Konto oder Ihrer Organisation zu. Dieses Repository enthält den Quellcode der Anwendung, den wir in diesem Tutorial verwenden.

  3. Erstellen Sie einen Service.

    AWS Proton liest Eingabewerte aus Ihrer Servicespezifikation, kombiniert sie mit Ihrer Dienstvorlage und stellt Serviceressourcen in Ihrem AWS Konto in der Umgebung bereit, die in der Spezifikation angegeben ist. Eine AWS CodePipeline Pipeline stellt Ihren Anwendungscode aus dem Repository bereit, das Sie im Befehl angeben.

    $ aws proton create-service \ --name "static-website" \ --repository-connection-arn \ "arn:aws:codestar-connections:us-east-1:123456789012:connection/your-codestar-connection-id" \ --repository-id "your-GitHub-account/aws-proton-sample-services" \ --branch-name "main" \ --template-major-version 1 \ --template-name "load-balanced-fargate-svc" \ --spec "file://spec/spec.yaml"
  4. Warten Sie, bis der Dienst erfolgreich bereitgestellt wurde.

    $ aws proton wait service-created --name "static-website"
  5. Rufen Sie die Ausgaben ab und sehen Sie sich Ihre neue Website an.

    Führen Sie den folgenden Befehl aus:

    $ aws proton list-service-instance-outputs \ --service-name "static-website" \ --service-instance-name load-balanced-fargate-svc-prod

    Die Ausgabe des Befehls sollte der folgenden ähneln:

    { "outputs": [ { "key": "ServiceURL", "valueString": "http://your-service-endpoint.us-east-1.elb.amazonaws.com" } ] }

    Der Wert der ServiceURL Instanzausgabe ist der Endpunkt Ihrer neuen Service-Website. Verwenden Sie Ihren Browser, um dorthin zu navigieren. Sie sollten die folgende Grafik auf einer statischen Seite sehen:

    Ein Webbrowser, der die statische Bildseite anzeigt, die sich aus dem CLI Verfahren „Erste Schritte“ ergibt

Schritt 5: Aufräumen (optional)

In diesem Schritt löschen Sie die AWS Ressourcen, die Sie im Rahmen dieses Tutorials erstellt haben, und um die mit diesen Ressourcen verbundenen Kosten zu sparen.

Um Tutorial-Ressourcen zu löschen
  1. Führen Sie den folgenden Befehl aus, um den Dienst zu löschen:

    $ aws proton delete-service --name "static-website"
  2. Führen Sie den folgenden Befehl aus, um die Umgebung zu löschen:

    $ aws proton delete-environment --name "fargate-env-prod"
  3. Führen Sie die folgenden Befehle aus, um die Dienstvorlage zu löschen:

    $ aws proton delete-template-sync-config \ --template-name "load-balanced-fargate-svc" \ --template-type "SERVICE" $ aws proton delete-service-template --name "load-balanced-fargate-svc"
  4. Führen Sie die folgenden Befehle aus, um die Umgebungsvorlage zu löschen:

    $ aws proton delete-template-sync-config \ --template-name "fargate-env" \ --template-type "ENVIRONMENT" $ aws proton delete-environment-template --name "fargate-env"