CLIでAWSのサービスを使ってみた

2021.08.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。イムチェジョンです。
今回のブログではCLIでAWSに接続する方法をポスティングします。

アジェンダ

  1. AWS CLIとは?
  2. CLIでAWSに接続
  3. まとめ

1. AWS CLIとは?

  • Command Line Interfaceの略
  • コマンドを使用し、AWSサービスを作用できるオープンソースツール
  • ターミナルの命令プロンプトでブラウザ基盤のAWS Management Consoleで提供されるのと同じ機能を実行可能

2. CLIでAWSに接続

これからCLIを使い、AWSに接続してみましょう。

2-1. CLIの設置

まずはCLIを設置しましょう。
下のアドレスをクリックすると設置ファイルをダウンロードできます。
https://awscli.amazonaws.com/AWSCLIV2.pkg

macOS以外の設置方法は下のページを確認ください。
AWS CLI のインストール、更新、アンインストール

設置が終わったら成功的に設置できたか確認をします。
下のように出たら設置完了です。

$ aws --version
aws-cli/2.2.14 Python/3.8.8 Darwin/20.3.0 exe/x86_64 prompt/off

2-2. ユーザーの生成

CLIの設置が終わったら次はIAMのユーザーを作成します。

ユーザー名:cli_user
CLIでAWSに接続するのでプログラムによるアクセスを選択します。

今回はCLIでAWSに接続できるかを確認するためにIAMユーザーの一覧を表示してみる予定なのでIAMReadOnlyAccessのポリシーを選択します。

作成が終わったらIAMユーザーのアクセスキーシークレットアクセスキーを覚えておきます。

作成したユーザーの認証情報のアクセスキーがあるのを確認して次の段階にいきましょう。

2-3. CLIで接続

CLIの設置からユーザーの作成まで終わったのでターミナルを利用し、AWSに接続してみましょう。

まず、aws configureコマンドを使い、ユーザーのアクセスキーシークレットアクセスキーを入力します。
三つ目には使用するAWSのリージョンを入力します。

$ aws configure
AWS Access Key ID [None]: [アクセスキー]
AWS Secret Access Key [None]: [シークレットアクセスキー]
Default region name [None]: [使うリージョン]
Default output format [None]:

実際にIAMユーザーの一覧を表示するコマンドを実行してみましょう。

$ aws iam list-users

今まで作ったIAMの一覧と情報が表示されます。

{
    "Users": [
        {
            "Path": "/",
            "UserName": "amplify-user",
            "UserId": "*********************",
            "Arn": "arn:aws:iam::************:user/amplify-user",
            "CreateDate": "2021-07-15T02:35:43+00:00"
        },
        {
            "Path": "/",
            "UserName": "cli_user",
            "UserId": "*********************",
            "Arn": "arn:aws:iam::************:user/cli_user",
            "CreateDate": "2021-07-28T08:31:19+00:00"
        }
    ]
}

結果を確認するためにAWS Management Consoleと比べてみたら同じユーザーが存在しました。

2-4. ポリシーを削除してみた

今回はポリシーを削除した時にどうなるか試してみましょう。
まず、IAMユーザーページでポリシーを確認します。IAMReadOnlyAccessポリシーがあるので、さっきのCLIでIAMユーザーの一覧を確認できました。

IAMReadOnlyAccessポリシーを削除します。

削除されたのを確認してもう一回、上と同じコマンドを実行しまみます。

実行した結果です。
権限。つまり、ポリシーがないのでエラーが発生しています。

$ aws iam  list-users

An error occurred (AccessDenied) when calling the ListUsers operation: 
User: arn:aws:iam::************:user/cli_user is not authorized to perform: 
iam:ListUsers on resource: arn:aws:iam::************:user/

これでCLIでAWSのサービスを実行するためにはポリシーが絶対に必要になるのを確認できます。なので、適切なポリシーを使いCLIでAWSのサービスを使いましょう。

3. まとめ

今回はCLIを利用し、AWSに接続をしてみました。いつもAWS Management consoleを使ってしていたのをCLIでやってみたのでもっといろんな方法でAWSを使えるようになったと思います。