本實驗旨在通過 AWS 管理控制臺配置 S3服務實現靜態網站托管,包括創建存儲桶、上傳網站文件、配置靜態網站托管屬性及訪問權限設置。實驗將覆蓋從零開始搭建可公開訪問的靜態網站全流程,幫助用戶掌握 S3作為低成本、高可用靜態網站托管方案的核心操作,適用于個人博客、產品展示頁等輕量級 Web 應用場景。
存儲桶管理:S3存儲桶作為網站根目錄,支持無限量文件存儲,自動按區域冗余存儲(默認3AZ)。
靜態托管:啟用靜態網站托管后,S3可直接返回 HTML/CSS/JS 等靜態文件,支持自定義錯誤文檔(如404.html)。
訪問控制:通過存儲桶策略(Bucket Policy)和 ACL 實現公開訪問,支持 HTTPS 加密傳輸(需配合 CloudFront)。
全球訪問:存儲桶默認區域部署,可通過 AWS 全球基礎設施實現低延遲訪問(跨區域需配置 CloudFront)。
步驟一:創建 S3存儲桶
登錄 AWS 控制臺,進入 S3服務,點擊“創建存儲桶”。
命名存儲桶(需全局唯一,如 my-static-website-2024),選擇區域(如“亞太東京”)。
在“對象所有權”中取消勾選“阻止所有公共訪問”,保留默認 ACL 設置。
啟用“版本控制”(可選,用于文件歷史管理),點擊“創建存儲桶”。
步驟二:上傳網站文件
在存儲桶頁面點擊“上傳”,添加以下文件:
index.html(主頁面,內容示例:Welcome to My Static Website)
error.html(404頁面,內容示例:Page Not Found)
確認文件上傳后,在“權限”選項卡中為每個文件添加公開讀取權限:
選擇文件 → “權限” → 編輯“對象 ACL” → 添加“所有人(公開)”的“讀取”權限。
步驟三:配置靜態網站托管
進入存儲桶屬性頁面,找到“靜態網站托管”模塊,點擊“編輯”。
啟用“靜態網站托管”,輸入:
主文檔:index.html
錯誤文檔:error.html
保存配置后,記錄系統生成的“端點 URL”(如 http://my-static-website-2024.s3-website-ap-northeast-1.amazonaws.com)。
步驟四:設置存儲桶策略
在存儲桶“權限”選項卡中,點擊“存儲桶策略”。
粘貼以下策略(替換存儲桶名稱為實際名稱):
json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::存儲桶名稱/*"
}
]
}
點擊“保存策略”,確認無權限錯誤提示。
1. 網站訪問測試
在瀏覽器中打開記錄的端點 URL,應顯示 index.html 內容(“Welcome to My Static Website”)。
手動輸入錯誤路徑(如/nonexistent.html),應跳轉至 error.html 頁面。
2. 權限驗證
使用 curl 命令測試(如 curl -I http://端點 URL),返回頭應包含 x-amz-request-id 和200 OK 狀態碼。
檢查 S3訪問日志(需提前啟用存儲桶日志記錄),確認無拒絕訪問的記錄。
3. 性能與可用性
通過多地區瀏覽器訪問,驗證頁面加載時間(S3默認提供99.99%可用性)。
使用 AWS CloudWatch 監控存儲桶請求指標,確認無異常錯誤率。
4. 資源清理
實驗完成后,在 S3控制臺選中存儲桶,點擊“刪除”,確認刪除所有文件后完成存儲桶刪除,避免持續產生存儲費用。
通過以上步驟,可以成功掌握使用 S3部署可公開訪問的靜態網站,后續可擴展至自定義域名綁定(通過 Route 53)或 HTTPS 加密(通過 CloudFront+ACM 證書)。