LoginSignup
4
3

More than 3 years have passed since last update.

Amazon EC2 上で AWS CLI がクレデンシャルの問題で失敗した時の対処

Posted at

2回ほど引っ掛かり、かつネット上でパッと情報が見つからなかったので整理します。

EC2 インスタンス上で AWS CLI を実行する

Amazon Linux 2 AMIの EC2インスタンスをデフォルトの設定で作成すると、初めから AWS CLI が使える状態になっています。

$ aws --version
aws-cli/1.18.147 Python/2.7.18 Linux/4.14.214-160.339.amzn2.x86_64 botocore/1.18.6

この状態でコマンドを実行すると、以下のようなエラーが出ます。

$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".

現在の設定を確認すると、確かにクレデンシャルが設定されていません。

$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key                <not set>             None    None
secret_key                <not set>             None    None
    region                <not set>             None    None

この原因は、EC2 インスタンスに IAM ロールが割り当てられていないためでした。EC2 インスタンスのセキュリティタブから IAM ロールを確認すると、確かに設定されていないことが確認できます(デフォルトの設定で起動したので)。

スクリーンショット 2021-02-14 12.00.49.png

EC2 にアタッチする IAM ロールを作成する

では、IAM ロールを設定しましょう。IAM サービスへ移動し、ロールを作成します。

create_role.png

EC2 にロールをアタッチするので、EC2 を選択して次のステップへ進みます。

role_ec2.png

アクセス権限の設定では、実行したい AWS CLI のコマンドに必要な権限を持つポリシーを選択します。例えば s3 の情報を参照したい場合は、AmazonS3ReadOnlyAccess を選択します。

policy.png

あとはそのまま進んでいき、分かりやすいロール名をつけて IAM ロールを作成します。

EC2 にロールをアタッチする

早速先ほど作成した IAM ロールを EC2 にアタッチしましょう。EC2 インスタンスを選択し、図のようにIAM ロールを変更をクリックします。

iam_change.png

IAM ロールを変更の画面が表示されるので、先ほど作成した IAM ロールを指定して 保存 をクリックします。これで EC2 インスタンスに IAM ロールがアタッチできました。
attach.png

再度 AWS CLI を実行する

それでは、もう一度 AWS CLI を実行してみましょう。

$ aws s3 ls
2021-01-03 13:43:01 2021-test-bucket
2021-01-04 14:16:24 2021-test-bucket2

s3 のバケット一覧が表示されたら成功です。現在の設定を確認すると、Typeiam-roleaccess_keysecret_key が設定されていることが確認できます。

$ aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************SF6K         iam-role    
secret_key     ****************DRGN         iam-role    
    region                <not set>             None    None
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3