実現したいこと
- WordPressでアップロードした画像をS3に格納して配信されるようにしたい。
前提
会社の個人年間目標にAWSを用いて検証環境を用意すると設定し、現在AWS(VPC、EC2、Route53、RDS、S3)+WordPressの構成でブログが配信できるように勉強しています。
https://www.udemy.com/share/101Yby3@1n2qInl84rgdgzgB3mrRRoZHVVSjJWiRyYKatsaFvTPSR6b2PrW5DEjgpONU0R36oQ==/
上記のUdemy講座を見ながら、AWSを用いたインフラ設計を学んでおり、現在S3に画像が格納されないという状況です。
WordPressのプラグインで、WP Offload Media Lite(WordPressを使用する際にS3に格納を可能にするものらしいです)というものがあり、それを導入後発生している事象。
発生している問題・エラーメッセージ
投稿画像がS3に格納されない。
試したこと
1、php xmlのインストール
2、サーバーの再起動
3、WP Offload Media Liteの有効化
4、EC2サーバーにログイン後、wp-config.php内にS3にアクセスするためのアクセスキーの定義
5、Offloaded media URLs may be broken. An error was encountered while testing the domain: Received 403 from endpointでググり、ヒットしたページhttps://dev.classmethod.jp/articles/saitchan-20210114/
で記載されている、ブロックパブリックアクセス (バケット設定)を確認。パブリックアクセスをすべて ブロックがオフになっていることを確認。
6、https://zenn.dev/akkie1030/articles/aws-cli-setup-tutorial
を見ながら、AWS cliをローカルマシンにインストールしアクセスキーを aws cli の認証情報と紐付ける作業を実施し完了。
7、aws s3 ls バケット名をコマンドとして入力。
8、touch test.txt
aws s3 cp test.txt s3:バケット名で、test.txtファイルが格納されることを確認。WordPress側の原因と断定。
9、アクセスキーを直接設定するのはベストプラクティスではないということなので、aws cli及びwp-config.php内のアクセスキーの削除実施
10、削除実施後、本件回答にてIAMロールの付与方法を受領。現在実施中。
11、EC2サーバーにログイン後、ls -l wp-config.php、id、cat wp-config.phpをしたところ、wp-config.phpファイルがなくなってしまっていることを確認。