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

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

ECS クラスターレイヤー

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは OpsWorks コンソール、 API、 CLI、および CloudFormation リソースを通常どおり使用できますが、その時点でこれらのリソースは廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、AWS OpsWorks Stacks サポート終了に関する FAQ および AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行 を参照してください。

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

    • Custom

  • このレイヤーのインスタンスの 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-service-role と呼ばれる AWS OpsWorks スタックの AWS Identity and Access Management (IAM) を更新して、AWS OpsWorks スタックがユーザーに代わって Amazon ECS とやり取りできるようにする必要があります。サービスロールの詳細については、「ユーザーに代わって AWS OpsWorks スタックがタスクを実行できるようにする」を参照してください。

ECS クラスターレイヤーを初めて作成すると、コンソールに [Update] (更新) ボタンが表示され、ユーザーのロールを更新するように 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 クラスターレイヤーを追加するには、[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-ec2-role-with-ecs という名前で必要なプロファイルを作成するように AWS OpsWorks スタックに指示します。そのプロファイルは、後続のすべての 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.04 LTS、Ubuntu 16.04 LTS、Ubuntu 14.04 LTS、または Custom) を明示的に指定する必要があります。ECS レイヤーのインスタンスの作成に ECS 対応 AMI を使用しないでください。この AMI にはすでに ECS エージェントが含まれています。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 クラスターレイヤーを削除するには
  1. タスクのシャットダウン方法を制御するには、Amazon ECS コンソール、API、または CLI を使用して、クラスターのサービスをスケールダウンして削除します。詳細については、「Cleaning Up Your Amazon ECS Resources」(Amazon ECS リソースのクリーンアップ) を参照してください。

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

    注記

    既存のコンテナインスタンスをスタックに登録している場合は、レイヤーからそのインスタンスの割り当てを解除し登録を解除すると、そのインスタンスを ECS コントロールに戻すことができます。

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