AWS Batch のコンピューティング環境が INVALID 状態になっていて、“CLIENT_ERROR” エラーメッセージが表示されます。
簡単な説明
AWS Batch では、"CLIENT_ERROR" エラーメッセージが表示されることがあります。これが発生すると、AWS Batch はコンピューティング環境を INVALID 状態に移行します。
注: Amazon Elastic Kubernetes Service (Amazon EKS) コンピューティング環境での AWS Batch については、「INVALID なコンピューティング環境」を参照してください。
解決策
コンピューティング環境が INVALID 状態の場合は、受信した "CLIENT_ERROR" エラーメッセージに基づいて、次のトラブルシューティング手順を実行してください。
"CLIENT_ERROR - Not authorized to perform sts:AssumeRole" エラー
"CLIENT_ERROR - Not authorized to perform sts:AssumeRole" エラーを解決するには、無効なサービスロールを修正します。次の手順を実行します。
- AWS Batch コンソールを開きます。
- ナビゲーションペインで [コンピューティング環境] を選択します。
- INVALID 状態のコンピューティング環境を選択します。
注: コンピューティング環境が DISABLED 状態の場合は、[有効化] を選択してコンピューティング環境を有効にします。
- [編集] を選択します。
- [サービスロール] では、AWS Batch が他の AWS サービスを呼び出すためのアクセス許可を持つサービスロールを選択します。
注: サービスロールは、サービスで使用するリソースを管理します。サービスを使用する前に、必要なアクセス許可を提供する AWS Identity and Access Management (IAM) ポリシーとロールが必要です。必要なアクセス許可を持つ IAM ロールがない場合は、IAM ポリシーを作成してください。
- [保存] を選択します。
"CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid" エラー
Amazon Elastic Compute Cloud (Amazon EC2) スポットフリートインスタンスを使用する場合、"CLIENT_ERROR - Parameter: SpotFleetRequestConfig.IamFleetRole is invalid" というエラーメッセージが表示されることがあります。
スポットフリートインスタンスを使用するマネージドコンピューティング環境では、スポットフリートを使用するために必要なアクセス許可を付与するロールを作成してください。一般的な用途であれば、AmazonEC2SpotFleetTaggingRole AWS マネージドポリシーをロールに追加します。
注: 新しいスポットフリートロールを使用して、新しいコンピューティング環境を作成します。既存のコンピューティング環境ではスポットフリートロールを変更できません。不要な既存環境を削除するには、環境を非アクティブ化してから削除します。手順については、次のセクションに進んでください。
"CLIENT_ERROR - The specified launch template...does not exist" エラー
コンピューティング環境に関連付けられた起動テンプレートが存在しない場合、次のエラーメッセージが表示されます。
"CLIENT_ERROR - The specified launch template, with template ID [###], does not exist"
この問題をトラブルシューティングするには、次の手順を実行してコンピューティング環境を非アクティブ化および削除します。
- AWS Batch コンソールを開きます。
- ナビゲーションペインで [コンピューティング環境] を選択します。
- INVALID 状態のコンピューティング環境を選択します。次に、[無効化] を選択します。
- [削除] を選択します。
- 新しいコンピューティング環境を作成します。
"CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down" エラー
AWS Batch がコンピューティング環境をスケールアウトすると、コンテナインスタンスは Amazon Elastic Container Service (Amazon ECS) クラスターに参加します。インスタンスがクラスターに参加できない場合、AWS Batch はコンピューティング環境を INVALID としてマークします。これは、インスタンスの Amazon ECS エージェントが設定された期間内に RegisterContainerInstance API を呼び出さない場合に発生します。これによって、AWS Batch はインスタンスを終了し、次のエラーが表示されます。
"CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down" because none of the instances joined the underlying ECS Cluster."
次のシナリオでは、インスタンスは Amazon ECS クラスターに参加できません。
- Amazon Virtual Private Cloud (Amazon VPC) のサブネット設定によって、Amazon ECS との正常な通信が妨げられている。
- インスタンスプロファイルのポリシー設定が正しくないため、Amazon ECS への認証が妨げられている。
- カスタム Amazon マシンイメージ (AMI) または起動テンプレートの設定が Amazon ECS エージェントに影響している。
この問題をトラブルシューティングするには、次の手順を実行します。
- AWS Batch コンソールを開きます。
- ナビゲーションペインで [コンピューティング環境] を選択します。
- INVALID 状態のコンピューティング環境を選択します。次に、[無効化] を選択します。
- 同じコンピューティング環境を選択し、[有効化] を選択します。
この手順によりコンピューティング環境が再アクティブ化され、AWS Batch はこの環境を VALID としてマークします。インスタンスを 1 つ起動して強制的にスケールアウトするには、minVcpus パラメータを 1 に更新します。次に、実行中のインスタンスを使用して、インスタンスが Amazon ECS クラスターに参加できない理由をトラブルシューティングします。
"CLIENT_ERROR - Access denied" エラー
"CLIENT_ERROR - Access denied" エラーを解決するには、正しいアクセス許可を持つサービスロールを作成します。または、正しいアクセス許可を持つ既存のサービスロールを選択してください。
"CLIENT_ERROR - Internal error" エラー
"CLIENT_ERROR - Internal error" エラーを解決するには、コンピューティング環境を非アクティブ化します。次に、再アクティブ化します。手順については、「"CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down" エラー」セクションを参照してください。
"CLIENT_ERROR - The request uses the same client token... non-identical request" エラー
"CLIENT_ERROR - The request uses the same client token as previous, but non-identical request" というエラーを解決するには、コンピューティング環境を非アクティブ化してからアクティブ化します。手順については、「"CLIENT_ERROR - Your compute environment has been INVALIDATED and scaled down" エラー」セクションを参照してください。
"CLIENT_ERROR - You are not authorized to use launch template" エラー
"CLIENT_ERROR - You are not authorized to use launch template" というエラーを解決するには、次の操作を行います。
- サービスロールに必要なアクセス許可があることを確認します。次に、「"CLIENT_ERROR - Not authorized to perform sts:AssumeRole" エラー」セクションの手順を実行します。
- AWS アカウントが AWS Organizations に属しているか確認します。属している場合は、サービスコントロールポリシー (SCP) によって Amazon EC2 アクセス許可へのアクセスがブロックされていないことを確認してください。
IAM ポリシーの問題をさらにトラブルシューティングするには、「IAM ポリシーで、アクセス拒否または操作が許可されていないことを示すエラーをトラブルシューティングする方法を教えてください」を参照してください。
関連情報
AWS Batch のトラブルシューティング
AWS Batch ジョブが RUNNABLE ステータスから移行できない場合のトラブルシューティング方法を教えてください