【AWS初心者向け】IAMユーザの作成とAWSCLIのセットアップ手順を解説

2022年2月8日AWS

AWS 初心者 IAM AWSCLI

IAMユーザは、AWSアカウント作成後、必ず最初に設定するべきサービスです。

また、AWSCLIは、学習を進めていくうちに必ず必要になってきますのでこのタイミングでインストールして使えるようにしてしましましょう!

前提

AWSアカウントを取得していて、マネジメントコンソールにログインできる方

アカウント取得手順はAWS公式サイトでかなり詳しく紹介されているのでそちらを参考にするのが良いと思います!

IAMユーザの作成手順

画像付きで解説していきます。

まずはログインしてIAMのコンソールを開く

ログインしてすぐの画面にIAMというリンクがあればそれをクリックでも良いです。

見当たらなければ、画像のように検索窓に「IAM」と入力すると出てきます。

ユーザーの作成をする

IAMのコンソール画面左側の「ユーザー」を選択し、切り替わった画面の右側「ユーザーを追加」をクリック

ユーザーの詳細情報を設定

ここでは

  • ユーザー名
  • 認証タイプ
  • パスワード
  • 次回ログイン時のリセット要否

を選択します。

この時、「アクセスキー・プログラムによるアクセス」にチェックを入れるのを忘れないでください。

CLIでアクセスするときに必要になります。

作成するユーザーに権限をアタッチ

このまま作成しても、なんの操作もできないユーザーが出来上がってしまします。

ここで、「AdministratorAccess」にチェックを入れて進んでください。

どの権限をつけるかは、ユーザーの用途にもよります。今回アタッチしたポリシーは管理者用の権限を持つポリシーですのでなんでもできるアカウントです。

学習用に作成するユーザーであれば問題ありません。

しかし、AWSとしては、必要最低限の権限をアタッチすることが推奨されているということを覚えていてください。(テストにも出ます!)

タグ設定画面~作成確認画面

この2画面には必須入力項目はありません。

タグは、作成したリソースを識別するために付与する情報なので必須ではありませんが何用途なのかくらいはつけておいた方が良いかと思います。

Nameというキーにそのポリシーの名前をつけてあげることが多いかと思います。

作成確認画面の今まで入力した内容を確認できます。(画像は割愛)

アクセスキー/シークレットキーの確認

ここに表示される情報は絶対に公開しないでください!!!

この情報はコンソールでログインする際のユーザー名とパスワードのようなもので、流出してしまうとCLIから勝手にAWSアカウントを操作されてしまう可能性があります。

Githubなどインターネット上のリポジトリを利用している場合は誤ってパブリックリポジトリにプッシュしないように気をつけましょう。

アクセスキーIDとシークレットアクセスキーはこの後のAWS CLIセットアップで使いますので控えておきましょう。

以上でユーザーの作成は完了です!

シークレットアクセスキーを無くしてしまった場合

IAMのユーザーメニューで再発行したいIAMユーザーを選択後、「認証情報」タブの「アクセスキーの作成」ボタンで再発行できます。

再発行した時もシークレットアクセスキーはこの時しか表示されないのでしっかり控えるようにしましょう。

IAMユーザ作成

AWS CLIのインストール~セットアップ

OSごとにインストール方法が異なりますが、今回はmacOS版で実施します。

インストール

公式のドキュメントにインストーラのダウンロードURLがありますのでここから「AWSCLIV2.pkg」を入手してください。

インストールしたpkgファイルを実行してウィザードの指示通りに進めていきます。

インストール完了後、下記のコマンドを実行してパスが返ってくればインストール完了です。

$ which aws
/usr/local/bin/aws

AWS CLI設定

先ほど作成したIAMユーザーのアクセスキーIDとシークレットアクセスキーを入力してCLIからAWSにアクセスするための情報を設定します。

$ aws configure
AWS Access Key ID [None]: xxxxxxxx (アクセスキーIDを入力)
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxx (シークレットアクセスキーを入力)
Default region name [None]: ap-northeast-1 
Default output format [None]: json

以上で設定完了です。

問題なければ、CLIからAWSの情報を取得できるはずです。

試しに、s3というサービスの情報を取得するコマンドを打ってみましょう

$ aws s3 ls

これでエラーが返ってこなければOKです!

エラーが返ってくる場合は、アタッチした権限が間違っていないか、「aws configuration」の入力値が間違っていないか確認してみてください。

「aws configuration」を再度実行すると先ほどの情報を上書きすることができてるので、間違ってるかも、、と思った場合は再度実行してみて下さい!

最後に

最後に

ここまでご覧いただきありがとうございます。

AWSを学習する中で、最初はもちろんマネジメントコンソールのGUIからリソースを作成することが多いと思います。

しかしエンジニアという職業はだんだん、面倒くさがりになってきます。

そのうちGUIを開くためのブラウザを開くのも面倒になりますw

CLIでの実行は、そんな「面倒くさい」を解消できるというメリットもあるのですが、「コマンドで操作できる」というのが一番のメリットになります!

これはAWSに限った話ではないのですが、コマンドは実行さえしてしまえば人手を介することなくプログラムが自動で操作を実行してくれます。

GUIでぽちぽちと設定するよりも格段に速いですし、何よりミスが減ります!

コマンドが正しいよね?という確認さえしっかりやれば実行結果は必ず正しいものになると考えて良いですし、

同じことを何度も実行する場合も同じコマンドを実行するだけでOKです。

そんな便利なCLIを使いこなせるように私も頑張って勉強します。

以上、最後までご覧いただきありがとうございました!

AWS

Posted by kotaro