翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ECS クラスターレイヤー
重要
- AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 にお問い合わせください。 AWS Support でのチーム 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 クラスターレイヤーには、次の制限と要件があります。
-
レイヤーは、デフォルトの VPCVPCを含む、 で実行されている 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 スタック。
以下のとおり、スタックとクラスターを関連付けることができます。
-
各スタックには、1 ECS つのクラスターを表す 1 つのクラスターレイヤーを含めることができます。
-
クラスターは 1 つのスタックのみに関連付けることができます。
ECS クラスターレイヤーをスタックに追加する前に、 AWS OpsWorks スタック AWS Identity and Access Management
(IAM) サービスロール。通常は という名前でaws-opsworks-service-role
、 を許可します。 AWS OpsWorks ECS ユーザーに代わって Amazon とやり取りするスタック。サービスロールの詳細については、「AWS OpsWorks スタックがユーザーに代わって動作することを許可する」を参照してください。
ECS クラスターレイヤーを初めて作成するときは、コンソールに更新ボタンが表示され、これを指示できます。 AWS OpsWorks ロールを更新するスタック。 AWS OpsWorks スタックにより次に、[Add Layer] (レイヤーの追加) ページが表示され、スタックにレイヤーを追加できます。サービスロールの更新は 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クラスターレイヤーをスタックに追加するには、レイヤー を選択し、+レイヤー またはレイヤー を追加 を選択し、ECSクラスターレイヤータイプを選択します。
[Add Layer] (追加のレイヤー) ページには、以下の設定オプションがあります。
- ECS クラスター
-
スタックに登録する Amazon ECSクラスター。
- EC2 インスタンスプロファイル
-
クラスターの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスプロファイル。このプロファイルは、クラスターのコンテナインスタンスで実行されているアプリケーションに、Amazon を含む他の AWSのサービスにアクセスするためのアクセス許可を付与しますECS。最初の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 インスタンスをレイヤーに追加して、不要となったらそれらを削除します。
-
時間ベースのインスタンスを追加することで、スケジュールにあるインスタンスの追加または削除を行います。
-
に基づくインスタンスの追加または削除 AWS OpsWorks スタックは、ロードベースのインスタンスをレイヤーに追加することで、メトリクスまたは CloudWatch アラームをホストします。
注記
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.04LTS、Ubuntu 16.04LTS、Ubuntu 14.04LTS、または Custom です。ECS Optimized を使用してECSレイヤーにAMIインスタンスを作成しないでください。これは、ECSエージェントAMIがすでに含まれているためです。 AWS OpsWorks スタックはインスタンスのセットアッププロセス中にECSエージェントのインストールも試み、競合によりセットアップが失敗する可能性があります。
詳細については、「サーバー数の最適化 」を参照してください。 AWS OpsWorks スタックは、各インスタンスに AWS-OpsWorksECS-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コンソールでクラスターのページに直接移動するには、インスタンス を選択し、ECSクラスターレイヤーの セクションの右上隅近くにあるクラスター ECS を選択します。
スタックからのECSクラスターレイヤーの削除
クラスターが不要になったら、ECSクラスターレイヤーを削除し、関連付けられたクラスターを登録解除します。スタックからクラスターを削除するには、クラスターの登録解除と関連付けられたレイヤーの削除という、2 つのアクションが必要になります。- AWS OpsWorks スタックコンソールはこれらのステップを組み合わせます。レイヤーを削除すると、指定されたクラスターが自動的に登録解除されます。を使用する場合 AWS OpsWorks スタック API、CLI、または ではSDK、クラスターの登録を解除し、関連するレイヤーを削除するには、別のオペレーションを使用する必要があります。
コンソールを使用してECSクラスターレイヤーを削除するには
-
タスクのシャットダウン方法を制御したい場合は、Amazon ECSコンソール、API、または を使用してクラスターのサービスをCLIスケールダウンおよび削除します。詳細については、「Amazon ECSリソースのクリーンアップ」を参照してください。
-
レイヤーのインスタンスを停止してから、それらを削除します。コンテナインスタンスを停止すると、 AWS OpsWorks スタックは実行中のタスクを自動的に停止し、クラスターからインスタンスを登録解除して、インスタンスを終了します。
注記
スタックに既存のコンテナインスタンスを登録している場合は、レイヤーからインスタンスの割り当てを解除してから、 を登録解除できます。これにより、インスタンスはECS制御対象として返されます。
-
Layer を削除します。 AWS OpsWorks スタックは関連付けられたクラスターの登録を解除しますが、クラスターは削除しません。クラスターは Amazon に残りますECS。