アクセスキーを使わずにAWS S3とWordPressを連携する方法
|
EC2インスタンスでWordPressを動かす場合、 メディアファイルはS3に置く 。というのをよくやると思います。
その時、WordPressとS3の連携手段として WP Offload S3 プラグインを使う場合、AWSのアクセスキーとシークレットキーを定義する必要があります。
アクセスキーの情報はちょうど↓このような具合に、wp-config.phpに記録するのですが、
1
2define( 'AS3CF_AWS_ACCESS_KEY_ID', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' );
3
4define( 'AS3CF_AWS_SECRET_ACCESS_KEY', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx' );
この情報はMySQLのデータベースにも保存されるので、セキュリティ的にあまりよろしくない状態だったりします。
(EC2とS3の通信は、アクセスキーを使わずにIAMロールを使うのが推奨されています。)
アクセスキーを使わずにWordPressとS3を連携する方法
- S3にアクセスできるIAMロールの作成
- IAMロールをEC2にアタッチ
- wp-config.phpに次の行を記述します。
さらにVPCエンドポイントを張ればAWSサービス内でトラフィックが閉じるので、セキュアな通信ができます。
しかも通信料金はかからない。
以上。終わり。