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://www.iret.co.jp/contact/service/form/