AWS CLI v2を使ってみます

Sponsored Link
ロリポップ!レンタルサーバー

 

はじめに

AWS CLI v2をインストールして、いろいろ試してみたいと思います。

クライアント環境はWindows10で進めていきます。

CLIができる事はコンソールでも出来るのですが、EC2の操作やいろいろと自動化するためにはやはりCLIが便利な場合が多いと思います。

Sponsored Link

AWS CLI v2のインストール

以下を参照して、Windows 10にインストール。

Windows での AWS CLI バージョン 2 のインストール、更新、およびアンインストール - AWS コマンドラインインターフェイスこのセクションでは、Windows で AWS CLI バージョン 2 をインストール、アップグレード、削除する方法について説明します。
Windows での AWS CLI バージョン 2 のインストール、更新、およびアンインストール - AWS コマンドラインインターフェイス docs.aws.amazon.com
Windows での AWS CLI バージョン 2 のインストール、更新、およびアンインストール - AWS コマンドラインインターフェイス

注意点:

すでに旧バージョンをインストールしている場合は、アンインストールしておく事が推奨されています。

またはawsコマンドをシンボリックリンクなどで新旧を異なる名前で使い分けられるようにしておきましょうと書かれていますので注意してくださいませ。

  1. インストーラをダウンロードして実行
    特別な注意点はありません。
    デフォルトでは、C:\Program Files\Amazon\AWSCLIV2 にインストールされます。
  2. インストールの確認
    コマンドプロンプトを開いてバージョンを確認してみましょう。
>aws --version
aws-cli/2.0.34 Python/3.7.7 Windows/10 botocore/2.0.0dev38

AWS CLIの設定

設定の基本 - AWS コマンドラインインターフェイスAWS コマンドラインインターフェイス (AWS CLI) を設定し、AWS とやり取りするための設定を指定します。
設定の基本 - AWS コマンドラインインターフェイス docs.aws.amazon.com
設定の基本 - AWS コマンドラインインターフェイス
設定ファイルと認証情報ファイルの設定 - AWS コマンドラインインターフェイス頻繁に利用される構成設定および認証情報を AWS CLI が維持するファイルに保存することができます。
設定ファイルと認証情報ファイルの設定 - AWS コマンドラインインターフェイス docs.aws.amazon.com
設定ファイルと認証情報ファイルの設定 - AWS コマンドラインインターフェイス

認証情報などはaws configure でアクセスキー、シークレットアクセスキー、デフォルトリージョン、デフォルトの出力フォーマットを指定しますが、v2からimportというコマンドが追加されて、ユーザ作成時にダウンロード出来るcsvファイルをインポートすることが出来るようになりました。

>aws configure import -csv file://credentials.csv

importすると、ユーザ名をプロフィール名としてアクセスキーとシークレットアクセスキーが登録されます。

 

プロファイル毎にリージョンを登録したいときは、以下のようなコマンドになります。

cliuserというユーザ名(プロファイル名)の場合。

>aws configure set region "ap-northeast-1" --profile cliuser
#確認
>aws configure get region --profile cliuser
ap-northeast-1

AWS CLIの構成情報について

設定ファイルと認証情報ファイルの設定 - AWS コマンドラインインターフェイス頻繁に利用される構成設定および認証情報を AWS CLI が維持するファイルに保存することができます。
設定ファイルと認証情報ファイルの設定 - AWS コマンドラインインターフェイス docs.aws.amazon.com
設定ファイルと認証情報ファイルの設定 - AWS コマンドラインインターフェイス

登録した、アクセスキーやリージョンなどの情報は、ホームディレクトリの.awsフォルダの下に保存されます。

Windowsの場合は%Userprofile%なので、大体はC:\Users\(ユーザ)\がホームディレクトリでは無いでしょうか。

ファイルは以下の2つです。

credentials:アクセスキーやシークレットアクセスキー

config:リージョンや出力形式

 

とりあえずEC2インスタンスの情報を見てみる

インスタンスIDの一覧(といってもまだ1つですが)を見てみます。

>aws ec2 describe-instances --query "Reservations[].Instances[].InstanceId"
[
    "i-0b999999999999999"
]

タグで検索してみます。(キー:Name、値:Webtestが含まれている)

>aws ec2 describe-instances --filter "Name=tag:Name,Values=*Webtest*" --query "Reservations[].Instances[].[InstanceId,Tags[]]"
[
    [
        "i-0b999999999999999",
        [
            {
                "Key": "Name",
                "Value": "EC2-Webtest01"
            }
        ]
    ]
]

ちょっと結果の出力がアレかも知れませんが、こんな感じで情報が取得出来ます。

今日のところは以上です。

Sponsored Link