YAML-Definition der Aktion „In Amazon ECS bereitstellen“ - Amazon CodeCatalyst

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.

YAML-Definition der Aktion „In Amazon ECS bereitstellen“

Im Folgenden finden Sie die YAML-Definition der Aktion Deploy to Amazon ECS. Informationen zur Verwendung dieser Aktion finden Sie unterBereitstellung einer Anwendung auf Amazon Elastic Container Service (ECS) mit einem Workflow.

Diese Aktionsdefinition ist als Abschnitt in einer umfassenderen Workflow-Definitionsdatei vorhanden. Weitere Informationen über diese Datei finden Sie unter YAML-Workflow-Definition.

Anmerkung

Die meisten der folgenden YAML-Eigenschaften haben entsprechende Benutzeroberflächenelemente im visuellen Editor. Verwenden Sie Strg+F, um nach einem UI-Element zu suchen. Das Element wird mit der zugehörigen YAML-Eigenschaft aufgelistet.

# The workflow definition starts here. # See Eigenschaften der obersten Ebene for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. ECSDeployAction_nn: Identifier: aws/ecs-deploy@v1 DependsOn: - build-action Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Inputs: # Specify a source or an artifact, but not both. Sources: - source-name-1 Artifacts: - task-definition-artifact Configuration: region: us-east-1 cluster: ecs-cluster service: ecs-service task-definition: task-definition-path force-new-deployment: false|true codedeploy-appspec: app-spec-file-path codedeploy-application: application-name codedeploy-deployment-group: deployment-group-name codedeploy-deployment-description: deployment-description

ECSDeployAction

(Erforderlich)

Geben Sie den Namen der Aktion an. Alle Aktionsnamen müssen innerhalb des Workflows eindeutig sein. Aktionsnamen sind auf alphanumerische Zeichen (a-z, A-Z, 0-9), Bindestriche (-) und Unterstriche (_) beschränkt. Leerzeichen sind nicht erlaubt. Sie können keine Anführungszeichen verwenden, um Sonderzeichen und Leerzeichen in Aktionsnamen zuzulassen.

Standard: ECSDeployAction_nn.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Anzeigename der Aktion

Identifier

(ECSDeployAction/Identifier)

(Erforderlich)

Identifiziert die Aktion. Ändern Sie diese Eigenschaft nur, wenn Sie die Version ändern möchten. Weitere Informationen finden Sie unter Angabe der Haupt-, Neben- oder Patch-Version einer Aktion.

Standard: aws/ecs-deploy@v1.

Entsprechende Benutzeroberfläche: Workflow-Diagram/ecs DeployAction _nn/ aws/ecs-deploy @v1 label

DependsOn

(ECSDeployAction/DependsOn)

(Optional)

Geben Sie eine Aktion, eine Aktionsgruppe oder ein Gate an, die erfolgreich ausgeführt werden müssen, damit diese Aktion ausgeführt werden kann.

Weitere Hinweise zur Funktion „Hängt davon ab“ finden Sie unter. Aktionen so konfigurieren, dass sie von anderen Aktionen abhängen

Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Hängt davon ab“ — optional

Compute

(ECSDeployAction/Compute)

(Optional)

Die Rechenengine, mit der Ihre Workflow-Aktionen ausgeführt wurden. Sie können die Berechnung entweder auf Workflow-Ebene oder auf Aktionsebene angeben, aber nicht beide. Wenn auf Workflow-Ebene angegeben, gilt die Rechenkonfiguration für alle im Workflow definierten Aktionen. Auf Workflow-Ebene können Sie auch mehrere Aktionen auf derselben Instanz ausführen. Weitere Informationen finden Sie unter Rechenleistung für mehrere Aktionen gemeinsam nutzen.

Entsprechende Benutzeroberfläche: keine

Type

(ECSDeployAction/Compute/Type)

(ComputeErforderlich, falls enthalten)

Der Typ der Compute Engine. Sie können einen der folgenden Werte verwenden:

  • EC2 (visueller Editor) oder EC2 (YAML-Editor)

    Optimiert für Flexibilität bei Aktionsläufen.

  • Lambda (visueller Editor) oder Lambda (YAML-Editor)

    Optimierte Startgeschwindigkeiten für Aktionen.

Weitere Informationen zu Datentypen finden Sie unter Berechnungstypen.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ /Erweitert — optional/ Berechnungstyp

Fleet

(ECSDeployAction/Compute/Fleet)

(Optional)

Geben Sie die Maschine oder Flotte an, auf der Ihr Workflow oder Ihre Workflow-Aktionen ausgeführt werden sollen. Bei bedarfsgesteuerten Flotten stellt der Workflow zu Beginn einer Aktion die benötigten Ressourcen bereit, und die Maschinen werden zerstört, wenn die Aktion abgeschlossen ist. Beispiele für Flotten auf Abruf:Linux.x86-64.Large,. Linux.x86-64.XLarge Weitere Informationen zu Flotten auf Abruf finden Sie unter. Flotteneigenschaften auf Abruf

Bei bereitgestellten Flotten konfigurieren Sie eine Reihe von dedizierten Maschinen, um Ihre Workflow-Aktionen auszuführen. Diese Maschinen bleiben inaktiv und können sofort Aktionen ausführen. Weitere Informationen zu bereitgestellten Flotten finden Sie unter. Bereitgestellte Flotteneigenschaften

Wenn Fleet es weggelassen wird, ist die Standardeinstellung. Linux.x86-64.Large

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ /Erweitert — optional/ Compute Fleet

Timeout

(ECSDeployAction/Timeout)

(Optional)

Geben Sie an, wie lange die Aktion in Minuten (YAML-Editor) oder Stunden und Minuten (visueller Editor) ausgeführt werden kann, bevor die Aktion beendet wird. CodeCatalyst Das Minimum beträgt 5 Minuten und das Maximum ist unter beschriebenKontingente für Workflows. Das Standard-Timeout entspricht dem maximalen Timeout.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Timeout“ — optional

Environment

(ECSDeployAction/Environment)

(Erforderlich)

Geben Sie die CodeCatalyst Umgebung an, die für die Aktion verwendet werden soll. Die Aktion stellt eine Verbindung mit der AWS-Konto optionalen Amazon VPC her, die in der ausgewählten Umgebung angegeben ist. Die Aktion verwendet die in der Umgebung angegebene Standard-IAM-Rolle, um eine Verbindung zur herzustellen AWS-Konto, und verwendet die in der Amazon VPC-Verbindung angegebene IAM-Rolle, um eine Verbindung zur Amazon VPC herzustellen.

Anmerkung

Wenn die Standard-IAM-Rolle nicht über die für die Aktion erforderlichen Berechtigungen verfügt, können Sie die Aktion so konfigurieren, dass sie eine andere Rolle verwendet. Weitere Informationen finden Sie unter Einer Aktion eine andere IAM-Rolle zuweisen.

Weitere Informationen zu Umgebungen finden Sie unter Bereitstellung in AWS-Konten und VPCs mit Umgebungen CodeCatalyst undErstellen einer Umgebung.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Umgebung“

Name

(ECSDeployAction/Environment/Name)

(Erforderlich, falls Environment enthalten)

Geben Sie den Namen einer vorhandenen Umgebung an, die Sie der Aktion zuordnen möchten.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Umgebung“

Connections

(ECSDeployAction/Environment/Connections)

(Optional in neueren Versionen der Aktion; in älteren Versionen erforderlich)

Geben Sie die Kontoverbindung an, die der Aktion zugeordnet werden soll. Sie können unter maximal eine Kontoverbindung angebenEnvironment.

Wenn Sie keine Kontoverbindung angeben:

  • Die Aktion verwendet die AWS-Konto Verbindung und die Standard-IAM-Rolle, die in der Umgebung in der CodeCatalyst Konsole angegeben sind. Informationen zum Hinzufügen einer Kontoverbindung und einer Standard-IAM-Rolle zur Umgebung finden Sie unter. Erstellen einer Umgebung

  • Die Standard-IAM-Rolle muss die Richtlinien und Berechtigungen enthalten, die für die Aktion erforderlich sind. Informationen zu diesen Richtlinien und Berechtigungen finden Sie in der Beschreibung der Role-Eigenschaft in der YAML-Definitionsdokumentation der Aktion.

Weitere Informationen zu Kontoverbindungen finden Sie unterErmöglichen des Zugriffs auf AWS Ressourcen mit verbundenen AWS-Konten. Hinweise zum Hinzufügen einer Kontoverbindung zu einer Umgebung finden Sie unterErstellen einer Umgebung.

Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:

  • (Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist in meiner Umgebung? /Dreipunktmenü/ Rolle wechseln

  • (Ältere Versionen) Registerkarte AWS „Konfiguration“ /„ Umgebung/Konto/Rolle“/Kontoverbindung

Name

(ECSDeployAction/Environment/Connections/Name)

Connections(Erforderlich, falls enthalten)

Geben Sie den Namen der Kontoverbindung an.

Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:

  • (Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist in meiner Umgebung? /Dreipunktmenü/ Rolle wechseln

  • (Ältere Versionen) Registerkarte AWS „Konfiguration“ /„ Umgebung/Konto/Rolle“/Kontoverbindung

Role

(ECSDeployAction/Environment/Connections/Role)

Connections(Erforderlich, falls enthalten)

Geben Sie den Namen der IAM-Rolle an, auf die die Aktion Deploy to Amazon ECS für den Zugriff AWS verwendet. Stellen Sie sicher, dass Sie die Rolle zu Ihrem CodeCatalyst Bereich hinzugefügt haben und dass die Rolle die folgenden Richtlinien enthält.

Wenn Sie keine IAM-Rolle angeben, verwendet die Aktion die Standard-IAM-Rolle, die in der Umgebung in der CodeCatalyst Konsole aufgeführt ist. Wenn Sie die Standardrolle in der Umgebung verwenden, stellen Sie sicher, dass sie über die folgenden Richtlinien verfügt.

  • Die folgende Berechtigungsrichtlinie:

    Warnung

    Beschränken Sie die Berechtigungen auf die in der folgenden Richtlinie angegebenen. Die Verwendung einer Rolle mit umfassenderen Berechtigungen kann ein Sicherheitsrisiko darstellen.

    { "Version": "2012-10-17", "Statement": [{ "Action":[ "ecs:DescribeServices", "ecs:CreateTaskSet", "ecs:DeleteTaskSet", "ecs:ListClusters", "ecs:RegisterTaskDefinition", "ecs:UpdateServicePrimaryTaskSet", "ecs:UpdateService", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:ModifyListener", "elasticloadbalancing:DescribeRules", "elasticloadbalancing:ModifyRule", "lambda:InvokeFunction", "lambda:ListFunctions", "cloudwatch:DescribeAlarms", "sns:Publish", "sns:ListTopics", "s3:GetObject", "s3:GetObjectVersion", "codedeploy:CreateApplication", "codedeploy:CreateDeployment", "codedeploy:CreateDeploymentGroup", "codedeploy:GetApplication", "codedeploy:GetDeployment", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "codedeploy:ListDeployments", "codedeploy:StopDeployment", "codedeploy:GetDeploymentTarget", "codedeploy:ListDeploymentTargets", "codedeploy:GetDeploymentConfig", "codedeploy:GetApplicationRevision", "codedeploy:RegisterApplicationRevision", "codedeploy:BatchGetApplicationRevisions", "codedeploy:BatchGetDeploymentGroups", "codedeploy:BatchGetDeployments", "codedeploy:BatchGetApplications", "codedeploy:ListApplicationRevisions", "codedeploy:ListDeploymentConfigs", "codedeploy:ContinueDeployment" ], "Resource":"*", "Effect":"Allow" },{"Action":[ "iam:PassRole" ], "Effect":"Allow", "Resource":"*", "Condition":{"StringLike":{"iam:PassedToService":[ "ecs-tasks.amazonaws.com", "codedeploy.amazonaws.com" ] } } }] }
    Anmerkung

    Wenn die Rolle zum ersten Mal verwendet wird, verwenden Sie den folgenden Platzhalter in der Ressourcenrichtlinienanweisung und grenzen Sie dann die Richtlinie mit dem Ressourcennamen ab, sobald sie verfügbar ist.

    "Resource": "*"
  • Die folgende benutzerdefinierte Vertrauensrichtlinie:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Anmerkung

Sie können die CodeCatalystWorkflowDevelopmentRole-spaceName Rolle mit dieser Aktion verwenden, wenn Sie möchten. Weitere Informationen über diese Rolle finden Sie unter Die CodeCatalystWorkflowDevelopmentRole-spaceNameRolle für Ihr Konto und Ihren Bereich erstellen. Beachten Sie, dass die CodeCatalystWorkflowDevelopmentRole-spaceName Rolle über volle Zugriffsberechtigungen verfügt, was ein Sicherheitsrisiko darstellen kann. Wir empfehlen, diese Rolle nur in Tutorials und Szenarien zu verwenden, in denen die Sicherheit weniger wichtig ist.

Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:

  • (Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist in meiner Umgebung? /Dreipunktmenü/ Rolle wechseln

  • (Ältere Versionen) Registerkarte „Konfiguration“ /„ Umgebung/Konto/Rolle“/Rolle

Inputs

(ECSDeployAction/Inputs)

(Optional)

In Inputs diesem Abschnitt werden die Daten definiert, die während einer Workflow-Ausführung benötigt werden. ECSDeployAction

Anmerkung

Pro Aktion „In Amazon ECS bereitstellen“ ist nur eine Eingabe (entweder eine Quelle oder ein Artefakt) zulässig.

Entsprechende Benutzeroberfläche: Registerkarte „Eingaben

Sources

(ECSDeployAction/Inputs/Sources)

(Erforderlich, wenn Ihre Aufgabendefinitionsdatei in einem Quell-Repository gespeichert ist)

Wenn Ihre Aufgabendefinitionsdatei in einem Quell-Repository gespeichert ist, geben Sie die Bezeichnung dieses Quell-Repositorys an. Derzeit ist das einzige unterstützte LabelWorkflowSource.

Wenn Ihre Aufgabendefinitionsdatei nicht in einem Quell-Repository enthalten ist, muss sie sich in einem Artefakt befinden, das durch eine andere Aktion generiert wurde.

Weitere Informationen zu Quellen finden Sie unter Einen Workflow mit einem Quell-Repository verbinden.

Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Quellen“ — optional

Artifacts - input

(ECSDeployAction/Inputs/Artifacts)

(Erforderlich, wenn Ihre Aufgabendefinitionsdatei in einem Ausgabeartefakt einer vorherigen Aktion gespeichert ist)

Wenn die Aufgabendefinitionsdatei, die Sie bereitstellen möchten, in einem Artefakt enthalten ist, das durch eine vorherige Aktion generiert wurde, geben Sie dieses Artefakt hier an. Wenn Ihre Aufgabendefinitionsdatei nicht in einem Artefakt enthalten ist, muss sie sich in Ihrem Quell-Repository befinden.

Weitere Informationen zu Artefakten, einschließlich Beispielen, finden Sie unter. Teilen von Daten zwischen Aktionen in einem Workflow mithilfe von Artefakten

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/„Artefakte“ — optional

Configuration

(ECSDeployAction/Configuration)

(Erforderlich)

Ein Abschnitt, in dem Sie die Konfigurationseigenschaften der Aktion definieren können.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration

region

(Configuration/region)

(Erforderlich)

Geben Sie die AWS Region an, in der sich Ihr Amazon ECS-Cluster und -Service befinden. Eine Liste der Regionscodes finden Sie unter Regionale Endpunkte in der. Allgemeine AWS-Referenz

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Region“

cluster

(ECSDeployAction/Configuration/cluster)

(Erforderlich)

Geben Sie den Namen eines vorhandenen Amazon ECS-Clusters an. Mit der Aktion Deploy to Amazon ECS wird Ihre containerisierte Anwendung als Aufgabe in diesem Cluster bereitgestellt. Weitere Informationen zu Amazon ECS-Clustern finden Sie unter Clusters im Amazon Elastic Container Service Developer Guide.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Cluster“

service

(ECSDeployAction/Configuration/service)

(Erforderlich)

Geben Sie den Namen eines vorhandenen Amazon ECS-Service an, der die Aufgabendefinitionsdatei instanziieren wird. Dieser Service muss sich unter dem im Feld angegebenen Cluster befinden. cluster Weitere Informationen zu Amazon ECS-Services finden Sie unter Amazon ECS-Services im Amazon Elastic Container Service Developer Guide.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Service“

task-definition

(ECSDeployAction/Configuration/task-definition)

(Erforderlich)

Geben Sie den Pfad zu einer vorhandenen Aufgabendefinitionsdatei an. Wenn sich die Datei in Ihrem Quell-Repository befindet, ist der Pfad relativ zum Stammordner des Quell-Repositorys. Wenn sich Ihre Datei in einem Artefakt aus einer früheren Workflow-Aktion befindet, ist der Pfad relativ zum Artefakt-Stammordner. Weitere Informationen zu Aufgabendefinitionsdateien finden Sie unter Aufgabendefinitionen im Amazon Elastic Container Service Developer Guide.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Aufgabendefinition

force-new-deployment

(ECSDeployAction/Configuration/force-new-deployment)

(Erforderlich)

Wenn aktiviert, kann der Amazon ECS-Service neue Bereitstellungen ohne Änderungen der Servicedefinition starten. Wenn eine Bereitstellung erzwungen wird, stoppt der Service alle aktuell ausgeführten Aufgaben und startet neue Aufgaben. Weitere Informationen zum Erzwingen neuer Bereitstellungen finden Sie unter Aktualisieren eines Service im Amazon Elastic Container Service Developer Guide.

Standard: false

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Neue Bereitstellung des Dienstes erzwingen

codedeploy-appspec

(ECSDeployAction/Configuration/codedeploy-appspec)

(Erforderlich, wenn Sie Ihren Amazon ECS-Service für blaue/grüne Bereitstellungen konfiguriert haben, andernfalls weglassen)

Geben Sie den Namen und den Pfad zu einer vorhandenen CodeDeploy Anwendungsspezifikationsdatei () AppSpec an. Diese Datei muss sich im Stammverzeichnis Ihres CodeCatalyst Quell-Repositorys befinden. Weitere Informationen zu AppSpec Dateien finden Sie unter CodeDeploy Anwendungsspezifikationsdateien (AppSpec) im AWS CodeDeploy Benutzerhandbuch.

Anmerkung

Geben Sie nur CodeDeploy Informationen an, wenn Sie Ihren Amazon ECS-Service für blaue/grüne Bereitstellungen konfiguriert haben. Lassen Sie bei fortlaufenden Update-Bereitstellungen (Standard) die Informationen weg. CodeDeploy Weitere Informationen zu Amazon ECS-Bereitstellungen finden Sie unter Amazon ECS-Bereitstellungstypen im Amazon Elastic Container Service Developer Guide.

Anmerkung

Die CodeDeployFelder sind möglicherweise im visuellen Editor ausgeblendet. Informationen dazu, wie sie angezeigt werden, finden Sie unterWarum fehlen CodeDeploy Felder im Visual Editor?.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/CodeDeploy AppSpec

codedeploy-application

(ECSDeployAction/Configuration/codedeploy-application)

(Erforderlich, falls codedeploy-appspec enthalten)

Geben Sie den Namen einer vorhandenen CodeDeploy Anwendung an. Weitere Informationen zu CodeDeploy Anwendungen finden Sie CodeDeployim AWS CodeDeploy Benutzerhandbuch unter Arbeiten mit Anwendungen.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/AnwendungCodeDeploy “

codedeploy-deployment-group

(ECSDeployAction/Configuration/codedeploy-deployment-group)

(Erforderlich, falls codedeploy-appspec enthalten)

Geben Sie den Namen einer vorhandenen CodeDeploy Bereitstellungsgruppe an. Weitere Informationen zu CodeDeploy Bereitstellungsgruppen finden Sie CodeDeployim AWS CodeDeploy Benutzerhandbuch unter Arbeiten mit Bereitstellungsgruppen.

Entsprechende Benutzeroberfläche: Registerkarte „CodeDeploy Konfiguration/Bereitstellungsgruppe

codedeploy-deployment-description

(ECSDeployAction/Configuration/codedeploy-deployment-description)

(Optional)

Geben Sie eine Beschreibung der Bereitstellung an, die durch diese Aktion erstellt wird. Weitere Informationen finden Sie CodeDeployim AWS CodeDeploy Benutzerhandbuch unter Arbeiten mit Bereitstellungen.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ und Beschreibung der Bereitstellung CodeDeploy