こんにちは、@Manabu です。
今回は、「WP Offload Media」を使用して、AWS S3に画像を保存するときにうまくいかなかった内容について書いていきます。
はじめに
理想としていた形としては、Wordpressで使用する画像はS3に保存され、バケットへのパブリックアクセスを禁止するような設定をイメージしていました。
S3とは?
Amazon S3(Simple Storage Service)は、Amazon Web Services(AWS)が提供するオブジェクトストレージサービスであり、ウェブ上でのデータの保存や取得に使用されます。
S3は非常にスケーラブルで耐久性が高く、異なる用途に適したストレージオプションを提供します。
S3のスペースの1つの単位を「バケット」と言います。
パブリックアクセスを禁止するメリット
バケットへのパブリックアクセスを禁止することで、意図せぬ公開が防止されます。
データへのアクセスを必要なユーザーにのみ制限することで、セキュリティを向上させることができます。
発生した事象
今回発生した、事象は「パブリックアクセスを禁止すると、バケットに画像をアップロードできない」という内容です。
「WP Offload Media」の初期設定で、S3にバケットを作成することができるのですが、作成した後にAWSのマネジメントコンソールから、パブリックアクセスの禁止を設定すると、それまでアップできていたのに、アップできなくなってしまいました。
事象が発生した理由
おそらく、プラグインの設定がDBに登録されているのですが、パブリックアクセス禁止の値が変更されていなかったことが影響しているのではないかと思います。
DBの値をいじったわけではないですが、パブリックアクセス禁止でもアップできている時とできてない時では、DBの登録値が違うようでした。
以下のSQLでDBの値は確認できるようです。
select * from wp_options where option_name like "tantan_wordpress_s3" ;
解決策
私は、なかなかうまくいかなかったので、何度かWP Offload Mediaを使って、バケットの作り直しを行いました。
バケット作成時に、以下の設定を忘れずに行うことで、作成時にパブリックアクセスが禁止されたバケットを作成することができます。
こういった些細な設定ですが、1、2時間があっという間に奪われてしまうので、細かく確認しながら作業を進めることをお勧めします。