Docker環境からAWS認証まわりメモ
先日Dynamo DBの記事を書いたのだけど、 昨日あたりAWS認証でヒーヒーいってたので理解したつもり&参考になったところのメモ。
今回のダンジョン(開発環境など)
- Docker on Windows
- PHP7.(いくつだっけ?)
- Cake PHP3
- データ on Dynamo DB by AWS
旅の目的(やりたかったこと)
Dockerコンテナ内からDynamo DB上のデータをいじる
装備をそろえる(下準備)
- AWSのアクセスキー/シークレットキーを発行する。
- AWS SDKのインストール(AWS上のサービスに対してAPI叩いてデータやりとりしたいときに便利)
- 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
あとがき
全体的に雑な上に、Dockerまわりの注意点あまり書いてなくてすみません。。