快速把 EC2 串上 AWS CDN
整理流程為 server <- load balancer <- CDN <- client
除了 client 到 CDN 為 HTTPS,從 CDN 到 load balancer 再到後面都是走 HTTP
1. 先在 EC2 架設好 server,聽 3000 PORT
2. 設置 nginx
加上以下 config
3. 接著在 AWS Load balancer 那邊新增 target group (目標群組)
選擇使用 HTTP
4. 建立附載均衡器
點選新增負載均衡器,選擇 Application Load Balancer
1.網路對應三個地區都勾選
2.建立新的安全群組,並且放入 80 port (用原本給的 default 安全群組會無法連線)
3.如下圖選擇剛才創建的目標群組
4.點選建立即可
5.申請 AWS HTTPS 證書
https://us-east-1.console.aws.amazon.com/acm/home?region=us-east-1#/certificates/request
這裡記得地區要先選擇 us-east-1,不然不能綁定到 CDN
之後選擇用 DNS 驗證,之後在右上角直接選擇將它給你的 CNAME 加入按鈕,即可完成驗證,並發行證書。
6.建設 CDN
來到最後一步了。
先到 aws cloudfront 頁面,照著以下設置即可
設定內容
Origin Domain Name: 選擇 ELB
Origin Path: 空白
Origin Protocol Policy: HTTP Only (CloudFront後面走 HTTP 即可)
Viewer Protocol Policy: Redirect HTTP to HTTPS
Allowed HTTP Methods: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE
Alternate Domain Names: 設定你的網站網址 (api.domain....)
SSL Certificate: 使用 AWS Certification Manager 建立,將憑證建立在 (us-east-1) 才能使用。
備用網域別名
記得設定跟要設置的網域相同,不然之後 route53 無法選擇到該 CDN
7. Route53 設置 A 記錄到 CDN
新增一個 A 紀錄,輸入你要的名稱(例如 api ) ,下方來源選擇別名
,然後選擇剛才創建的 CDN 即可
接著即可用剛才設置的 CDN 網域來存取 API Server
Last updated