Amazon EC2 Auto Scaling グループキャパシティープロバイダー - Amazon Elastic Container Service

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

Amazon EC2 Auto Scaling グループキャパシティープロバイダー

キャパシティーとして Amazon EC2 インスタンスを使用する場合は、Auto Scaling グループを使用し、クラスターに登録されている Amazon EC2 インスタンスを管理します。Auto Scaling は、アプリケーションの負荷を処理するために適切な数の  Amazon EC2 インスタンスが利用可能であることを確実にするために役立ちます。

マネージドスケーリング機能を使用し、Auto Scaling グループ (マネージドスケーリング) のスケール/アウトアクションを Amazon ECS に管理させたり、スケーリングアクションを自分自身で管理したりできます。詳細については、「Amazon ECS クラスターの自動スケーリング」を参照してください。

Auto Scaling グループキャパシティープロバイダーの考慮事項

コンソール内の Auto Scaling グループキャパシティープロバイダーを使用する場合は、次の点を考慮する必要があります。

  • 既存のグループを使用するのではなく、キャパシティープロバイダーで使用する新しい空の Auto Scaling グループを作成することをお勧めします。既存の Auto Scaling グループを使用する場合、キャパシティプロバイダーの作成に使用される Auto Scaling グループの前に、既に実行され、Amazon EC2 クラスターに登録されていたグループに関連付けられた Amazon ECS インスタンスが、キャパシティプロバイダーに正しく登録されないことがあります。これにより、キャパシティプロバイダー戦略でキャパシティプロバイダーを使用するときに問題が発生する可能性があります。DescribeContainerInstances を使用し、コンテナインスタンスがキャパシティープロバイダーに関連付けられているかどうかを確認できます。

    注記

    空の Auto Scaling グループを作成するには、必要なカウントをゼロに設定します。キャパシティプロバイダーを作成してクラスターに関連付けた後、スケールアウトできます。

    インフラストラクチャ の Amazon ECAmazon EC2 コンソール クラスターを作成する を使用する場合、Amazon ECS は AWS CloudFormation スタックの一部としてユーザーに代わって Amazon EC2 Auto Scaling 起動設定と Auto Scaling グループを作成します。それらにはプレフィックス EC2ContainerService-<ClusterName> が付いているため、識別が容易になります。Auto Scaling グループは、そのクラスターのキャパシティープロバイダーとして使用できます。

  • Auto Scaling グループをスケールアウトするには、その MaxSize が 0 より大きくなければなりません。

  • Auto Scaling グループは、インスタンスの重み付けを設定することはできません。Amazon ECS キャパシティープロバイダーと同時に使用すると、インスタンスの重み付けはサポートされません。

  • Auto Scaling グループが実行されるタスクの数に合わせてスケールアウトできない場合、タスクは PROVISIONING の後の状態に移行できません。

  • キャパシティプロバイダーによって管理される Auto Scaling グループに関連付けられているスケーリングポリシーリソースは、変更しないでください。

  • マネージド終了保護を使用する場合は、マネージドスケーリングも使用する必要があります。そうでなければ、マネージド終了保護は機能しません。

  • マネージドスケーリングを有効にすると、Auto Scaling グループのキャパシティプロバイダーにより、Auto Scaling グループのスケーリングを管理するためのスケーリングポリシーリソースが作成されます。これらのリソースは、ECSManaged プレフィックスで識別できます。

    マネージド終了プロテクションを使用すると、Amazon ECS は、実行中の Amazon ECS タスクがない EC2 インスタンスのみを終了します。

  • キャパシティプロバイダーの作成時にマネージド終了保護がオンになっている場合、Auto Scaling グループと Auto Scaling グループの各 Amazon EC2 インスタンスで、スケールインからのインスタンス保護もオンになっている必要があります。詳細については、AWS Auto Scaling ユーザーガイドの「インスタンスの保護」を参照してください。

  • Auto Scaling グループにウォームプールを追加できます。ウォームプールは、事前に初期化済みの Amazon EC2 インスタンスのグループで、アプリケーションのスケールアウトが必要な場合いつでもクラスターに追加できる状態になっています。ウォームプールの詳細については、「Auto Scaling グループでウォームプールを使用する」を参照してください。

  • キャパシティプロバイダーの作成時にマネージドスケーリングがオンになっている場合、Auto Scaling グループの希望するカウントを 0 に設定できます。マネージドスケーリングがオンになっている場合、Amazon ECS は Auto Scaling グループのスケールインアクションとスケールアウトアクションを管理します。

  • キャパシティープロバイダーを作成すると、マネージドインスタンスのドレインがデフォルトで有効になります。この機能を使用して、ワークロードを中断することなく Amazon EC2 インスタンスを正常に終了させることをお勧めします。

Amazon EC2 Auto Scaling 起動テンプレートの作成についての詳細は、「Amazon EC2 Auto Scaling ユーザーガイド」の「起動テンプレート」を参照してください。Amazon EC2 Auto Scaling グループの作成についての詳細は、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループ」を参照してください。

Auto Scaling グループでウォームプールを使用する

Amazon ECS では、Amazon EC2 Auto Scaling ウォームプールをサポートします。ウォームプールは、事前に初期化済みの Amazon EC2 インスタンスグループでサービス開始が準備されています。アプリケーションがスケールアウトする必要がある場合は、常に Amazon EC2 Auto Scaling はコールドインスタンスを起動するのではなく、ウォームプールから事前に初期化されたインスタンスを使用し、最終的な初期化プロセスの実行を許可し、インスタンスを使用開始します。

ウォームプールの詳細、および Auto Scaling グループにウォームプールを追加する方法については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling のウォームプール」を参照してください。

Amazon ECS の Auto Scaling グループのウォームプールを作成または更新する場合、スケールイン (ReuseOnScaleIn) 時にインスタンスをウォームプールに戻すオプションを設定することはできません。詳細については、AWS Command Line Interface リファレンスの「put-warm-pool」を参照してください。

Amazon ECS クラスターでウォームプールを使用するには、Amazon EC2 Auto Scaling グループ起動テンプレートの [User data] (ユーザーデータ) フィールドで ECS_WARM_POOLS_CHECK エージェント設定変数を true に設定します。以下は、Amazon EC2 起動テンプレートの [User data] (ユーザーデータ) フィールドでエージェント設定変数の指定方法の例を示しています。

#!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=MyCluster ECS_WARM_POOLS_CHECK=true EOF

この ECS_WARM_POOLS_CHECK 変数は、エージェントバージョン 1.59.0 以降でのみサポートされています。変数の詳細については、「Amazon ECS コンテナエージェントの設定」を参照してください。