渡り鳥の旅路

元半導体系エンジニア、今Webエンジニアの雑記

Docker環境からAWS認証まわりメモ

先日Dynamo DBの記事を書いたのだけど、 昨日あたりAWS認証でヒーヒーいってたので理解したつもり&参考になったところのメモ。

今回のダンジョン(開発環境など)

  • Docker on Windows
  • PHP7.(いくつだっけ?)
  • Cake PHP3
  • データ on Dynamo DB by AWS

旅の目的(やりたかったこと)

Dockerコンテナ内からDynamo DB上のデータをいじる

装備をそろえる(下準備)

  1. AWSのアクセスキー/シークレットキーを発行する。
  2. AWS SDKのインストール(AWS上のサービスに対してAPI叩いてデータやりとりしたいときに便利)
  3. AWS SLIのインストール(認証で3番を選ぶ場合)

SDKはインストール方法が3種類あり、それぞれ落ちてくるファイルが違うので使うときは注意です。 自分は元々composerでSDKがインストールされた環境からスタートしたんですが、 それを知らずにひたすらaws.pharを探してました。。(本当はautoload.phpだった)

Installation — AWS SDK for PHP documentation

地獄の門番(認証)

自分はPHP使ってるんですが、ちゃんと書いてるなのがJavaしかなさそうなのでそのリンクを貼っときます↓ docs.aws.amazon.com

[デフォルトの認証情報プロバイダーチェーンの使用]
1. 環境変数 
2. Java のシステムプロパティ
3. デフォルトの認証情報プロファイルファイル
4. Amazon ECS コンテナの認証情報
5. インスタンスプロファイル認証情報

認証の選択肢としては下記5つあるのですが、 今回は3番でプロジェクトフォルダ外にアクセスキー/シークレットキーを記述したファイルを用意して、 それをaws configureコマンドで反映させるようにしています。 この場合、AWS CLIもインストールしておく必要があります。

そしてボスへ(APIを叩く)

あとは使いたいサービスに合わせて殴って好きなようにしてください。 ちょっと古いですが、サーバーワークスさんの記事がわかりやすかったです。 blog.serverworks.co.jp

blog.serverworks.co.jp

あとがき

全体的に雑な上に、Dockerまわりの注意点あまり書いてなくてすみません。。