View a markdown version of this page

Referenz zur Amazon Elastic Container Service-Bereitstellungsaktion - AWS CodePipeline

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.

Referenz zur Amazon Elastic Container Service-Bereitstellungsaktion

Sie können eine Amazon ECS-Aktion verwenden, um einen Amazon ECS-Service und eine Aufgabenliste bereitzustellen. Ein Amazon ECS-Service ist eine Container-Anwendung, die in einem Amazon ECS-Cluster bereitgestellt wird. Ein Amazon ECS-Cluster ist eine Sammlung von Instances, die Ihre Container-Anwendung in der Cloud hosten. Die Bereitstellung erfordert eine Aufgabendefinition, die Sie in Amazon ECS erstellen, und eine Image-Definitionsdatei, die zur Bereitstellung des Images CodePipeline verwendet wird.

Wichtig

Die Amazon ECS-Standardbereitstellungsaktion für CodePipeline erstellt eine eigene Version der Aufgabendefinition, die auf der vom Amazon ECS-Service verwendeten Version basiert. Wenn Sie neue Revisionen für die Aufgabendefinition erstellen, ohne den Amazon ECS-Service zu aktualisieren, ignoriert die Bereitstellungsaktion diese Überarbeitungen.

Bevor Sie Ihre Pipeline erstellen, müssen Sie bereits die Amazon ECS-Ressourcen erstellt, das Image in Ihrem Image-Repository markiert und gespeichert und die Buildspec-Datei in Ihr Datei-Repository hochgeladen haben.

Anmerkung

In diesem Referenzthema wird die Amazon ECS-Standardbereitstellungsaktion für beschrieben. CodePipeline Referenzinformationen zu Amazon ECS und CodeDeploy blue/green Bereitstellungsaktionen finden Sie unterAmazon Elastic Container Service und Referenz für Bereitstellungsaktionen in CodeDeploy Blaugrün. CodePipeline

Aktionstyp

  • Kategorie: Deploy

  • Eigentümer: AWS

  • Anbieter: ECS

  • Version: 1

Konfigurationsparameter

ClusterName

Erforderlich: Ja

Der Amazon ECS-Cluster in Amazon ECS.

ServiceName

Erforderlich: Ja

Der Amazon ECS-Service, den Sie in Amazon ECS erstellt haben.

FileName

Erforderlich: Nein

Der Name Ihrer Image-Definitionsdatei, die JSON-Datei, die den Container-Namen Ihres Services beschreibt, sowie das Image und das Tag. Sie verwenden diese Datei für ECS-Standardbereitstellungen. Weitere Informationen erhalten Sie unter Input artifacts (Eingabeartefakte) und imagedefinitions.json-Datei für Amazon ECS-Standardbereitstellungsaktionen.

DeploymentTimeout

Erforderlich: Nein

Das Zeitlimit für die Amazon ECS-Bereitstellungsaktion in Minuten. Die Zeitüberschreitung kann bis zum maximalen Standard-Timeout für diese Aktion konfiguriert werden. Beispiel:

"DeploymentTimeout": "15"

Input artifacts (Eingabeartefakte)

  • Anzahl der Artefakte: 1

  • Beschreibung: Die Aktion sucht im imagedefinitions.json Quelldatei-Repository für die Pipeline nach einer Datei. Ein Bilddefinitionsdokument ist eine JSON-Datei, die den Namen Ihres Amazon ECS-Containers sowie das Bild und den Tag beschreibt. CodePipeline verwendet die Datei, um das Bild aus Ihrem Bild-Repository wie Amazon ECR abzurufen. Sie können manuell eine imagedefinitions.json Datei für eine Pipeline hinzufügen, bei der die Aktion nicht automatisiert ist. Informationen zur imagedefinitions.json-Datei finden Sie unter imagedefinitions.json-Datei für Amazon ECS-Standardbereitstellungsaktionen.

    Für die Aktion ist ein vorhandenes Image erforderlich, das bereits in Ihr Image-Repository übertragen wurde. Da die Image-Zuordnung von der imagedefinitions.json Datei bereitgestellt wird, erfordert die Aktion nicht, dass die Amazon ECR-Quelle als Quellaktion in die Pipeline aufgenommen wird.

Ausgabeartefakte

  • Anzahl der Artefakte: 0

  • Beschreibung: Ausgabeartefakte gelten nicht für diesen Aktionstyp.

Berechtigungen für Servicerollen: Amazon ECS-Standardaktion

Für Amazon ECS sind die folgenden Mindestberechtigungen erforderlich, um Pipelines mit einer Amazon ECS-Bereitstellungsaktion zu erstellen.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "TaskDefinitionPermissions", "Effect": "Allow", "Action": [ "ecs:DescribeTaskDefinition", "ecs:RegisterTaskDefinition" ], "Resource": [ "*" ] }, { "Sid": "ECSServicePermissions", "Effect": "Allow", "Action": [ "ecs:DescribeServices", "ecs:UpdateService" ], "Resource": [ "arn:aws:ecs:*:111122223333:service/[[clusters]]/*" ] }, { "Sid": "ECSTagResource", "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": [ "arn:aws:ecs:*:111122223333:task-definition/[[taskDefinitions]]:*" ], "Condition": { "StringEquals": { "ecs:CreateAction": [ "RegisterTaskDefinition" ] } } }, { "Sid": "IamPassRolePermissions", "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::111122223333:role/[[passRoles]]" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "ecs.amazonaws.com", "ecs-tasks.amazonaws.com" ] } } } ] }

Sie können sich für die Verwendung der Tagging-Autorisierung in Amazon ECS entscheiden. Wenn Sie sich anmelden, müssen Sie die folgenden Berechtigungen gewähren:. ecs:TagResource Weitere Informationen zur Anmeldung und zur Feststellung, ob die Genehmigung erforderlich ist und ob die Tag-Autorisierung durchgesetzt wird, finden Sie im Zeitplan für die Tagging-Autorisierung im Amazon Elastic Container Service Developer Guide.

Sie müssen die iam:PassRole Berechtigungen hinzufügen, um IAM-Rollen für Aufgaben verwenden zu können. Weitere Informationen finden Sie unter IAM-Rolle für die Amazon ECS-Aufgabenausführung und IAM-Rollen für Aufgaben. Verwenden Sie den folgenden Richtlinientext.

Aktionsdeklaration

YAML
Name: DeployECS ActionTypeId: Category: Deploy Owner: AWS Provider: ECS Version: '1' RunOrder: 2 Configuration: ClusterName: my-ecs-cluster ServiceName: sample-app-service FileName: imagedefinitions.json DeploymentTimeout: '15' OutputArtifacts: [] InputArtifacts: - Name: my-image
JSON
{ "Name": "DeployECS", "ActionTypeId": { "Category": "Deploy", "Owner": "AWS", "Provider": "ECS", "Version": "1" }, "RunOrder": 2, "Configuration": { "ClusterName": "my-ecs-cluster", "ServiceName": "sample-app-service", "FileName": "imagedefinitions.json", "DeploymentTimeout": "15" }, "OutputArtifacts": [], "InputArtifacts": [ { "Name": "my-image" } ] },

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.

  • Unter finden Tutorial: Erstellen Sie ein Docker-Image und übertragen Sie es auf Amazon ECR mit CodePipeline (Typ V2) Sie ein Tutorial, das Ihnen zeigt, wie Sie die ECRBuildandPublish Aktion verwenden, um ein Image zu übertragen und dann die ECS-Standardaktion für die Bereitstellung auf Amazon ECS zu verwenden.

  • Tutorial: Continuous Deployment mit CodePipeline — Dieses Tutorial zeigt Ihnen, wie Sie ein Dockerfile erstellen, das Sie in einem Quelldatei-Repository wie z. B. speichern. CodeCommit Als Nächstes zeigt Ihnen das Tutorial, wie Sie eine CodeBuild Buildspec-Datei integrieren, die Ihr Docker-Image erstellt und an Amazon ECR überträgt und Ihre imagedefinitions.json-Datei erstellt. Schließlich erstellen Sie einen Amazon ECS-Service und eine Aufgabendefinition und anschließend Ihre Pipeline mit einer Amazon ECS-Bereitstellungsaktion.

    Anmerkung

    In diesem Thema und Tutorial wird die Amazon ECS-Standardbereitstellungsaktion für beschrieben CodePipeline. Informationen zu Amazon ECS für CodeDeploy blue/green Bereitstellungsaktionen finden Sie unterTutorial: Erstellen Sie eine Pipeline mit einer Amazon ECR-Quelle und Bereitstellung ECS-to-CodeDeploy. CodePipeline

  • Amazon Elastic Container Service Developer Guide — Informationen zur Arbeit mit Docker-Images und -Containern, Amazon ECS-Services und -Clustern sowie Amazon ECS-Aufgabensets finden Sie unter Was ist Amazon ECS?