macOS MontereyにAWS CLIをインストール

はじめに

AWS CLIは、ローカル環境のCLIから各種AWSリソースを操作するためのツールです。マネジメントコンソールでの操作と比べて、あらかじめ定めた手順を迅速・確実に実行することに向いています。また、Terraformなどのサードパーティツールの実行環境としてもAWS CLIが必要となります。
今回は手持ちのMacにAWS CLIをインストールしてみました。

前提条件

各ソフトウェアのバージョンは以下のとおりです。

  • macOS Monterey(12.5.1)
  • AWS CLI 2.7.32

AWSアカウントは作成済みの状態から作業を行います。

AWS CLIインストール

以下のページにアクセスし、画面右側の「MacOS PKG」をクリックしてインストーラをダウンロードします。
https://aws.amazon.com/jp/cli/

ダウンロードしたインストーラを実行します。設定オプションは、基本的にはデフォルトのままウィザードに沿って「続ける」ボタンを押していけば問題ないです。

インストール完了後、ターミナルアプリを開き以下コマンドの実行結果が表示されることを確認します。

% aws --version
aws-cli/2.7.32 Python/3.9.11 Darwin/21.6.0 exe/x86_64 prompt/off

IAMユーザー作成

AWSアカウントにAWS CLIを実行するためのIAMユーザーを作成します。まだAWS CLIは使えないのでマネジメントコンソールから作業します。

以下のURLからIAMユーザーの設定ページにアクセスします。
https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-east-1#/users

「ユーザーを追加」ボタンをクリックします。

「ユーザー名」に任意の名前を入力します。AWS CLIを使用するためには「AWS認証情報タイプの選択」で「アクセスキー – プログラムによるアクセス」のチェックは必須です。作成対象のIAMユーザーがマネジメントコンソールも使用する場合は「パスワード – AWSマネジメントコンソールへのアクセス」にもチェックを入れます。特にパスワードの指定がない場合は、「コンソールのパスワード」は「自動生成パスワード」を選択することでパスワードを自動的に生成します。
必要事項を入力した後は「次のステップ: アクセス権限」ボタンをクリックします。

今回は、既存ポリシーをIAMユーザーに直接アタッチします。今回は、フルアクセス権限を持つ「AdministratorAccess」ポリシーを検索してチェックを付けました。実運用では、必要な権限に限定したポリシーを選択してください。
「次のステップ: タグ」ボタンをクリックします。

今回は特にタグは設定しません。
「次のステップ: 確認」ボタンをクリックします。

「ユーザーの作成」ボタンをクリックします。

「ユーザー」「アクセスキーID」「シークレットアクセスキー」「パスワード」の値を控えます。必要に応じて、これらの値が記載れた.csvファイルをダウンロードすることもできます。
確認が完了したら「閉じる」ボタンをクリックします。

IAMユーザー一覧画面に遷移するので、作成したユーザーが存在することを確認します。

認証設定

作成したIAMユーザーの認証情報をAWS CLIに設定します。

aws configureコマンドを実行して対話形式でパラメータを設定します。IAMユーザーのアクセスキーIDとシークレットアクセスキーはIAMユーザーのものに置き換えてください。Default region nameはよく使うリージョン名を指定してください。Default output formatはコマンド実行結果の出力形式です。jsonやyamlなどが指定できます。

% aws configure      
AWS Access Key ID [None]: <アクセスキーID>
AWS Secret Access Key [None]: <シークレットアクセスキー>
Default region name [None]: ap-northeast-1
Default output format [None]: json

設定したパラメータは以下ファイルに保存されます。

% cat ~/.aws/credentials 
[default]
aws_access_key_id = <アクセスキーID>
aws_secret_access_key = <シークレットアクセスキー>

% cat ~/.aws/config 
[default]
region = ap-northeast-1
output = json

動作確認

以下のコマンドを実行し、AWS CLIの認証に使用しているIAMユーザーに関係する情報が表示されることを確認します。

% aws sts get-caller-identity
{
    "UserId": "<IAMユーザーID>",
    "Account": "<AWSアカウントID>",
    "Arn": "arn:aws:iam::<AWSアカウントID>:user/yamada"
}

参考文献

AWS コマンドラインインターフェイス
AWSジョブ機能の 管理ポリシー
【小ネタ】AWS CLIでAWS Account IDが取れるようになりました!

コメントを残す

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