AWS Management Console を使用した Amazon ECS クラスターの自動スケーリング用のリソースの作成 - Amazon Elastic Container Service

AWS Management Console を使用した Amazon ECS クラスターの自動スケーリング用のリソースの作成

AWS Management Console を使用してクラスターの自動スケーリング用のリソースを作成する方法について説明します。リソースに名前が必要な場合は、プレフィックス ConsoleTutorial を使用して、すべてのリソースに一意の名前があることを確認し、見つけやすくします。

前提条件

このチュートリアルでは、以下の前提条件が完了済みであることを前提としています。

ステップ 1: Amazon ECS クラスターを作成する

次の手順に従って Amazon ECS クラスターを作成します。

Amazon ECS は、AWS CloudFormation スタックの一部としてユーザーに代わり Amazon EC2 Auto Scaling 起動テンプレートと Auto Scaling グループを作成します。

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

  2. ナビゲーションペインで、[クラスター] を選択し、[クラスターの作成] を選択します。

  3. [クラスター設定][クラスター名] に、「ConsoleTutorial-cluster」と入力します。

  4. [インフラストラクチャ] で、[AWS Fargate (サーバーレス)] を選択解除し、[Amazon EC2 インスタンス] を選択します。次に、キャパシティプロバイダーとして動作する、Auto Scaling グループを設定します。

    1. [自動スケーリンググループ (ASG)] の下です。[新しい ASG を作成] を選択し、次に、そのグループに関する詳細を以下のように入力します。

      • [オペレーティングシステム/アーキテクチャ] で、[Amazon Linux 2] を選択します。

      • [EC2 インスタンスタイプ] で [t3.nano] を選択します。

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

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

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

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

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

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

  6. [作成] を選択します。

ステップ 2: タスク定義を登録する

クラスターでタスクを実行する前に、タスク定義を登録する必要があります。タスク定義とは、1 つにグループ化されたコンテナのリストです。次の例は、Docker Hub から取得した amazonlinux イメージを使用し、スリープ状態になるシンプルなタスク定義です。使用できるタスク定義パラメータの詳細については、「Amazon ECSの タスク定義」を参照してください。

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

  2. ナビゲーションペインで、タスクの定義 を選択します。

  3. [Create new task definition] (新しいタスク定義の作成)、[Create new task definition with JSON] (JSON で新しいタスク定義を作成) の順に選択します。

  4. [JSON エディタ] ボックスには、以下の内容を貼り付けます。

    { "family": "ConsoleTutorial-taskdef", "containerDefinitions": [ { "name": "sleep", "image": "public.ecr.aws/amazonlinux/amazonlinux:latest", "memory": 20, "essential": true, "command": [ "sh", "-c", "sleep infinity" ] } ], "requiresCompatibilities": [ "EC2" ] }
  5. [作成] を選択します。

ステップ 3: タスクを実行する

アカウントのタスク定義を登録したら、クラスターでタスクを実行できます。このチュートリアルでは、ConsoleTutorial-cluster クラスターで ConsoleTutorial-taskdef タスク定義のインスタンスを 5 つ実行します。

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

  2. [クラスター] ページで、[コンソールチュートリアル – クラスター] を選択します。

  3. [タスク] で、[新しいタスクの実行] を選択します

  4. [環境] セクションの [コンピューティングオプション] で、[キャパシティープロバイダー戦略] を選択します。

  5. [デプロイメント構成] の [アプリケーション タイプ] で、[タスク] を選択します。

  6. [ファミリー] ドロップダウン リストから [ConsoleTutorial-taskdef] を選択します。

  7. [希望するタスク] で、「5」と入力します。

  8. [作成] を選択します。

ステップ 4: 確認する

チュートリアルのこの時点で、5 つのタスクが実行されているクラスターと、キャパシティープロバイダーを備えた Auto Scaling グループができているはずです。キャパシティープロバイダーが Amazon ECS マネージドスケーリングを有効にしています。

CloudWatch メトリクス、Auto Scaling グループ設定、最後に Amazon ECS クラスタータスク数を表示することで、すべてが正常に機能していることを確認できます。

クラスターの CloudWatch メトリクスを表示するには
  1. CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/ を開いてください。

  2. 画面上部のナビゲーションバーで、 リージョンを選択します。

  3. ナビゲーションペインで、[メトリクス] から [すべてのメトリクス] を選択します。

  4. [すべてのメトリクス] ページの [参照] タブで、AWS/ECS/ManagedScaling を選択します。

  5. [CapacityProviderName, ClusterName] を選択します。

  6. ConsoleTutorial-cluster [クラスター名] に対応するチェックボックスを選択します。

  7. [グラフ化メトリクス] タブで、[期間] を [30 秒][統計] を [最大] に変更します。

    グラフに表示される値は、キャパシティープロバイダーのターゲットキャパシティー値を示します。これは、設定したターゲットキャパシティーパーセントである 100 から開始する必要があります。200 までスケールアップすると、ターゲット追跡スケーリングポリシーのアラームがトリガーされます。その後、アラームが発生し Auto Scaling グループがスケールアウトします。

次のステップに従って、Auto Scaling グループの詳細を表示し、スケールアウトアクションが発生したことを確認します。

Auto Scaling グループがスケールアウトされたことを確認するには
  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. 画面上部のナビゲーションバーで、 リージョンを選択します。

  3. ナビゲーションペインの 自動スケーリング で、[Auto Scaling Groups] (Auto Scaling グループ) を選択します。

  4. このチュートリアルで作成した ConsoleTutorial-cluster Auto Scaling グループを選択します。[必要なキャパシティー] の値を表示し、[インスタンス管理] タブでインスタンスを表示して、グループが 2 つのインスタンスにスケールアウトされていることを確認します。

次のステップを使用して Amazon ECS クラスターを表示し、Amazon EC2 インスタンスがクラスターに登録され、タスクが RUNNING ステータスに移行したことを確認します。

Auto Scaling グループに含まれるインスタンスを確認する方法
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションペインで [Clusters] (クラスター) を選択してください。

  3. [クラスター] ページで、ConsoleTutorial-cluster クラスターを選択します。

  4. [タスク] タブで、5 つのタスクが RUNNING ステータスになっていることを確認します。

ステップ 5:クリーンアップ

このチュートリアルが終了したら、使用していないリソースに対する料金が発生しないように、チュートリアルに関連付けられたリソースをクリーンアップします。キャパシティープロバイダーとタスク定義の削除はサポートされていませんが、これらのリソースに関連するコストは発生しません。

チュートリアルリソースをクリーンアップするには
  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションペインで [Clusters] (クラスター) を選択してください。

  3. [クラスター] ページで、[コンソールチュートリアル – クラスター] を選択します。

  4. [ConsoleTutorial-cluster] ページで、[タスク] タブを選択し、[停止][すべて停止] の順に選択します。

  5. ナビゲーションペインで [Clusters] (クラスター) を選択してください。

  6. [クラスター] ページで、[コンソールチュートリアル – クラスター] を選択します。

  7. ページの右上で、[クラスターを削除] を選択します。

  8. 確認ボックスに [ConsoleTutorial-cluster を削除] と入力し、[削除] を選択します。

  9. 以下のステップに従って Auto Scaling グループを削除します。

    1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

    2. 画面上部のナビゲーションバーで、 リージョンを選択します。

    3. ナビゲーションペインの 自動スケーリング で、[Auto Scaling Groups] (Auto Scaling グループ) を選択します。

    4. ConsoleTutorial-cluster Auto Scaling グループ > [アクション] の順に選択します。

    5. [アクション] メニューから、[削除] を選択します。確認ボックスに [削除] と入力し、[削除] を選択します。