要件 AWS EC2で動かしているdockerのログの管理が面倒臭いので、S3に集約したい。 大事なこと S3へのアクセスコントロールは幾つか手段があってややこしいように見えるが、サーバからファイルをputするだけならIAMでEC2インスタンスにロールを設定するだけで良い。アクセスキーを取得する必要さえないし、インスタンスが増えても生成時に既存のポリシーを使い回し可能なので追加の設定も必要ない。 S3にバケット作成 バケット側に特に設定の必要はない。ただ、バケット名は後で変更が出来ないため注意。 ロールの作成 IAMダッシュボードからロールの作成。 対象のサービスにEC2を選択。 適用するポリシーを選択する。ここではログの読み書きのためAmazonS3FullAccessを選択。 ロール名を入力。ロール名は後で変更できないため注意が必要。 あとは新規にインスタンスを建てる時に適用するだけ。