AWS S3 可以用來架設靜態網站,包含靜態 HTML 網站以及
SPA 的前端。把 static 網站上傳到 s3 bucket 後,要做些設定來啟動 static host。
權限設定
1. 進到 bucket 的 Permissions tab
2. 把 Block public access 都關掉
3. 在 Bucket policy 寫
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "{S3_BUCKET_ARN}/*"
}
]
}
其中 S3_BUCKET_ARN 要寫作為 static host 的 S3 bucket 的 arn。
4. 設完會看到:
Static website hosting 設定
1. 到 bucket 的 Properties
2. 開啟 static website hosting,設定 index document 到首頁檔案。
3. 可以看到 website endpoint,這個 endpoint 就是靜態網站的 url。
4. 最後再到 DNS 指定想要的網址,不然 endpoint 太難記了。如果是用 Route53 會像這樣: