assume-roleでEmbulkのS3系プラグインをassume roleで使う

2017.12.21

はじめに

こんにちは、忘年会疲れが隠しきれない佐々木です。

みなさんEmbulkは使っていますか? 僕は大量データも高速に捌いてくれてプラグインでいろいろな事ができるこのツールが大好きです。

でも、ちょっと困る事がたまにあります。 その一つがS3系のプラグイン(embulk-output-s3, embulk-input-s3) がassume roleに対応していない事です。

そんな時はassume-role

そんな時はこれ、assume roleです。 ツールの詳細や使い方については前の記事を参照してください。

config.yml

assume-roleと一緒に使うときの設定ファイルは下記のようになります。

in:
  type: s3
  bucket: my-s3-bucket
  path_prefix: in/logs/csv-
  auth_method: default
out:
  type: s3
  bucket: my-s3-bucket
  path_prefix: out/logs/csv-
  auth_method: default

簡単ですね。ポイントはauth_method: defaultを設定する事です。 defaultを指定するとプラグインは認証情報として2つの環境変数AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYを使用します。

そしてassume-roleでこの環境変数をセットする、というわけです。コマンドラインは下記のようになります。

assume-role profile_name embulk run config.yml

まとめ

小ネタですが、よく使うので紹介してみました。