★★★ Twitterやってます。フォローして頂けると嬉しいです(*^^*) ★★★

【簡単】AWS CLIのセットアップ方法

IT
スポンサーリンク

【簡単】AWS CLIのセットアップ方法

AWSコマンドラインインターフェース (CLI)は、一言で言ってしまうと、AWSはマネジメントコンソールのWeb画面からいろいろ操作できるものをコマンドでもできる、というものです。

詳しくは公式の説明をご覧ください。

AWS コマンドラインインターフェイス(CLI: AWSサービスを管理する統合ツール)| AWS
AWS コマンドラインインターフェイス (CLI) は、AWS サービスを管理するための統合ツールです。ダウンロードおよび設定用の単一のツールのみを使用して、コマンドラインから複数の AWS サービスを制御し、スクリプトを使用してこれらを自動化することができます。

この記事は、

急ぎでAWS CLIが使いたいんだ!

という方向けにざっくり導入まで説明した記事になります。

AWS CLIは、こんな人にオススメ
  • GUIよりCUIが好き
  • AWSマネジメントコンソールで操作するのが面倒なのでスクリプトなどで自動化したい
  • AWSマネジメントコンソールではできないことがあるけどCLIならできる

たまにしかAWS触らない人は圧倒的にGUIのマネジメントコンソールが便利なのですが、毎日AWSの操作する人やコマンド打つ方がカッコいいぜ、というCUI派の方にオススメです。

またコマンドで操作できるので、バッチ化やスクリプト化することで自動化できるのもメリットです。あとは、マネジメントコンソールではかゆいところに手が届かないけれどCLIならできるというケースもありますので、GUI派の方も知っておいて損はないと思います。

スポンサーリンク

事前準備

前置きはそれぐらいにして、準備をしていきましょう。

AWS CLIのインストール

AWS CLIを利用するには、コマンド群をインストールする必要がありますので、AWS公式サイトからダウンロードします。

Installing, updating, and uninstalling the AWS CLI version 2 - AWS Command Line Interface
Install the AWS Command Line Interface version 2 (AWS CLI version 2) on your system.

お使いのOSを指定します。私はWindowsを使っているので一番下のリンクをクリックしました。

Windowsの場合は、MSIセットアップになるようです。ダウンロードリンクをクリックするとMSIファイルがダウンロードできますので、これを実行してNEXTで先に進めていけばインストールできます。

インストールが完了したら、コマンドプロンプトを起動して、awsコマンドが正常に動作するか確認してください。

とりあえず、aws –version を実行して、バージョン番号でも表示してみましょう。表示される内容は環境によって異なりますが、次のように aws-cli/X.X.X とような感じで表示されればインストールは完了です。

Microsoft Windows [Version 10.0.19042.1110]
(c) Microsoft Corporation. All rights reserved.

C:\> aws --version
aws-cli/2.2.25 Python/3.8.8 Windows/10 exe/AMD64 prompt/off

C:\>

AWS CLI接続時のアクセスキーの生成

CLI実行時にはAWSへの接続情報するためのアクセスキーが必要です。

アクセスキーを作成する方法は主に次の2つです。

  1. AWS CLI接続専用ユーザの作成する
  2. 既に存在するIAMユーザを使う

AWSマネジメントコンソールにログインしてAWS CLI用のユーザを作成するか、既存IAMユーザに対してアクセスキーの生成を行います。

IAMユーザID、パスワード、アクセスキーの関係

この3つが混ざってよく分からないことになりがちです。

IAMユーザIDとパスワードは、AWSマネジメントコンソールにログインするために必要なアクセス情報です。

アクセスキーはAWS CLIなどのプログラムやツールからAWSを操作する時に必要なアクセス情報です。そしてアクセスキーはIAMユーザに紐付いています。

人間が使う方はIAMユーザIDとパスワード、AWS CLIが使う方がアクセスキーです。

【パターン①】AWS CLI接続専用ユーザの作成する場合

すでに接続で使うIAMユーザを持っている方はパターン②の方です。

AWSマネジメントコンソールにログインして、AWS CLIで接続する専用のIAMユーザを作成します。

サービス検索欄にiamと入力してIAMのリンクをクリックします。

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

①ユーザ名を入力します。

②アクセスの種類は、「プログラムによるアクセス」にチェックを付けてください。AWS CLIの接続でしか使わない場合は、AWSマネジメントコンソールへのアクセスはオフにします。

③次のステップへ移動します。

アクセス許可では、適切なアクセス権限を付与します。万が一、アクセスキーが流出してしまったことも想定すると、利用用途に応じた最低限の権限を付与するのがベストプラクティスです。

今回はピンポイントで必要なポリシーをアタッチ(①、②)して、次へ進みます(③)。

とりあえず何に使うか決めていないけれど、練習用に一時的に試したいという場合なら、「AdministratorAccess」でよいと思います。使い終わったらアクセスキーを消すか無効化するのをお忘れなく。

次はタグ画面があるのですが、今回は直接関係ないのでスキップします。

そして、この画面ではユーザ作成前の最終確認画面です。間違いがないか確認して「ユーザの追加」ボタンをクリックします。

アクセスIDシークレットアクセスキーが生成されましたので、これをメモっておきましょう。

この画面を閉じると二度と確認できません。

メモを取り忘れてしまった場合は、一度このアクセスキーを削除して、再度アクセスキーの生成をしてください。その場合は、この次に紹介する「【パターン②】既に存在するIAMユーザを使う場合」を参照してください。

アクセスキーIDとシークレットアクセスキーが外部に漏れないよう取り扱いには注意してください。AWSマネジメントコンソールに接続しなくてもAWS CLIで同様の操作ができてしまいます

万が一、漏れてしまった場合は、アクセスキーを無効にするか、削除しましょう。

【パターン②】既に存在するIAMユーザを使う場合

AWS CLIを利用するIAMユーザに対して、アクセスキーを設定する必要があります。

サービス検索欄にiamと入力してIAMのリンクをクリックします。

既存のユーザの詳細を表示します。

今回はこのbattanユーザのアクセスキーを作成してAWS CLIでアクセスできるようにします。

認証情報タブの「アクセスキーの作成」ボタンをクリックします。

既にアクセスキーIDが登録されている場合は、リストに表示されますので、それを使うこともできます。

アクセスキーはボタンを押すだけのワンタッチ生成です。

このキーの組み合わせが確認できるのは今表示されているウインドウだけですので、忘れずにメモしておきましょう。

AWS CLI 接続設定の登録

ここからは、コマンドプロンプトでの作業になります。

現在の接続設定を確認

aws configure list で確認できます。AWS CLIを初めて使う場合はこのように未設定です。

C:\> aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key                <not set>             None    None
secret_key                <not set>             None    None
    region                <not set>             None    None

接続設定を登録

aws configure を実行して接続設定を登録します。

  • AWS Access Key ID:さきほど生成したアクセスキーIDを指定します
  • AWS Secret Access key:さきほど生成したシークレットアクセスキーを指定します
  • Default region name:自分のホームリージョンを指定します。私は東京。
  • Default output format:接続情報を出力する時の形式を指定できます。私はテキスト形式。
C:\> aws configure
AWS Access Key ID [None]: AKIA3HLRZJYTLC6WZ7NE
AWS Secret Access Key [None]: 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
Default region name [None]: ap-northeast-1
Default output format [None]: text

表示形式は、json、yaml、text、tableが指定できます。
確認用ならtextかtable、この値を別のプログラムの入力にするならjsonかyamlと言ったところでしょうか。

登録した接続情報を確認

再度、現在の設定を確認してみましょう。

設定ができていれば、次のように表示されます。

C:\> aws configure list
      Name                    Value             Type    Location
      ----                    -----             ----    --------
   profile                <not set>             None    None
access_key     ****************Z7NE shared-credentials-file
secret_key     ****************2G2M shared-credentials-file
    region           ap-northeast-1      config-file    ~/.aws/config

【おまけ】複数の接続設定を登録する方法

接続先が複数のAWSアカウントだったりする場合、毎回接続情報を入力するのは面倒ですので、プロフィール登録して、適宜使うプロフィールを指定できるようにしておくと便利です。

プロフィールを登録する

AWS CLIの設定ファイルに直接接続定義を書き込みます。

AWS CLIの設定ファイルは、Windowsログインユーザのホームディレクトリ配下の .awsフォルダに格納されています。これを実行するとエクスプローラーで開けると思います。

c:\> start %USERPROFILE%\.aws

credentialsファイルをエディタで開いて、プロフィールを追加します。

下の例では、user1というプロフィールを追加して、利用するアクセスキーを定義しています。

[default]
aws_access_key_id = AKIA3HLRZJYTLC6WZ7NE
aws_secret_access_key = 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

[user1]
aws_access_key_id = AKIA3HLRZJYTEBPVEWTE
aws_secret_access_key = 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

プロフィールを使ってawsコマンドを実行する

作成したuser1のプロフィールを指定してawsコマンドを実行する時は、このように –profileオプションを使います。

c:\> aws ... --profile user1
スポンサーリンク

AWS CLIを使ってみる

Windowsのコマンドプロンプトを起動して、awsコマンドを実行して正常に実行ができればAWS CLIのセットアップ完了です。

うまく設定できたか確認したいけれど、どう確認したらよいか分からない方は、AWS CLIを使って、S3バケットからファイルをダウンロードする方法を紹介していますので、こちらで確認してみてはいかがでしょうか。

コメント

タイトルとURLをコピーしました