Amazon Elastic Container Service デプロイアクションリファレンス - AWS CodePipeline

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Elastic Container Service デプロイアクションリファレンス

Amazon ECSアクションを使用して、Amazon ECSサービスとタスクセットをデプロイできます。Amazon ECSサービスは、Amazon ECSクラスターにデプロイされるコンテナアプリケーションです。Amazon ECSクラスターは、クラウドでコンテナアプリケーションをホストするインスタンスのコレクションです。デプロイには、Amazon で作成するタスク定義ECSと、 CodePipeline を使用してイメージをデプロイするイメージ定義ファイルが必要です。

重要

の Amazon ECS標準デプロイアクションは、Amazon ECSサービスで使用されるリビジョンに基づいて、タスク定義の独自のリビジョン CodePipeline を作成します。Amazon ECSサービスを更新せずにタスク定義の新しいリビジョンを作成すると、デプロイアクションはそれらのリビジョンを無視します。

パイプラインを作成する前に、Amazon ECSリソースを既に作成し、イメージリポジトリにタグ付けして保存し、 BuildSpec ファイルをファイルリポジトリにアップロードする必要があります。

注記

このリファレンストピックでは、 の Amazon ECS標準デプロイアクションについて説明します CodePipeline。での Amazon ECSから CodeDeploy ブルー/グリーンデプロイアクションへの参照情報については CodePipeline、「」を参照してくださいAmazon Elastic Container Service と CodeDeploy ブルーグリーンデプロイアクションリファレンス

アクションタイプ

  • カテゴリ:Deploy

  • 所有者: AWS

  • プロバイダー: ECS

  • バージョン: 1

設定パラメータ

ClusterName

必須:はい

Amazon の Amazon ECSクラスターECS。

ServiceName

必須:はい

Amazon で作成した Amazon ECSサービスECS。

FileName

必須:いいえ

イメージ定義ファイルの名前、サービスのコンテナ名を記述するJSONファイル、イメージとタグ。このファイルは、ECS標準のデプロイに使用します。詳細については、「入力アーティファクト」および「Amazon ECS標準デプロイアクションの imagedefinitions.json ファイル」を参照してください。

DeploymentTimeout

必須:いいえ

Amazon ECSデプロイアクションは数分でタイムアウトします。タイムアウトは、このアクションの最大デフォルトタイムアウトまで設定できます。例:

"DeploymentTimeout": "15"

入力アーティファクト

  • アーティファクトの数: 1

  • 説明: アクションはパイプラインのソースファイルリポジトリ内の imagedefinitions.json ファイル。イメージ定義ドキュメントは、Amazon ECSコンテナ名と image を記述するJSONファイルで、tag. はファイル CodePipeline を使用して Amazon などのイメージリポジトリからイメージを取得しますECR。アクションが自動化されていないパイプラインの場合、手動で imagedefinitions.json ファイルを追加することもできます。imagedefinitions.json ファイルの詳細については、「Amazon ECS標準デプロイアクションの imagedefinitions.json ファイル」を参照してください。

    アクションには、イメージリポジトリにすでにプッシュされている既存のイメージが必要です。イメージマッピングは imagedefinitions.json ファイルによって提供されるため、アクションでは Amazon ECRソースをソースアクションとしてパイプラインに含める必要はありません。

出力アーティファクト

  • アーティファクトの数: 0

  • 説明: 出力アーティファクトは、このアクションタイプには適用されません。

アクションの宣言

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" } ] },

このアクションを利用する際に役立つ関連リソースは以下の通りです。

  • チュートリアル: での継続的デプロイ CodePipeline — このチュートリアルでは、 などのソースファイルリポジトリに保存する Dockerfile を作成する方法を示します CodeCommit。次に、チュートリアルでは、Docker イメージ CodeBuild BuildSpec を構築して Amazon にプッシュECRし、imagedefinitions.json ファイルを作成するファイルを組み込む方法を示します。最後に、Amazon ECSサービスとタスクの定義を作成し、Amazon ECSデプロイアクションを使用してパイプラインを作成します。

    注記

    このトピックとチュートリアルでは、 の Amazon ECS標準デプロイアクションについて説明します CodePipeline。での Amazon ECSから CodeDeploy ブルー/グリーンへのデプロイアクションの詳細については CodePipeline、「」を参照してくださいチュートリアル: Amazon ECRソースと ECSからCodeDeploy デプロイまでのパイプラインを作成する

  • Amazon Elastic Container Service デベロッパーガイド – Docker イメージとコンテナ、Amazon ECSのサービスとクラスター、Amazon ECSタスクセットの操作については、「Amazon とは」を参照してくださいECS。