1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

FluentdでEC2→S3へ転送する際に、Access key,Secret keyを使わず、IAMロールを使う

Last updated at Posted at 2021-10-01

What's this~これは何~

こちらの記事 で、S3 API callを行う際に、IAMユーザーを作成し、Access key,Secret keyを設定ファイルにベタ書きしていたのですが、やはりこれはセキュアとは言えないなと感じておりました。
今回は、IAMロールを使ってS3 API callを行いました。

前回との相違点

IAM ロールのポリシー
GitHubに推奨のポリシーが置いてありました。
my-s3bucketはバケットの名前を記入。
作成後はEC2にロールをアタッチします。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::my-s3bucket"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::my-s3bucket/*"
    }
  ]
}

設定ファイルの編集

今回、
aws_key_id
aws_sec_key
はコメントアウトしています。

vi /etc/td-agent/td-agent.conf

/match
で、該当の行を消去

最下行に以下追記
<source>
  @type tail
  path /var/log/httpd/access_log
  tag td.messages.access
  pos_file /var/log/td-agent/messages.pos
  format syslog
</source>

<match td.messages.access>
  @type s3
  #aws_key_id 
  #aws_sec_key 
  s3_bucket バケットの名前
  s3_region ap-northeast-1(利用リージョンに合わせて、任意)
  time_slice_format %Y%m%d%H%M
</match>
  <buffer>
    @type file
    path /var/log/td-agent/s3
    timekey 3600  # 1 hour
    timekey_wait 10m
    chunk_limit_size 256m
  </buffer>

参考

https://github.com/fluent/fluent-plugin-s3/blob/master/docs/howto.md#iam-policy
https://qiita.com/dz_/items/224607c84112ccafa2d6

参考にさせていただきました。ありがとうございます。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?