Amazon ECS クラスタの新規のキャパシティプロバイダーの設定や既存のキャパシティプロバイダーの更新に関する問題のトラブルシューティング方法を知りたいです。
Amazon Elastic Container Service (Amazon ECS) クラスタの新規のキャパシティプロバイダーの設定や既存のキャパシティプロバイダーの更新ができません。
簡単な説明
以下では、Amazon ECS クラスターの新規のキャパシティプロバイダーを設定したり、既存のキャパシティプロバイダーを更新したりする際によく発生する問題を紹介します。
- AWS コマンドラインインターフェイス (AWS CLI) を使用して Auto Scaling グループのキャパシティプロバイダーを作成すると、エラーが表示されます。
- 次のエラーが表示されます。 「指定されたキャパシティプロバイダーがすでに存在します。既存のキャパシティプロバイダーのコンフィギュレーションを変更するには、キャパシティプロバイダーを更新してください。」
- 次のエラーが表示されます。 「指定された Auto Scaling グループ ARN は、既に別のキャパシティプロバイダーによって使用されています。一意の Auto Scaling グループ ARN を指定して、もう一度お試しください。
- キャパシティプロバイダー戦略を策定するときに以下のエラーが表示されます。 「指定されたクラスターは、ビジー状態です。クラスターの添付ファイルは、更新する前に、UPDATE_COMPLETE または UPDATE_FAILED 状態でなければなりません。しばらくたってから、もう一度やり直してください。」
- キャパシティプロバイダーの制限により、エラーが発生します。
- キャパシティプロバイダーは、AWS CloudFormation で正常に作成されますがコンソールには表示されません。
解決策
AWS CLI を使用して Auto Scaling グループのキャパシティプロバイダーを作成すると、エラーが表示されます
AWS CLI を使用してキャパシティプロバイダーを作成する場合は、AWS CloudTrail イベントを確認して、キャパシティプロバイダーの作成 API を確認します。これらのエラーは、一般的な CapacityProvider API のエラーです。
- ClientException: これらのエラーは、通常、クライアント アクションによって発生します。このクライアントアクションは、アクションまたはリソースを使用するために必要なアクセス許可を持たない AWS Identity and Access Management (IAM) ユーザーの代わりにアクションまたはリソースを使用している可能性があります。このエラーは、識別子が無効であることを示す場合もあります。
- UpdateInProgressException: このエラーが表示されるのは、指定されたコンテナインスタンスで進行中の現在の Amazon ECS コンテナエージェントの更新が既に進行中であるためです。PENDING や STAGING などの移行段階でコンテナエージェントが切断されると、更新がその状態で固まる (スタックする) 可能性があります。ただし、エージェントが再接続するときは、以前に停止したところから再開されます。
詳細については、「エラー」を参照してください:
**メモ:**AWS CLIコマンドを実行する際にエラーが発生する場合は、最新バージョンのAWS CLIを使用しているか確認してください。
次のエラーが表示されます。 「指定されたキャパシティプロバイダーがすでに存在します。既存のキャパシティプロバイダーのコンフィギュレーションを変更するには、キャパシティプロバイダーを更新してください」
キャパシティプロバイダーを設定するときは、以前使用したキャパシティプロバイダー名とは別の名前を使用します。または、その名前の既存のキャパシティプロバイダーを削除してから、新規キャパシティプロバイダーを作成することもできます。
作成済みのすべてのキャパシティプロバイダーのリストを表示するには以下のコマンドを実行します。
aws ecs describe-capacity-providers --query capacityProviders\[\].name --region example-region
出力は次のようになります。
[ "FARGATE", "FARGATE_SPOT", "ecs-capacityprovider-1" ]
キャパシティプロバイダーを削除するには、以下のコマンドを実行します。
aws ecs delete-capacity-provider --capacity-provider ecs-capacityprovider-1 --region example-region
サンプル出力などのオプションについては、「delete-capacity-provider」を参照してください。
新規のキャパシティプロバイダーを作成するには、以下のコマンドを実行します。
aws ecs create-capacity-provider --name "example-capacity=provider" --auto-scaling-group-provider "autoScalingGroupArn=arn:aws:autoscaling:us-east-1:123456789012:autoScalingGroup:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111:autoScalingGroupName/MyAutoScalingGroup,managedScaling={status=ENABLED,targetCapacity=100,minimumScalingStepSize=1,maximumScalingStepSize=100},managedTerminationProtection=ENABLED"
サンプル出力などのオプションについては、「create-capacity-provider」を参照してください。
次のエラーが表示されます。 「指定された Auto Scaling グループ ARN は、既に別のキャパシティプロバイダーによって使用されています。ユニークな Auto Scaling グループ (ARN) を指定して、もう一度お試しください。」
Auto Scaling グループとキャパシティプロバイダーには、1 対 1 の関係が必要です。Auto Scaling グループを、ただ 1 つのキャパシティプロバイダーに添付することもできますが、その逆もできます。キャパシティプロバイダーは 1 つの Auto Scaling グループにのみ関連付けられるようにしてください。
次のエラーが表示されます。 「指定されたクラスターは、ビジー状態です。クラスターの添付ファイルは、更新する前に、UPDATE_COMPLETE または UPDATE_FAILED 状態でなければなりません。しばらくしてから、もう一度お試しください。」
このエラーは、数分たつと自動的に解決されます。しばらくしてから、キャパシティプロバイダーの更新をもう一度お試しください。または、この CLI コマンドを実行すると、添付ファイルの現在のステータスが表示されます。次に、添付ファイルが UPDATE_COMPLETE ステータスになるまで待ちます。
aws ecs describe-clusters --clusters example-ARN --include ATTACHMENTS --query clusters\[\].attachmentsStatus --region example-region
出力は次のようになります。
[ "UPDATE_COMPLETE" ]
キャパシティプロバイダーの制限が原因でエラーが表示される
キャパシティプロバイダーを作成または更新する前に以下の点を確認してください。
- 1 つのキャパシティ戦略で、6 つを超えるキャパシティプロバイダーを指定することはできません。
- クラスター戦略では、Auto Scaling グループのキャパシティプロバイダーまたは AWS Fargate キャパシティプロバイダーのいずれかを使用します。両方のタイプを組み合わせて使用 (併用) することはできません。
- キャパシティプロバイダー戦略の基本の値はタスクを実行する場合にのみサポートされます。
キャパシティプロバイダーは、CloudFormation で正常に作成されますがコンソールには表示されません。
これは CloudFormation テンプレートでキャパシティプロバイダーがクラスターに関連付けされていない場合に発生する可能性があります。この問題が発生しないようにするには、CloudFormation テンプレート内で、次のスニペットを使用してキャパシティプロバイダーをクラスターに関連付けてください。
... ECSCluster: Type: 'AWS::ECS::Cluster' Properties: ClusterName: example-cluster CapacityProviders: - !Ref ECSCapacityProvider ...
関連情報
Auto Scaling グループのキャパシティプロバイダー
Amazon ECS でキャパシティプロバイダーを削除するときの DELETE_FAILED エラーを解決するにはどうすればよいですか?
関連するコンテンツ
- 質問済み 7ヶ月前lg...
- 質問済み 3年前lg...
- AWS公式更新しました 2年前
- AWS公式更新しました 2年前
- AWS公式更新しました 1年前
- AWS公式更新しました 4年前