AWS の作業をする際、大抵のことはコンソール(WEBブラウザ上)から実施することが多いのですが、一部の作業においては、AWS CLI を用いたコマンドラインで実施したほうが楽なことがあります。
中には、AWS CLI でないと作業不可なものもあったりしますので、普段はコンソール作業画面の方でも、時間のある時に AWS CLI をセットアップする必要があると思います。
今回、会社の Windows 端末にて AWS CLI の導入を行ったので、その内容を記録しておきます。
Windows における AWS CLI のセットアップについては、以下の Amazon 公式ページがありますが、文字だらけなうえに IAM ユーザの作成など、色々と記載が省略されているため、私のような AWS 初心者にはわかりづらかったです。
・Microsoft Windows で AWS Command Line Interface をインストールする
AWS CLI をインストールする
AWS CLI のインストール方法としては、MSIインストーラを使用する方法と、pipコマンドを利用してインストールする方法がありますが、今回はMSIインストーラを使用しました。
お使いの Windows 環境にあったものを以下のリンクよりダウンロードしてください。
インストールした MSI ファイルをダブルクリックするとインストーラが起動してインストールが始まりますので、画面の指示に従っていけば、インストールできます。
上記のリンクをクリックすると、インストーラのダウンロードが開始されます(下図)。
「ファイルを保存」をクリックします。
ダウンロードしたファイル(拡張子は”msi”)をダブルクリックし、インストールを開始します(下図)。
「Next」をクリック。
「I accept the terms in the License Agreement」にチェックを入れ、「Next」をクリック。
AWS CLI をインストールするフォルダをデフォルトから変更する場合は、「Browse…」をクリックしてフォルダを選択します。
変更しない場合は、「Next」をクリック。
「Install」をクリック。
インストールが開始されますので、終了するまで10秒程度待ちます。
以下の画面が表示されたら、AWS CLI のインストールは完了です。
「Finish」をクリックしてください。
正常にインストールされていることを確認するため、コマンドプロンプトを起動して、以下のコマンドを実行します。
1 2 3 |
aws --version |
以下のように AWS CLI のバージョンが表示されれば、正常にインストールされています。
|
|
IAMの設定
AWS-cli を実行するときは、特定のIAMユーザとしてコマンド発行をします。
そのため、まず IAM ユーザを作成し、そのIAMユーザをグループに所属させたり、ポリシーをアタッチするなどして、AWS-cli で実施する作業に必要な権限を与えておく必要があります。
たとえば、S3バケット内のファイルを操作する作業を AWS-cli で実施したい場合、S3へのアクセス権やファイル操作権限を持つIAMユーザを事前に作成しておく必要があるということです。
IAMユーザを作成
まず AWSコンソール画面上にて、「IAM」メニューを選択します。
IAM の管理画面から「ユーザー」をクリック。
画面上の「ユーザーを追加」をクリック。
ユーザーの作成画面に移ります。
「ユーザー名」欄に、作成したいユーザー名を入力してください。
「アクセスの種類」欄は、今回作成するIAMユーザの使用用途に応じてチェックを入れます。
AWS-cli 専用のユーザーとして使用する場合は、「プログラムによるアクセス」のみにチェックを入れます(今回はこっちにチェックを入れます)。
逆に、AWSコンソール上で作業するユーザーとして使用する場合は、「AWSマネジメントコンソールへのアクセス」にチェックを入れます。
両方にチェックを入れることもできます。
「次のステップ:アクセス権限」をクリック。
IAM ユーザの権限を設定する画面です。
IAM ユーザに権限を設定する方法としては、以下の2つがあります。
- ユーザーをグループに所属させる
- ユーザーにポリシーをアタッチする
グループというのは、ユーザーを加入させることができる特定の権限を持った集団のことです。
グループにポリシー(権限)を付与(アタッチ)しておくことで、このグループが持つ権限を、このグループに所属しているユーザー全員に付与することができます。
これにより、ユーザー1人1人にポリシーを付与せずとも、ポリシーを付与したグループにユーザーを加入させるだけで済むようになり、管理が非常に楽になります。
もちろん、ユーザー1人1人に別途、ポリシーをアタッチすることも可能です。
今回の検証ではこちらの方法で実施します。
「既存のポリシーを直接アタッチ」をクリックします。
「ポリシーのフィルタ」欄に、ユーザーにアタッチしたいポリシーを入力します。
例えば、S3 の FullAccess をユーザーに与えたい場合は、「S3」などと入力して検索します。
検索結果に「AmazonS3FullAccess」が表示されましたね。
これをユーザーにアタッチすることで、このユーザーはS3に関する作業は何でもできるようになります。
チェックをつけて、「次のステップ:タグ」をクリック。
今回の検証ではタグは設定しませんので、「次のステップ:確認」をクリック。
ユーザー作成の最終確認画面です。
ユーザー名やアタッチしているポリシーに誤りがないことを確認し、「ユーザーの作成」をクリック。
ユーザーが作成されました。
この時表示された「アクセスキーID」「シークレットアクセスキー」は、AWS-cli の初期設定時に必要ですので、メモしておいてください。(Credential 情報といいます)
「.csvのダウンロード」を押下することで、「アクセスキーID」「シークレットアクセスキー」をcsvファイルとして保存することも可能です。
これらの情報を使うことで、AWS上のリソースを操作することが可能になりますので、管理は厳重に行ってください。
以上で、IAMユーザーの作成は完了です。
|
|
AWS-cli の初期設定
ここまでで作成したIAMユーザーの情報を、AWS-cliと紐づけます。
コマンドプロンプトで、以下のコマンドを実行してください。
1 2 3 |
aws configure |
すると、以下のような設定項目が表示されますので、各項目入力していきます。
- AWS Access Key ID [None]: 先ほどメモしたアクセスキーID
- AWS Secret Access Key [None]: 先ほどメモしたシークレットアクセスキー
- Default region name [None]: 作業対象のAWSリージョンコード
- Default output format [None]: “json” と入力
リージョンコードは以下を参考にしてください。
例えば、東京リージョンの場合は「ap-northeast-1」と入力します。
ここまで設定すれば、AWS-cli を使用する準備は整いました。
Windows 端末の場合はコマンドプロンプトや PowerShell の画面から、AWSリソースに対してコマンドを発行することができます。
Linux 端末の場合も、基本的に設定方法は同じです。
【参考】CentOSにAWS CLIをインストールする
コメント