AWS CLIを使用するための初期設定

AWSではコンソール上の操作だけでなく、AWS CLIを使用し、CUI上の操作が可能です。
また、いくつかの機能についてはコンソールでの操作が未対応のため、AWS CLIを利用する必要があります。
今回は、このAWS CLIをLinuxサーバで使用するための初期設定方法をご紹介致します。

■AWS CLIのインストール
下記手順にて、AWS CLIをサーバにインストールします。ちなみに、AWS環境にて作成したAmazon Linuxであれば、サーバ作成時にインストールされているため、下記作業は不要となります。

1.pipのインストールスクリプトをcurl経由にてダウンロードし、実行。

2.pipを使用し、AWS CLIをインストール

これにてインストールは完了です。下記コマンドにてバージョンを確認してみましょう

■AWS CLI用IAMユーザ作成
AWS CLIインストール後、下記コマンドにてインスタンス情報を取得するコマンドを実行しようとすると…

初期設定が完了してないため、このようなエラーメッセージが表示されます。

aws configureというコマンドにて初期設定を行うのですが、その際にIAMユーザのAccess Key及び
Secret Access Keyが必要になります。既にAWS CLI操作権限のあるIAMユーザを作成していれば、
そのユーザのAccess Key及びSecret Access Keyを使用すれば可能ですが、なければIAMユーザの
作成が必要となります。

AWSコンソールよりIAM設定画面を開き、ユーザ⇒新規ユーザの作成を押下します。

新規ユーザ作成

下記のようにユーザ名を入力します。ここでは「aws-cli」と入力し、作成を押下します。

IAMユーザ 作成

ユーザが正常に作成されました。ここで認証情報がダウンロード可能となります。
Access Key及びSecret Access Keyはこの画面でのみ、取得出来るため、必ずメモや
ファイルを保存しておきましょう。

IAM アクセスキー及びシークレットキー

作成されたユーザを押下すると、ユーザ設定確認画面に移行します。
作成されたばかりだと、AWS CLIを使用する権限が与えられていないため、
ポリシーをアタッチする必要があります。

アクセス許可タブを選択し、ポリシーのアタッチを押下します。

ユーザ確認画面

アタッチするポリシーを選択します。ここでは「PowerUserAccess」を
アタッチします。

ポリシーアタッチ

アタッチ後、このような表示となっていれば完了です。

アタッチ後

これでAWS CLIを使用するためのIAMユーザ作成が完了しました。

■aws configure実行
aws configureを実行する準備が整いましたので、実行します。
各ユーザのホームディレクトリにて実行してください。

実行すると上記のようにアクセスキー等を対話形式で問われます。
下記入力情報を入力してください。

AWS Access Key ID [None]: 先程作成したユーザのAccess Key
AWS Secret Access Key [None]: 先程作成したユーザのsecret Access Key
Default region name [None]: リージョンを選択します。東京の場合は「ap-northeast-1」となります。
Default output format [None]: jsonやtable等のコマンド出力結果の表示形式を指定します。ここではjsonを入力します。

下記が入力例となります。

aws configure実行後、「.aws」というディレクトリが作成されています。

このディレクトリの中身を見てみると、下記のようなファイルが保存されています。

configには、先程入力したoutputやregionが記載されています。

credentialsには、先程入力した、access_key等が記載されています。

これでAWS CLIを使用する初期設定が完了しました。

■AWS CLI実行
先程失敗したインスタンス情報の取得コマンドを実施します。

今度はうまく取得できましたね。インスタンスの状態やサイズ、EBSの情報等が取得できています。

■まとめ
AWS CLIを使用するには、下記が必要となります。
・AWS CLIのインストール
・AWS CLIの使用権限が付与されているIAMユーザ
・上記準備後、aws configureを実施

今回は以上となります。

投稿者プロフィール

yajima
未経験で中途入社でした文系エンジニア。
顔と年齢の差が激しいとよく言われます。

1 個のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    CAPTCHA


    Time limit is exhausted. Please reload CAPTCHA.