About: AWS操作用ツールのインストール


AWSをJupyter Notebook環境からコントロールできるよう、ツールをインストールします。

Operation Note

This is a cell for your own recording. ここに経緯を記述

AWS CLIのインストール

Jupyter NotebookからAWSに対する操作は、AWS CLI https://aws.amazon.com/jp/cli/ を用いて実施します。

ここでは、AWS CLIに必要なパッケージ(groff)をインストールした後、awscliパッケージをインストールしています。

Notebook(Python Kernel)中では、 ! を行頭に書くことで、Shellコマンドを実行することができます。


In [ ]:
!sudo apt-get update && sudo apt-get install -y groff
!sudo pip install awscli

コマンド名は aws です。インストールされていることを確認します。


In [ ]:
!which aws

使い方は help サブコマンドで参照することができます。


In [ ]:
!aws help

AWS CLIの設定

Regionの設定

AWS CLIに対しては、デフォルトの操作対象リージョンを設定することができます。 ここでは例として、東京リージョン(ap-northeast-1)を使うことを、AWS CLIに対して設定します。


In [ ]:
target_region = 'ap-northeast-1'
target_region

セルにはPythonコードを記述することができ、上記のように変数として各種環境に関する値を定義した上で、以下のようにその値をコマンドに与えることができます。


In [ ]:
!aws configure set default.region {target_region}

Output formatの設定

Output formatは、Notebook上のPythonコードでのパースしやすさを考慮し、JSONを利用します。人間が確認するためだけなら、text, tableなどでも問題ありません。用途によって使い分けてください。


In [ ]:
!aws configure set default.output json

Credentialsの設定

AWS CLIが、どのような認証情報をともなってAWS APIを呼び出すかを設定する必要があります。 認証情報の設定方法は、利用される状況により異なります。

Access Key / Secret Keyを用いる場合

認証情報の与え方として、AWS consoleから発行できるAccess Key, Secret Keyを用いる方法があります。 コマンドに対する対話的な操作が必要ですから、JupyterのTerminal(treeページの[New] - [Terminal]から選択できます)から、 aws configure を実施してください。

aws configure の実施例:

$ aws configure
AWS Access Key ID [None]: (自身のアカウントのアクセスキー)
AWS Secret Access Key [None]: (自身のアカウントのシークレットアクセスキー)
Default region name [None]: (Enter)
Default output format [None]: (Enter)

インスタンスロールを用いる場合

このJupyter Notebook環境をAWS上のVMで動作させている場合、このVMにインスタンスロールを割り当てることで、AWS CLIには認証情報を与えずAWSのAPIにアクセスすることが可能です。

AWS CLIの接続確認

AWS CLIに必要な設定を与えたら、試しに、アカウントの属性値取得コマンドをAWS CLIにて実施してみます。

これが失敗する場合、(以下のタブ Out[6]のようになります)認証情報が正しく設定されていない可能性があります。


In [ ]:
!aws ec2 describe-account-attributes

以上でJupyter Notebookから、AWS操作用ツールを実行できるようになります。


In [ ]: