ECS クラスターレイヤー - AWS OpsWorks

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

ECS クラスターレイヤー

重要

この AWS OpsWorks Stacks サービスは 2024 年 5 月 26 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。できるだけ早くワークロードを他のソリューションに移行することを強くお勧めします。移行についてご質問がある場合は、 AWS re:Post またはAWS プレミアムサポートを通じて AWS サポート チームにお問い合わせください。

Amazon Elastic Container Service サービス (Amazon ECS) は、コンテナインスタンスと呼ばれる Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのクラスター上の Docker コンテナを管理します。クラスターレイヤーは Amazon ECS 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 スタックでクラスターを管理できます。

以下のとおり、スタックとクラスターを関連付けることができます。

  • 各スタックには、単一のクラスターを表す 1 ECS つのクラスターレイヤーを含めることができます。

  • クラスターは 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 スタックにレイヤーの追加ページが表示され、スタックにレイヤーを追加できます。サービスロールの更新は 1 回だけでかまいません。その後、更新されたロールを使用して、任意のスタックにECSクラスターレイヤーを追加できます。

注記

必要に応じて、以下のように ecs:* 許可を既存のポリシーに許可を追加することで、サービスロールのポリシーを手動で更新できます。

{ "Statement": [ { "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "elasticloadbalancing:*", "rds:*", "ecs:*" ], "Effect": "Allow", "Resource": ["*"] } ] }

スタックとクラスターを関連付けるには、スタックへのクラスターの登録と関連付けられたレイヤーの作成という 2 つのアクションが必要になります。 AWS OpsWorks スタックコンソールは、これらのステップを組み合わせます。レイヤーの作成により、指定されたクラスターが自動的に登録されます。 AWS OpsWorks スタック API、、または を使用する場合はSDK、クラスターを登録し、関連するレイヤーを作成するにはCLI、別のオペレーションを使用する必要があります。コンソールを使用してスタックにECSクラスターレイヤーを追加するには、レイヤーを選択し、+レイヤーまたはレイヤーの追加を選択してから、ECSクラスターレイヤータイプを選択します。

Form to add an ECS クラスター Layer, showing layer type, クラスター selection, and EC2 instance profile options.

[Add Layer] (追加のレイヤー) ページには、以下の設定オプションがあります。

ECS クラスター

スタックに登録する Amazon ECSクラスター。

EC2 インスタンスプロファイル

クラスターの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスプロファイル。このプロファイルは、クラスターのコンテナインスタンスで実行されているアプリケーションに、Amazon を含む他の AWSサービスにアクセスするためのアクセス許可を付与しますECS。最初のECSクラスターレイヤーを作成するときは、 AWS OpsWorks スタックECSにアクセス可能な新しいプロファイルを選択して、 という名前の必要なプロファイルを作成しますaws-opsworks-ec2-role-with-ecs。その後、そのプロファイルを後続のすべてのECSクラスターレイヤーに使用できます。インスタンスプロファイルの詳細については、「EC2 インスタンスで実行されるアプリケーションのアクセス許可の指定」を参照してください。

レイヤー設定を編集して、以下のその他の設定を指定できます。

ECS クラスターの管理

ECS クラスターレイヤーを作成したら、次のように AWS OpsWorks スタックを使用してクラスターを管理できます。

コンテナインスタンスのをプロビジョニングと管理

初期状態では、元のクラスターであっても、ECSクラスターレイヤーにはコンテナインスタンスは含まれません。1 つのオプションは、以下のような適切な組み合わせを使用して、レイヤーのインスタンスを管理することです。

注記

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 最適化された を使用して ECSレイヤーにインスタンスAMIを作成しないでください。これにはAMI、既に ECS エージェントが含まれています。 AWS OpsWorks スタックはインスタンスのセットアッププロセス中にECSエージェントのインストールも試みるため、競合によりセットアップが失敗する可能性があります。

詳細については、「」を参照してくださいサーバー数の最適化 。 AWS OpsWorks スタックは AWS-OpsWorksECS-Cluster セキュリティグループを各インスタンスに割り当てます。新しいインスタンスの起動が完了すると、 AWS OpsWorks スタックは Docker と Amazon ECS エージェントをインストールし、インスタンスをクラスターに登録することで、そのインスタンスをコンテナインスタンスに変換します。

既存のコンテナインスタンスを使用する場合は、それらをスタックに登録し、ECSクラスターレイヤーに割り当てることができます。インスタンスは、サポートされているオペレーティングシステム、Amazon Linux 2015.03 以降、または Ubuntu 14.04 LTS以降を実行している必要があることに注意してください。

注記

コンテナインスタンスはECS、クラスターレイヤーと別の組み込みレイヤーの両方に属すことはできません。ただし、コンテナインスタンスは クラスターレイヤーと 1 ECS つ以上のカスタムレイヤーに属すことができます

オペレーティングシステムとパッケージの更新を実行する

新しいインスタンスの起動が完了すると、 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、、または を使用する場合はSDK、別のオペレーションを使用してクラスターの登録を解除しCLI、関連するレイヤーを削除する必要があります。

コンソールを使用してECSクラスターレイヤーを削除するには
  1. タスクのシャットダウン方法を制御したい場合は、Amazon ECSコンソール、API、または CLI を使用してクラスターのサービスをスケールダウンおよび削除します。詳細については、「Amazon ECSリソースのクリーンアップ」を参照してください。

  2. レイヤーのインスタンスを停止してから、それらを削除します。コンテナインスタンスを停止すると、 AWS OpsWorks スタックは実行中のタスクを自動的に停止し、クラスターからインスタンスを登録解除して、インスタンスを終了します。

    注記

    スタックに既存のコンテナインスタンスを登録している場合は、レイヤーからインスタンスの割り当てを解除してから、登録を解除できます。これにより、ECS制御するインスタンスが返されます。

  3. レイヤーを削除します。 AWS OpsWorks スタックは関連付けられたクラスターを登録解除しますが、削除はしません。クラスターは Amazon に残りますECS。