翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ECS クラスターレイヤー
重要
この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post
Amazon Elastic Container Service (Amazon ECS) は、コンテナインスタンスと呼ばれる Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのクラスターで Docker コンテナを管理します。ECS クラスターレイヤーとは Amazon ECS クラスターを意味し、以下のような機能を提供することでクラスター管理を簡素化します。
-
効率化されたインスタンスコンテナのプロビジョニングと管理
-
コンテナのインスタンスオペレーティングシステムおよびパッケージの更新
-
ユーザー許可の管理
-
コンテナインスタンスのパフォーマンスのモニタリング
-
Amazon Elastic Block Store (Amazon EBS) のボリューム管理
-
パブリック IP アドレスと Elastic IP アドレスの管理
-
セキュリティグループの管理
ECS クラスターレイヤーには、以下の制限と要件があります。
-
レイヤーは、デフォルト VPC を含む、VPC で実行する Chef 11.10 または Chef 12 Linux スタックまたはそれ以降でのみ使用できます。
-
レイヤーのインスタンスは、次のオペレーティングシステムのいずれかを実行している必要があります。
-
Amazon Linux 2
-
Amazon Linux 2018.03
-
Amazon Linux 2017.09
-
Amazon Linux 2017.03
-
Amazon Linux 2016.09
-
Amazon Linux 2016.03
-
Amazon Linux 2015.09
-
Amazon Linux 2015.03
-
Ubuntu 18.04 LTS
-
Ubuntu 16.04 LTS
-
Ubuntu 14.04 LTS
-
カスタム
-
-
このレイヤーのインスタンスの AWS OpsWorks スタックエージェントバージョンは
3425-20150727112318
以降のバージョンである必要があります。
ECS クラスターレイヤーをスタックに追加する
AWS OpsWorks スタックは、既存の Amazon ECS クラスターのコンテナインスタンスを起動および維持するプロセスを簡素化します。クラスターやタスクのような他の Amazon ECS エンティティを作成または起動するには、Amazon ECS コンソール、コマンドラインインターフェイス (CLI)、または API を使用します。(詳細については、「Amazon Elastic Container Service Developer Guide」(Amazon Elastic Container Service デベロッパーガイド) を参照してください。) その後、ECS クラスターレイヤーを作成してクラスターをスタックに関連付けることができます。このレイヤーを使用して、 AWS OpsWorks スタックでクラスターを管理できます。
以下のとおり、スタックとクラスターを関連付けることができます。
-
各スタックは、単独のクラスターを表す ECS クラスターレイヤーを 1 つ持つことができます。
-
クラスターは 1 つのスタックのみに関連付けることができます。
ECS クラスターレイヤーをスタックに追加する前に、通常は という名前の AWS OpsWorks AWS Identity and Access Management スタック (IAM) サービスロールを更新してaws-opsworks-service-role
、 AWS OpsWorks スタックがユーザーに代わって Amazon ECS とやり取りできるようにする必要があります。サービスロールの詳細については、「AWS OpsWorks スタックがユーザーに代わって動作することを許可する」を参照してください。
ECS クラスターレイヤーを初めて作成すると、コンソールに更新ボタンが表示されます。このボタンを選択すると AWS OpsWorks 、 スタックにロールの更新を指示できます。 AWS OpsWorks スタックにはレイヤーの追加ページが表示され、スタックにレイヤーを追加できます。サービスロールの更新は 1 回だけでかまいません。その後で更新されたロールを使用して、スタックに ECS クラスターレイヤーを追加できます。
注記
必要に応じて、以下のように ecs:*
許可を既存のポリシーに許可を追加することで、サービスロールのポリシーを手動で更新できます。
{ "Statement": [ { "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:*", "rds:*", "ecs:*" ], "Effect": "Allow", "Resource": ["*"] } ] }
スタックとクラスターを関連付けるには、スタックへのクラスターの登録と関連付けられたレイヤーの作成という 2 つのアクションが必要になります。 AWS OpsWorks スタックコンソールはこれらのステップを組み合わせます。レイヤーの作成により、指定されたクラスターが自動的に登録されます。 AWS OpsWorks スタック API、CLI、または SDK を使用する場合は、別のオペレーションを使用してクラスターを登録し、関連するレイヤーを作成する必要があります。コンソールを使用してスタックに ECS クラスターレイヤーを追加するには、[Layers] (レイヤー) を選択し、[+Layer] (+ レイヤー) または [Add a Layer] (レイヤーの追加) を選択してから、ECS クラスターレイヤータイプを選択します。

[Add Layer] (追加のレイヤー) ページには、以下の設定オプションがあります。
- ECS クラスター
-
スタックに登録するための Amazon ECS クラスター。
- EC2 インスタンスプロファイル
-
クラスターの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスプロファイル。このプロファイルによって、クラスターのコンテナインスタンスで実行中のアプリケーションに、Amazon ECS などの他の AWS サービスにアクセスするための許可が付与されます。最初の ECS クラスターレイヤーを作成するときは、ECS アクセスを持つ新しいプロファイルを選択して、 AWS OpsWorks スタックに必要なプロファイルを作成するよう指示します。これは という名前です
aws-opsworks-ec2-role-with-ecs
。そのプロファイルは、後続のすべての ECS クラスターレイヤーで使用することができます。インスタンスプロファイルの詳細については、「EC2 インスタンスで実行するアプリケーションに対するアクセス許可の指定」を参照してください。
レイヤー設定を編集して、以下のその他の設定を指定できます。
-
レイヤーに Elastic Load Balancing のロードバランサーをアタッチします。
このアプローチは、いくつかのユースケースに適合する場合もありますが、Amazon ECS にはより高度なオプションがあります。詳細については、「サービスロードバランシング」を参照してください。
-
パブリック IP アドレスまたは Elastic IP アドレスのコンテナインスタンスへの自動割り当てを許可するかどうかを指定します。
両方のアドレスタイプへの自動割り当てを無効にすると、サブネットに正しく設定された NAT がないかぎり、インスタンスはオンラインになりません。詳細については、「VPC でのスタックの実行」を参照してください。
ECS クラスターの管理
ECS クラスターレイヤーを作成したら、 AWS OpsWorks スタックを使用して次のようにクラスターを管理できます。
- コンテナインスタンスのをプロビジョニングと管理
-
最初は、元のクラスターにコンテナインスタンスが含まれている場合であっても、ECS クラスターレイヤーにはコンテナインスタンスは含まれません。1 つのオプションは、以下のような適切な組み合わせを使用して、レイヤーのインスタンスを管理することです。
-
手動で 24/7 インスタンスをレイヤーに追加して、不要となったらそれらを削除します。
-
時間ベースのインスタンスを追加することで、スケジュールにあるインスタンスの追加または削除を行います。
-
スタックホストメトリクスまたは CloudWatch AWS OpsWorks アラームに基づいてインスタンスを追加または削除するには、負荷ベースのインスタンスをレイヤーに追加します。
注記
スタックのデフォルトのオペレーティングシステムで Amazon ECS がサポートされていない場合は、コンテナインスタンスを作成する場合、サポートされているオペレーティングシステム (Amazon Linux 2、Amazon Linux 2018.03、Amazon Linux 2017.09、Amazon Linux 2017.03、Amazon Linux 2016.09、Amazon Linux 2016.03、Amazon Linux 2015.09、Amazon Linux 2015.03、Ubuntu 18.04 LTS、Ubuntu 16.04 LTS、Ubuntu 14.04 LTS、または Custom) を明示的に指定する必要があります。この AMI には ECS エージェントがすでに含まれているため、ECS レイヤーにインスタンスを作成するために ECS 最適化 AMI を使用しないでください。 AWS OpsWorks スタックはインスタンスのセットアッププロセス中に ECS エージェントのインストールも試行するため、競合によりセットアップが失敗する可能性があります。
詳細については、「」を参照してくださいサーバー数の最適化 。 AWS OpsWorks スタックは AWS-OpsWorks-ECS-Cluster セキュリティグループを各インスタンスに割り当てます。新しいインスタンスの起動が完了すると、 AWS OpsWorks スタックは Docker と Amazon ECS エージェントをインストールしてインスタンスをクラスターに登録することで、そのインスタンスをコンテナインスタンスに変換します。
既存のコンテナインスタンスを使用する場合は、スタックにそれらを登録して、ECS クラスターレイヤーに割当てます。インスタンスは、サポートされているオペレーティングシステムである Amazon Linux 2015.03 以降または Ubuntu 14.04 LTS 以降で実行する必要があります。
注記
コンテナインスタンスは、ECS クラスターレイヤーや別の組み込みレイヤーに属することはできません。ただし、コンテナインスタンスは、ECS クラスターレイヤーと 1 つ以上のカスタムレイヤーに属することができます。
-
- オペレーティングシステムとパッケージの更新を実行する
-
新しいインスタンスの起動が完了すると、 AWS OpsWorks スタックによって最新の更新がインストールされます。その後、 AWS OpsWorks スタックを使用してコンテナインスタンスを最新の状態に保つことができます。詳細については、「セキュリティ更新の管理」を参照してください。
- ユーザーアクセス許可の管理
-
AWS OpsWorks スタックは、ユーザーの SSH キーの管理など、コンテナインスタンスに対するアクセス許可を管理する簡単な方法を提供します。詳細については、ユーザー許可の管理およびSSH アクセスの管理を参照してください。
- パフォーマンスメトリクスのモニタリング
-
AWS OpsWorks スタックには、スタック、レイヤー、または個々のインスタンスのパフォーマンスメトリクスをモニタリングするさまざまな方法が用意されています。詳細については、「モニタリング」を参照してください。
Amazon ECS を介して、タスクまたはサービスの作成などの管理タスクを処理します。詳細については、Amazon Elastic Container Service デベロッパーガイドを参照してください。
注記
Amazon ECS コンソールのクラスターのページに直接移動するには、[Instances] (インスタンス) を選択してから、ECS クラスターレイヤーセクションの右上隅付近にある [ECS Cluster] (ECS クラスター) を選択します。
ECS クラスターレイヤーをスタックから削除
クラスターが不要になったら、ECS クラスターレイヤーを削除して、関連付けられたクラスターの登録を解除します。スタックからクラスターを削除するには、クラスターの登録解除と関連付けられたレイヤーの削除という、2 つのアクションが必要になります。 AWS OpsWorks スタックコンソールは、これらのステップを組み合わせます。レイヤーの削除により、指定されたクラスターが自動的に登録解除されます。 AWS OpsWorks スタック API、CLI、または SDK を使用する場合は、別のオペレーションを使用してクラスターの登録を解除し、関連するレイヤーを削除する必要があります。
コンソールを使用して ECS クラスターレイヤーを削除するには
-
タスクのシャットダウン方法を制御するには、Amazon ECS コンソール、API、または CLI を使用して、クラスターのサービスをスケールダウンして削除します。詳細については、「Cleaning Up Your Amazon ECS Resources」(Amazon ECS リソースのクリーンアップ) を参照してください。
-
レイヤーのインスタンスを停止してから、それらを削除します。コンテナインスタンスを停止すると、 AWS OpsWorks スタックは実行中のタスクを自動的に停止し、クラスターからインスタンスを登録解除して、インスタンスを終了します。
注記
既存のコンテナインスタンスをスタックに登録している場合は、レイヤーからそのインスタンスの割り当てを解除し、登録を解除すると、そのインスタンスを ECS コントロールに戻すことができます。
-
レイヤーを削除します。 AWS OpsWorks スタックは関連付けられたクラスターを登録解除しますが、削除はしません。クラスターは Amazon ECS に残ります。