Amazon EC2 起動タイプ用の Amazon ECS クラスターの作成 - Amazon Elastic Container Service

Amazon EC2 起動タイプ用の Amazon ECS クラスターの作成

クラスターを作成して、タスクとサービスを実行するインフラストラクチャを定義します。

これを開始する前に、「Amazon ECS を使用するようにセットアップする」 の手順を完了し、適切な IAM 許可を割り当てる必要があります。詳細については、「Amazon ECS クラスターの例」を参照してください。Amazon ECS コンソールでは、AWS CloudFormation スタックを作成することで、Amazon ECS クラスターに必要なリソースを簡単に作成できます。

クラスターの作成プロセスをできるだけ簡単にするために、コンソールには、以下で説明する多くの選択肢に対するデフォルトの選択肢があります。コンソール内のほとんどのセクションには、詳細なコンテキストを提供するヘルプパネルもあります。

クラスターの作成時に Amazon EC2 インスタンスを登録することや、作成後のクラスターに対し、追加のインスタンスを登録することもできます。

以下のデフォルトオプションを変更できます。

  • インスタンスを起動するサブネットを変更します。

  • コンテナインスタンスへのトラフィックを制御するために使用されるセキュリティグループを変更します。

  • クラスターに関連付けられたデフォルトの名前空間を変更します。

    名前空間を使用すると、クラスターで作成したサービスを、追加の設定なしで名前空間内の他のサービスに接続できます。デフォルトの名前空間は、クラスター名と同じです。詳細については、「Amazon ECS サービスを相互接続する」を参照してください。

  • オブザーバビリティが強化された Container Insights、または Container Insights を有効にします。

    CloudWatch Container Insights は、コンテナ化されたアプリケーションおよびマイクロサービスのメトリクスとログを収集、集約、要約します。Container Insights は、問題の迅速な特定と解決に使用するコンテナの再起動失敗などの診断情報も提供します。詳細については、「オブザーバビリティが強化された Container Insights を使用し、Amazon ECS コンテナを監視する」を参照してください。

    2024 年 12 月 2 日、AWS で Amazon ECS 用にオブザーバビリティが強化された Container Insights がリリースされました。このバージョンでは、Amazon EC2 および Fargate 起動タイプを使用して Amazon ECS 用に強化されたオブザーバビリティがサポートされます。Amazon ECS でオブザーバビリティが強化された Container Insights を設定したら、Container Insights は環境内のクラスターレベルからコンテナレベルまでの詳細なインフラストラクチャテレメトリを自動収集し、さまざまなメトリクスとディメンションを示すダッシュボードにデータを表示します。その後、Container Insights コンソールでこれらのすぐに使えるダッシュボードを使用して、コンテナの健全性とパフォーマンスをよりよく理解し、異常を特定することで問題を迅速に軽減することができます。

    コンテナ環境で詳細な可視性を提供し、解決までの平均時間を短縮するため、Container Insights ではなく、オブザーバビリティが強化された Container Insights を使用することをお勧めします。

  • クラスターを識別しやすいようにタグを追加します。

Auto Scaling グループオプション

Amazon EC2 インスタンスを使用する場合は、タスクとサービスが実行されるインフラストラクチャを管理するために Auto Scaling グループを指定する必要があります。

新しい Auto Scaling グループの作成を選択すると、自動的に次の動作が設定されます。

  • Amazon ECS は Auto Scaling グループのスケールインアクションとスケールアウトアクションを管理します。

  • Amazon ECS は、タスクを含む Auto Scaling グループ内の Amazon EC2 インスタンスがスケールインアクション中に終了されるのを防ぎます。詳細については、AWS Auto Scaling ユーザーガイドの「インスタンスの保護」を参照してください。

次の Auto Scaling グループプロパティを構成し、グループに対して起動するインスタンスのタイプと数を決定します。

  • Amazon ECS に最適化された AMI。

  • インスタンスタイプ。

  • インスタンスに接続するときに ID を証明する SSH キーペア。SSH キーの作成については、「Amazon EC2 ユーザーガイド」の「Amazon EC2 のキーペアと Linux インスタンス」を参照してください。

  • Auto Scaling グループに対して起動するインスタンスの最小数。

  • Auto Scaling グループに対して開始されるインスタンスの最大数。

    グループをスケールアウトするには、最大値を 0 より大きくする必要があります。

Amazon ECS は、AWS CloudFormation スタックの一部としてユーザーに代わり Amazon EC2 Auto Scaling 起動テンプレートと Auto Scaling グループを作成します。AMI、インスタンスタイプ、SSH キーペアのために指定した値は、起動テンプレート内に保存されます。テンプレートは EC2ContainerService-<ClusterName> プレフィックスが付いているため、識別が容易になります。Auto Scaling グループのプレフィックスは <ClusterName>-ECS-Infra-ECSAutoScalingGroup です。

Auto Scaling グループに対して起動されたインスタンスは、起動テンプレートを使用します。

ネットワークのオプション

デフォルトでは、インスタンスはリージョンのデフォルトのサブネットで起動されます。コンテナインスタンスへのトラフィックを制御するセキュリティグループは、現在サブネットに関連付けられているものが使用されます。インスタンスのサブネットとセキュリティグループは変更できます。

既存のサブネットを選択できます。セキュリティグループは、既存のものを使用することも、新しいものを作成することもできます。新しいセキュリティグループを作成するときは、少なくとも 1 つのインバウンドルールを指定する必要があります。

インバウンドルールは、コンテナインスタンスに到達できるトラフィックを決定し、以下のプロパティを含みます。

  • 許可するプロトコル

  • 許可するポートの範囲

  • インバウンドトラフィック (送信元)

特定のアドレスまたは CIDR ブロックからのインバウンドトラフィックを許可するには、許可された CIDR で [送信元] に [カスタム] を使用します。

すべての送信先からのインバウンドトラフィックを許可するには、[送信元] に [すべて] を使用してください。これにより、これにより、0.0.0.0/0 IPv4 CIDR ブロックと::/0 IPv6 CIDR ブロックが自動的に追加されます。

ローカルコンピューターからのインバウンドトラフィックを許可するには、[送信元] に [ソースグループ] を使用します。これにより、ローカルコンピュータの現在の IP アドレスが送信元アドレスとして自動的に追加されます。

新しいクラスターを作成するには (Amazon ECS コンソール)

開始する前に、適切な IAM アクセス許可を割り当ててください。詳細については、「Amazon ECS クラスターの例」を参照してください。

  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションバーから、使用するリージョンを選択します。

  3. ナビゲーションペインで [Clusters] (クラスター) を選択します。

  4. [Clusters] (クラスター) ページで、[Create Cluster] (クラスターの作成) を選択します。

  5. [クラスター設定] で以下を設定します。

    • [クラスター名] に一意の名前を入力します。

      名前には、最大 255 文字 (大文字と小文字)、数字、およびハイフンを含めることができます。

    • (オプション) Service Connect に使用する名前空間をクラスター名と別のものにするには、[名前空間] に一意の名前を入力します。

  6. Amazon EC2 インスタンスをクラスターに追加します。[インフラストラクチャー] を展開し、次に [Amazon EC2 インスタンス] を選択します。

    次に、キャパシティープロバイダーとして機能する Auto Scaling グループを設定します。

    1. 既存の Auto Scaling グループを使用するには、[Auto Scaling group (ASG)] (Auto Scaling グループ) からグループを選択します。

    2. Auto Scaling グループを作成するには、Auto Scaling group(ASG) (Auto Scaling グループ) から、[Create new group] (新しいグループの作成) を選択し、グループに関する以下の詳細情報を入力します。

      • [プロビジョニングモデル] で、[オンデマンド]インスタンスと[スポット]インスタンスのどちらを使用するかを選択します。

      • スポットインスタンスを使用する場合は、[割り当て戦略] で、インスタンスに使用するスポットキャパシティプール (インスタンスタイプおよびアベイラビリティーゾーン) を選択します。

        ほとんどのワークロードでは、[料金キャパシティ最適化] を選択できます。

        詳細については、「Amazon EC2 ユーザーガイド」の「Allocation strategies for Spot Instances」(スポットインスタンスの割り当て戦略) を参照してください。

      • コンテナインスタンスの Amazon マシンイメージ (AMI) で、Auto Scaling グループインスタンスの [Amazon ECS 最適化 AMI] を選択します。

      • [EC2 instance type] (EC2 インスタンスタイプ) を使用する場合、ワークロードのインスタンスタイプを選択します。

        マネージドスケーリングは、Auto Scaling グループが同じインスタンスタイプまたは類似のインスタンスタイプを使用している場合に最適です。

      • [EC2 インスタンスロール]では、既存のコンテナインスタンスロールを選択するか、新しいコンテナインスタンスロールを作成できます。

        詳細については、「Amazon ECS コンテナインスタンスの IAM ロール」を参照してください。

      • [Capacity] (キャパシティー) には、Auto Scaling グループで起動するインスタンスの最小数と最大数を入力します。

      • [SSH key pair] (SSH キーペア) を使用する場合、インスタンスに接続する際に ID を証明するペアを選択してください。

      • より大きなイメージとストレージを許容するには、[ルート EBS ボリュームサイズ] に単位 GiB で値を入力します。

  7. (オプション) VPC とサブネットを変更するには、[Amazon EC2 インスタンスのネットワーキング] で、次のいずれかの操作を実行します。

    • サブネットを削除するには、[Subnets] (サブネット) で、削除するサブネットごとに [X] を選択します。

    • デフォルト VPC 以外の VPC に変更するには、[VPC] で既存の VPC を選択し、[サブネット] でサブネットを選択します。

    • セキュリティグループを選択します。[セキュリティグループ] で、次のいずれかのオプションを選択します。

      • 既存のセキュリティグループを選択するには、[既存のセキュリティグループの選択] を選択してから、セキュリティグループを選択します。

      • 新しいセキュリティグループを作成するには、[新しいセキュリティグループの作成] を選択します。その後、各インバウンドルールについて [ルールの追加] を選択します。

        インバウンドルールの詳細については、「ネットワークのオプション」を参照してください。

    • Amazon EC2 コンテナインスタンスにパブリック IP アドレスを自動的に割り当てるには、[パブリック IP の自動割り当て] で以下のいずれかのオプションを選択します。

      • サブネット設定を使用 — インスタンスが起動するサブネットがパブリックサブネットの場合、パブリック IP アドレスをインスタンスに割り当てます。

      • オンにする — インスタンスにパブリック IP アドレスを割り当てます。

  8. (オプション) Container Insights を使用して モニタリング を展開し、次のいずれかのオプションを選択します。

    • オブザーバビリティが強化された推奨の Container Insights を使用するには、[オブザーバビリティが強化された Container Insights] を選択します。

    • Container Insights を使用するには、[Container Insights] を選択します。

  9. (オプション)

    ランタイムのモニタリングを手動オプションで使用していて、このクラスターを GuardDuty でモニタリングしたい場合は、[タグを追加] を選択して次の操作を行います。

    • [キー] で「guardDutyRuntimeMonitoringManaged」と入力します。

    • [値] に「true」と入力します。

  10. (オプション) クラスタータグを管理するには、[Tags] (タグ) を展開し、次のいずれかのオペレーションを実行します。

    [タグの追加] [タグの追加] を選択して、以下を実行します。

    • [キー] にはキー名を入力します。

    • [] にキー値を入力します。

    [タグを削除] タグのキーと値の右側にある [削除] を選択します。

  11. [Create] (作成) を選択します。

次のステップ

クラスターを作成したら、アプリケーションのタスク定義を作成し、スタンドアロンタスク、またはサービスの一部として実行できます。詳細については次を参照してください: