Amazon ECS マネージドインスタンスのクラスターを作成する
クラスターを作成して、タスクとサービスを実行するインフラストラクチャを定義します。
Amazon ECS マネージドインスタンスのクラスターを作成すると、デフォルトで FARGATE_MANAGED_INSTANCE キャパシティプロバイダーにアクセスできるようになります。このキャパシティプロバイダーは、ワークロード用に最もコストが最適化されたインスタンスタイプを自動的に選択します。特定のインスタンス属性またはタイプが必要な場合は、カスタムキャパシティプロバイダーを作成することもできます。
クラスターの作成プロセスをできるだけ簡単にするために、コンソールには多くの選択肢がデフォルトで用意されています。
-
AWS Cloud Map に、クラスターと同じ名前のデフォルトの名前空間を作成します。名前空間を使用すると、クラスターで作成したサービスを、追加の設定なしで名前空間内の他のサービスに接続できます。
詳細については、「Amazon ECS サービスを相互接続する」を参照してください。
以下のオプションを変更できます。
-
クラスターに関連付けられたデフォルトの名前空間を変更します。
名前空間を使用すると、クラスターで作成したサービスを、追加の設定なしで名前空間内の他のサービスに接続できます。デフォルトの名前空間は、クラスター名と同じです。詳細については、「Amazon ECS サービスを相互接続する」を参照してください。
-
マネージドストレージに AWS KMS キーを割り当てます。キーの作成方法の詳細については、AWS Key Management Service ユーザーガイドの「KMS キーを作成する」を参照してください。
-
クラスターを識別しやすいようにタグを追加します。
前提条件
これを開始する前に、「Amazon ECS を使用するようにセットアップする」 の手順を完了し、適切な IAM 許可を割り当てる必要があります。詳細については、「Amazon ECS クラスターの例」を参照してください。
クラスターを作成するユーザーには、追加のアクセス許可 iam:CreateServiceLinkedRole が必要です。
デフォルトでは、Amazon ECS はタスク定義で指定した要件に基づいてインスタンスタイプを選択します。これがデフォルトのキャパシティプロバイダーになります。特定のインスタンス属性またはタイプが必要な場合は、すべての要件を確認してください。カスタムキャパシティプロバイダーを使用して、インスタンスの要件を指定する必要があります。
インスタンスの選択方法を理解します。詳細については、「Amazon ECS マネージドインスタンスにおけるインスタンス選択のベストプラクティス」を参照してください。
Amazon ECS マネージドインスタンスに必要な IAM ロールがあること。これには、以下が含まれます。
-
インフラストラクチャロール – Amazon ECS がユーザーに代わって AWS サービスを呼び出し、Amazon ECS マネージドインスタンスインフラストラクチャを管理できるようにします。
詳細については、「Amazon ECS インフラストラクチャ IAM ロール」を参照してください。
-
インスタンスプロファイル – マネージドインスタンスで実行されている Amazon ECS コンテナエージェントと Docker デーモンへのアクセス許可を提供します。
詳細については、「Amazon ECS マネージドインスタンスのインスタンスプロファイル」を参照してください。
コンソール手順
新しいクラスターを作成するには (Amazon ECS コンソール)
コンソール (https://console.aws.amazon.com/ecs/v2
) を開きます。 -
ナビゲーションバーから、使用するリージョンを選択します。
-
ナビゲーションペインで [Clusters] (クラスター) を選択します。
-
[Clusters] (クラスター) ページで、[Create Cluster] (クラスターの作成) を選択します。
-
[クラスター設定] で以下を設定します。
-
[クラスター名] に一意の名前を入力します。
名前には、最大 255 文字 (大文字と小文字)、数字、およびハイフンを含めることができます。
-
(オプション) Service Connect に使用する名前空間をクラスター名と別のものにするには、[名前空間] に一意の名前を入力します。
-
-
[カスタムキャパシティプロバイダー] の場合は、次の操作を行います。
-
[EC2 キャパシティの取得方法を選択] で、[Amazon ECS マネージドインスタンス] を選択します。
-
[インスタンスプロファイル] で、インスタンスプロファイルのロールを選択します。
-
インフラストラクチャロール については、インフラストラクチャロールを選択します。
-
カスタムキャパシティプロバイダーを使用するには、[インスタンス選択] で [カスタムを使用]を選択します。次に、属性ごとに [属性値] を入力します。
-
-
(オプション) Container Insights を使用して モニタリング を展開し、次のいずれかのオプションを選択します。
-
オブザーバビリティが強化された推奨の Container Insights を使用するには、[オブザーバビリティが強化された Container Insights] を選択します。
-
Container Insights を使用するには、[Container Insights] を選択します。
-
-
(オプション) マネージドストレージのデータを暗号化します。[暗号化] の [マネージドストレージ] に、マネージドストレージデータの暗号化に使用する AWS KMS キーの ARN を入力します。
-
(オプション) クラスターを識別しやすくするには、[Tags] (タグ) を展開し、タグを設定します。
[タグの追加] [タグの追加] を選択して、以下を実行します。
-
[キー] にはキー名を入力します。
-
[値] にキー値を入力します。
-
-
[作成] を選択します。
AWS CLI の手順
AWS CLI を使用して、Amazon ECS マネージドインスタンスのクラスターを作成できます。AWS CLI の最新バージョンを使用する。最新のバージョンにアップグレードする方法については、「AWS CLI の最新バージョンをインストールまたは更新」を参照してください。
注記
デュアルスタックサービスエンドポイントを使用することで、AWS AWS CLI、SDK、Amazon ECS API から、IPv4 と IPv6 の両方を経由して Amazon ECS とやり取りができます。詳細については、「Amazon ECS デュアルスタックエンドポイントの使用」を参照してください。
新しいクラスターを作成するには (AWS CLI)
-
以下のコマンドを使用して、一意の名前を付けたクラスターを作成します。
aws ecs create-cluster --cluster-namemanaged-instances-cluster出力:
{ "cluster": { "status": "ACTIVE", "defaultCapacityProviderStrategy": [], "statistics": [], "capacityProviders": [], "tags": [], "clusterName": "managed-instances-cluster", "settings": [ { "name": "containerInsights", "value": "disabled" } ], "registeredContainerInstancesCount": 0, "pendingTasksCount": 0, "runningTasksCount": 0, "activeServicesCount": 0, "clusterArn": "arn:aws:ecs:region:aws_account_id:cluster/managed-instances-cluster" } } -
(オプション) クラスターのオブザーバビリティが強化された Container Insights を有効にするには、次のコマンドを使用します。
aws ecs put-account-setting --name containerInsights --value enhanced -
(オプション) クラスターにタグを追加するには、次のコマンドを使用します。
aws ecs tag-resource --resource-arn arn:aws:ecs:region:aws_account_id:cluster/managed-instances-cluster--tags key=Environment,value=Production
次のステップ
Amazon ECS マネージドインスタンスのタスク定義を作成します。詳細については、「コンソールを使用した Amazon ECS タスク定義の作成」を参照してください。
スタンドアロンタスクとして、またはサービスの一部としてアプリケーションを実行します。詳細については次を参照してください: