Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで AWS Command Line Interface (AWS CLI) コマンドを実行しようとするとエラーが発生するのはなぜですか?
簡単な説明
インスタンスで AWS CLI コマンドを実行すると、次のいずれかのエラーメッセージが表示されることがあります。
- "Unable to locate credentials.You can configure credentials by running 'aws configure'"
- "An error occurred (UnauthorizedOperation) when calling the DescribeInstances operation: You are not authorized to perform this operation"
- "An error occurred (AuthFailure) when calling the DescribeInstances operation: AWS was not able to validate the provided access credentials"
- "An error occurred (ExpiredToken) when calling the GetCallerIdentity operation: The security token included in the request is expired"
エラーにリストされているオペレーションは、エラーが発生したときに呼び出したオペレーションによって異なります。前の例では、DescribeInstances と GetCallerIdentity オペレーションを呼び出すときにエラーが発生しました。
注意: AWS CLI と AWS サービスエンドポイントの間の通信の問題については、DNS 解決と任意の VPC エンドポイントが正しく動作することを確認してください。詳細については、以下の記事を参照してください。
解決方法
最新の AWS CLI バージョンを実行していることを確認する
AWS CLI コマンドの実行時にエラーが発生した場合は、ご利用中の AWS CLI を最新のバージョンにしてください。
認証情報が見つからない
AWS CLI が正しくインストールされ、設定されていることを確認します。
AWS Identity and Access Management (IAM) インスタンスプロファイルを使用する場合は、IAM ロールの関連付けが完了していることを確認してください。
(UnauthorizedOperation) と (AuthFailure) のエラーが発生
エラーが発生しました (ExpiredToken)
一時的な認証情報は、作成時に指定した時間間隔で失効します。IAM ロールの認証情報の有効期限が切れている場合は、新しい IAM ロールを引き受けることで新しい STS トークンを取得してください。
関連情報
IAM ポリシーの問題について、トラブルシューティングの方法を教えてください。