Referenz zur Bereitstellungsaktion von Amazon Elastic Container Service - 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 Bereitstellungsaktion von Amazon Elastic Container Service

Sie können eine Amazon ECS-Aktion verwenden, um einen Amazon ECS-Service und einen Tasksatz 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 Revision 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 Revisionen.

Bevor Sie Ihre Pipeline erstellen, müssen Sie die Amazon ECS-Ressourcen bereits erstellt, das Bild markiert und in Ihrem Image-Repository 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 den Bereitstellungsaktionen von Amazon ECS to CodeDeploy Blue/Green finden Sie CodePipeline unterReferenz für Amazon Elastic Container Service und CodeDeploy blaugrüne Bereitstellungsaktionen.

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 Bild und das Tag. Sie verwenden diese Datei für ECS-Standardbereitstellungen. Weitere Informationen erhalten Sie unter Input artifacts (Eingabeartefakte) und Datei imagedefinitions.json 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. Zum Beispiel:

"DeploymentTimeout": "15"

Input artifacts (Eingabeartefakte)

  • Anzahl der Artefakte: 1

  • Beschreibung: Die Aktion sucht nach einer imagedefinitions.json Datei im Quelldatei-Repository für die Pipeline. Ein Bilddefinitionsdokument ist eine JSON-Datei, die Ihren Amazon ECS-Container-Namen sowie das Bild und das 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, in der die Aktion nicht automatisiert ist. Informationen zur imagedefinitions.json-Datei finden Sie unter Datei imagedefinitions.json 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 aufgeführt, die zum Erstellen von Pipelines mit einer Amazon ECS-Bereitstellungsaktion erforderlich sind.

{ "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:*:{{customerAccountId}}:service/[[clusters]]/*" ] }, { "Sid": "ECSTagResource", "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": [ "arn:aws:ecs:*:{{customerAccountId}}:task-definition/[[taskDefinitions]]:*" ], "Condition": { "StringEquals": { "ecs:CreateAction": [ "RegisterTaskDefinition" ] } } }, { "Sid": "IamPassRolePermissions", "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::{{customerAccountId}}: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 darüber, wie Sie sich anmelden und feststellen können, ob die Genehmigung erforderlich ist und die Tag-Autorisierung durchgesetzt wird, finden Sie unter 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 Ausführung von Amazon ECS-Aufgaben 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.

  • In einem Tutorial erfahren Sie, wie Sie die Aktion „ ECRBuildandVeröffentlichen“ verwenden, um ein Bild zu übertragen und anschließend die ECS-Standardaktion für die Bereitstellung in Amazon ECS zu verwenden. Tutorial: Erstellen Sie ein Docker-Image und übertragen Sie es auf Amazon ECR mit CodePipeline (Typ V2)

  • Tutorial: Kontinuierliche Bereitstellung mit CodePipeline — Dieses Tutorial zeigt Ihnen, wie Sie ein Dockerfile erstellen, das Sie in einem Quelldatei-Repository speichern, wie z. 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 dann erstellen Sie Ihre Pipeline mit einer Amazon ECS-Bereitstellungsaktion.

    Anmerkung

    Dieses Thema und dieses Tutorial beschreiben die Amazon ECS-Standardbereitstellungsaktion für CodePipeline. Informationen zu den Bereitstellungsaktionen von Amazon ECS to CodeDeploy Blue/Green finden Sie CodePipeline unterTutorial: Eine Pipeline mit einer Amazon ECR-Quelle und ECS-to-CodeDeploy Bereitstellung erstellen.

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