Windows クライアント端末で AWS CLI を使えるようにする

記事タイトルとURLをコピーする


コーヒーが好きな木谷映見です。

改めまして、Windows クライアント端末で AWS CLI を使えるように準備します。

AWS CLI のインストール

以下のドキュメントを参考に、手元の Windows クライアント端末に AWS CLI の最新バージョンをインストールします。
docs.aws.amazon.com

MSI インストーラを実行するのに、コマンドプロンプトを開いて msiexec コマンドを実行します。

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

実行結果

C:\Users\user>msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi

C:\Users\user>

別のウィンドウで AWS CLI インストールウィザードが開きます。

使用許諾契約書の条項の同意にチェックし、ウィザードに従って設定します。

今回はデフォルトでインストールしていきます。

インストールが完了したら、インストールした AWS CLI のバージョンを以下のコマンドで確認します。

aws --version

実行結果

C:\Users\user>aws --version
aws-cli/2.9.6 Python/3.9.11 Windows/10 exe/AMD64 prompt/off

C:\Users\user>

AWS CLI 用の IAM ユーザーを作成

手元の Windows クライアントから AWS CLI コマンドを実行して AWS リソースを操作するには、IAM ユーザーの権限が必要です。

AWS CLI 用の IAM ユーザーを作成し、手元の Windows クライアント端末に埋め込むクレデンシャル(アクセスキーとシークレットアクセスキーのペア)を作成します。

今回は AWS マネジメントコンソールから IAM ユーザーを作成します。
IAM コンソールで [ユーザー] - [ユーザーを追加] をクリックしてください。
ユーザー名は任意のユーザ名を入力し、[アクセスキー - プログラムによるアクセス] にチェックをつけてください。 アクセス許可の設定では、手元の Windows クライアント端末から AWS CLI で実行したい操作に必要な権限を付与します。
今回権限はお試しで AmazonEC2ReadOnlyAccess をアタッチすることにします。

既存の IAM ユーザーのクレデンシャルを利用していただいても構いませんが、
IAM ユーザーのクレデンシャルは漏洩すると AWS 上のリソースを自由に操作できてしまうため、クレデンシャルの管理と付与する権限には十分注意してください。

IAM ユーザーが作成できたら、クレデンシャル(アクセスキーとシークレットアクセスキーの文字列)が記載されたファイルをダウンロードすることができます。IAM ユーザー作成時にしかダウンロードできませんので、忘れないようにしましょう。

Windows クライアント端末に IAM ユーザーのクレデンシャル設定

ダウンロードしたファイルの中身を確認して、aws configure を使用したクイック設定 を参考にWindows クライアント端末にクレデンシャル(アクセスキーとシークレットアクセスキーの文字列)を設定します。

次のコマンドを実行して、対話形式でアクセスキーとシークレットアクセスキーを設定してください。

aws configure
  • 実行結果
C:\Users\user>aws configure
AWS Access Key ID [****************XXXX]: XXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [****************YYYY]: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
Default region name [ap-northeast-1]: ap-northeast-1
Default output format [json]: json

C:\Users\user>

今回デフォルトのリージョンは東京リージョン(ap-northeast-1)にしていますが、使用するシステムやユーザー居住地によってお好みのリージョンを指定してください。
アウトプット形式も基本 JSON でよいと思います。

設定したクレデンシャル情報は、AWS CLI をインストールしたユーザーのホームディレクトリの「.aws」の配下に、以下のように格納されます。

Windows クライアント端末で AWS CLI コマンドを実行する

それでは準備ができましたので、EC2 の情報を取得するコマンドを実行してみます。

describe-instances — AWS CLI 2.9.6 Command Reference

aws ec2 describe-instances
  • 実行結果
C:\Users\user>aws ec2 describe-instances
{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-0eee6534cf84c69a5",
                    "InstanceId": "i-0d14a7a8806820579",
                    "InstanceType": "m5.large",
                    "KeyName": "xxxxxxxxxx",
                    "LaunchTime": "2022-12-12T04:02:05+00:00",
                    "Monitoring": {
                        "State": "disabled"
                    },
     :
     :
     :

表示できました。
ちなみに、PowerShell でも AWS CLI コマンドを実行できます。

参考:Windows クライアント端末から AWS CLI をアンインストールする

[コントロールパネル] - [プログラムと機能] - [AWS Command Line Interface v2] からアンインストールが可能です。

ユーザーディレクトリ配下の .aws フォルダは残ってしまいますので、適宜削除してください。

それでは、よい CLI ライフを!

emi kitani(執筆記事の一覧)

AS部LX課。2022/2入社、コーヒーとサウナが好きです。執筆活動に興味があります。AWS認定12冠。