【AWS】AWS CLIを導入する方法 (Windows / Linux)
こんにちは!
BFT名古屋支店の、佐野です。
この記事を書いているのが11月末日、いよいよ年の終わりが近づいてきました。
暑かったり寒かったりを繰り返していた長い秋場でしたが、ようやく冬に移ろう寒さを感じるようになってきた気がします。
さて今回ですが、これまでの記事にて出てきていた「AWS CLI」について。
思えばこれの導入について触れていなかったと思い、一度初心に帰ってこちらの導入方法についてお送りいたします。
はじめに:AWS CLIについて
AWS CLI(AWS Command Line Interface)とはコマンドラインシェルからコマンドを使用し、AWSサービスを操作・閲覧するためのツールです。
Linuxならそのまま、WindowsならコマンドプロンプトやPowershellから利用することができます。
AWS CLIには「2.x」と「1.x」のふたつのバージョンがあります。
一般的に利用されるのは最新となる「2.x」となり、今回導入方法を紹介するのもこちらになります。
ただ「2.x」と「1.x」には一部互換性がないことに注意が必要です。
(互換性の詳細については公式ドキュメントをご覧ください)
また「1.x」については、Amazon LinuxおよびAmazon Linux2をOSとして作成したEC2インスタンスにプレインストールされています。
もし開発環境にて「AWS CLIはとりあえず触ることができる状態で大丈夫」というのであれば、AWS CLI用の端末としてAmazon LinuxのEC2インスタンスを作成し、それを利用してAWSサービスを操作するという方法を取ってもよいかもしれません。
ただしAmazon LinuxおよびAmazon Linux2で「2.x」を使用する場合は、プレインストールされている「1.x」をアンインストールし、その上で「2.x」のインストールを行なうことが推奨されています。
WindowsにおけるAWS CLIの導入
前提条件として「OSがWindowsXP以降かつ64 bit」および「ソフトウェアをインストールするための管理者権限を持つこと」が必要です。
WindowsのAWS CLI導入方法は至極単純で、公式のドキュメントよりAWS CLIのインストーラをダウンロードし、ダウンロードしたインストーラを実行後、その案内に従って進めていくだけでインストールが行えます。
またインストール後、コマンドプロンプトから以下のコマンドを実行することでインストールしたAWS CLIのバージョンを確認できます。
aws --version
LinuxにおけるAWS CLIの導入
前提条件として以下を揃えている必要があります。
- インストールするLinuxで unzip コマンドが使用できること。(できなければ、yumでインストールするとよい)
- glibc、groff、lessが使用できること。(おおよそLinuxにはデフォルトで入っているので、問題ないと思われます)
LinuxへのAWS CLIのインストールですが、以下の手順によって行ないます。
[2.x]は[1.x]と異なり、Pythonに依存せずにインストールが行えることが特徴となっており、[1.x]と比べて単純にインストールを行なうことができます。
① 「sudo su - 」コマンドによりrootユーザーに切り替えたのち、以下のコマンドを実行します。
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
② 以下のコマンドを実行し、①でダウンロードしたインストーラを解凍します。
unzip awscliv2.zip
③ 以下のコマンドを実行し、②で解凍したインストーラを実行します。
./aws/install
④ 以下のコマンドを実行し、インストールおよびインストールしたAWS CLIのバージョンを確認します。
aws --version
AWS CLIのバージョンが表示(2.x.xx)されることを確認できたら、AWS CLIのインストールは完了となります。
AWS CLIにIAMユーザーを関連付ける (aws configure)
AWS CLIをインストールができたら、そのAWS CLIに既存のIAMユーザーの関連付けを行ないます。
これを行なうことで、関連付けたIAMユーザーの権限をそのままAWS CLIの操作中に利用することができます。
IAMユーザーの関連付けには、関連付けるIAMユーザーのアクセスキーIDと、シークレットアクセスキーが必要です。
なおシークレットアクセスキーについては、アクセスキーIDの作成時にのみ表示され、それ以外で知ることができる機会がありません。
もしシークレットアクセスキーを忘れてしまった場合は、関連付けたいIAMユーザーに対し新しいアクセスキーを作成する必要があります。
(アクセスキーの作成は、Identity and Access Management (IAM)から行なうことができます)
AWS CLIにIAMユーザーを関連付ける手順は以下の通りです。
① 以下のコマンドを実行します。
aws configure
② 以下の問いが順に表示されるので、それぞれに対応する内容を入力します。
AWS Access Key ID [None]: (アクセスキーIDを入力します) AWS Secret Access Key [None]: (シークレットアクセスキーを入力します) Default region name [None]: (デフォルトのリージョン[地域]を入力します) Default output format [None]: (結果の出力形式を指定します。json,yaml,yaml-stream,text,tableから選択します)
以下、例になります。(アクセスキーIDとシークレットアクセスキーは架空のものです)
AWS Access Key ID [None]: AKIAYHTWAP6MFGNRGOV7 AWS Secret Access Key [None]: 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 Default region name [None]: ap-northeast-1 Default output format [None]: json
③ 以下コマンドを実行し、設定内容が反映されている事を確認します
aws configure list
入力した内容と同様の情報が表示されたら、IAMユーザーとの関連付けは完了となります。
最後に
AWS CLIでのみ操作する項目は意外と多く、AWSの利用を始める際にAWS CLIを準備するといったシチュエーションは多いです。
特にaws configureによってIAMユーザーの権限設定をAWS CLIに持ってくる作業は(経験上)忘れがちですので、詰まった時は意識するとよいかもしれません。
また今後の記事においてもAWS CLIの導入を前提としたお話をさせて頂くかと思いますので、その際に「AWS CLIってなに?」となった際はこの記事を見にきてくださると嬉しく思います。