コンテナに AWS CLI をインストールした後は、
前回 Amazon Linux 2 をコンテナで用意して、aws-cli に必要なコマンドなどを入れて準備しました。
これで、コマンドでなんでもAWSサービス動かせちゃう、と、怖いですよね。いくら Amazon Linux といえども。
ここから、ちょっとだけオマジナイがいるので、書いておきます。
コンテナに AWS CLI いれた後
Amazon Linux 2 コンテナの場合
Amazon Linux 2 は、Linuxの一つのディストリビューションなので、ここまでの手順 だけでは、またコマンドのインストールが終わった段階です。
自分のAWS(情報あれば、ほかもなので、公開範囲はきをつけましょう)を操作するための情報を追加します。
最初に
間違っても rootユーザー / ルートユーザーの情報いれないでくださいね。
ルートアクセスキーとか使おうと思った方は、思いとどまってください。
IAM大事です。
IAMユーザーを用意します
AWS管理コンソールにて、IAMひらいて、コンテナ向けの新しいユーザーを作りましょう。
test とかつけちゃうと、後から、どこから使われてるユーザーか不明になるので、僕は、こんな名称にしてみました。
docker-aws-cli-user
dockerからしか使わないユーザーなので、マネジメントコンソールは不要です。
次に、このIAMユーザーに許すこと。
今の段階だと、やってみたいことです。
EC2とりあえずコマンドで作れたりしたらおもろいかなとか、S3を楽に管理したいのよねぇとか。そういうのです。
EC2なら、何でもできてOKな場合は、このようにしてみるといいのかも。
その他、タグとかはお好みで最後までいきましょう。
IAMユーザーのアクセスキーをメモ
STEP5 で表示された、この2つを、この後つかいます。
※シークレットアクセスキー は、二度と表示されないので、メモ忘れたら、もう一度消して作り直しましょう
コンテナに戻ってちょっと作業
つくったコンテナに戻って、aws configure コマンド投入で、終わりです。
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
※公式にある例をそのままコピー
これでめでたく、EC2を aws-cli でフルコントロールできるコンテナになりました。
この記事とかいかがでしょうか?
configure ってなにしとるん?
実行してるユーザーディレクトリ配下に、プロファイルと呼ばれるファイルを用意してくれます。
コンテナの場合は root になるので、ここにはいりました。
bash-4.2# ls -al /root/.aws/
total 16
drwxr-xr-x 2 root root 4096 Apr 14 03:18 .
dr-xr-x--- 1 root root 4096 Apr 14 03:18 ..bash-4.2# cat /root/.aws/config
[default]
output = json
region = ap-northeast-1bash-4.2# cat /root/.aws/credentials
[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY