AWS CLI v2のconfigure Importを使ってみた #reinvent

AWS CLI v2で追加になったconfigure importの紹介です。
2018.11.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

好物はインフラとフロントエンドのかじわらゆたかです。
インフラ好きとしては避けては通れない、AWS CLI。
それの新しいメジャーバージョンのセッションに参加したので、その中で紹介された機能を紹介します。

セッションのレポートブログは望月のブログを参照してください。

[レポート] DEV322: What’s New with the AWS CLI #reinvent

インストール方法の変更

望月のブログでも書かれていますが、v2でのインストール方法の提供がv2から変更とのアナウンスがありました。

  • Windows Installer(従来どおり)
  • Mac .pkg installer
  • Linux installer

v1であった、pip経由でのインストールが無くなり、 Bundled installerがMacでは.pkg形式での提供に、 Linuxではinstallerの提供に変わるとのことです。

Macの.pkg installerは GithubのReleaseページ から入手が可能です。

install自体は特別なことは無いため省略します。

インストール後、AWS CLI v2がインストールされたことを確認します。

$ aws --version
aws-cli/2.0.0dev0 Python/3.7.1 Darwin/17.7.0 botocore/1.12.48

実際に使ってみた

新しい機能についての紹介があったので、その中のConfigureのImportを実際に使ってみました。

※当エントリの内容は2018年11月中旬時点での「ベータ版」での実践内容となり、正式リリース版とは挙動や内容が異なる場合があります事をご了承ください。

CSVファイルのImportが行えるようになりました。

今までは、CLIで用いるCredentialを登録する際は、 IAMユーザーとそのユーザーに基づくCredentialを作成し、そのCredentialをaws configureコマンドから入力(コピペ)する必要がありました。

AWS CLI v2からはコピペする必要がなくなります。 aws configureコマンドにimportというコマンドが増えています。

$ aws configure help
AVAILABLE COMMANDS
       o add-model

       o get

       o import

       o list

       o list-profiles

       o set

このコマンドを用いることで、Credential作成時のCSVファイルを直接importすることが可能となります。

記法としては以下のようになります。

$ aws configure import --csv  file://credentials_sample.csv

このコマンドを用いて作成すると、IAMユーザー名のProfileでcredentialがimportされます。

具体的には下記のようになります。

credential_sample.csv

User name,Password,Access key ID,Secret access key,Console login link
sample_user,,AKIAIOSFODNN7EXAMPLE,wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY,https://123456789012.signin.aws.amazon.com/console

~/.aws/credential

[sample_user]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

sample_userという名前で作成されたcsvのcredentialがsample_userプロファイルとして取り込まれたことがわかります。

また、オプションの--profile-prefixを付与することで、profile前にprefixを付与することができます。

この場合、コマンドと結果は下記のようになります。

$ aws configure import --csv  file://credentials_sample.csv --profile-prefix reinvent2018

~/.aws/credential

[reinvent2018sample_user]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

まとめ

configure importの導入によってCredentialの設定等が非常にやりやすくなりました。
AWS CLI v2これからもどんどん使っていきたいと思います。