share facebook facebook facebook twitter twitter menu hatena pocket slack

2021.10.05 TUE

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

Shimpei Chiba

WRITTEN BY Shimpei Chiba

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

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

元記事はこちら

https://qiita.com/namely_/items/94389ae83192223cb8de


アイレットなら、AWS で稼働するサーバーを対象とした監視・運用・保守における煩わしい作業をすべて一括して対応し、経験豊富なプロフェッショナルが最適なシステム環境を実現いたします。AWS プレミアコンサルティングパートナーであるアイレットに、ぜひお任せください。

AWS 運用・保守サービスページ:
https://cloudpack.jp/service/aws/maintenance.html

その他のサービスについてのお問合せ、お見積り依頼は下記フォームよりお気軽にご相談ください。
https://cloudpack.jp/contact/form/

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。