在 WordPress 上面如果要上傳檔案到 Amazon S3 可以使用 WP Offload Media Lite 這個工具,在設定上可以找到官方文件的 Amazon S3 Quick Start Guide,可以看到它的設定很簡單只要幾個步驟,不過我通常會用更高安全性的設定方法設定,所以記錄一下。
AWS IAM Policies
我通常會在 Policies 裏面限制它只能存取某個 S3 Bucket 並不會全部給它,假設我有一個 Bucket 名稱叫做 sample 我就會設定它的 Policies JSON 如下
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::sample", "arn:aws:s3:::sample/*" ] } ] }
Amazon S3
Block public access
首先是 Block public access 記得要取消打勾
設定後會出現警示是正常的不用理它
Object Ownership
再來是 Object Ownership 要開啟 ACL
WordPress 的 wp-config.php 設定
最後把新增的 IAM Users 新增到 wp-config.php
define( 'AS3CF_SETTINGS', serialize( array( 'provider' => 'aws', 'access-key-id' => '********************', 'secret-access-key' => '**************************************', ) ) );
WordPress 設定 Bucket 位置
因為在 IAM 不是使用 AmazonS3FullAccess 的權限所以 Media Library 沒有辦法自動搜尋,這邊需要自己手動輸入。
設定成功後就會看到 WordPress 可以成功使用 Amazon S3 當媒體庫了
《AWS CDK 完全學習手冊:打造雲端基礎架構程式碼 IaC》
第 12 屆 iT 邦幫忙鐵人賽 DevOps 組冠的《用 CDK 定 義 AWS 架構》
第 11 屆 iT 邦幫忙鐵人賽《LINE bot 好好玩 30 天玩轉 LINE API》
一個熱愛分享的雲端工程師!