跳至內容

cloudfront 多個分佈合併,技術上會有很多問題嗎?

0

基於成本考量想合併,但開發商說管理上將會面臨很多挑戰 , 和WAF整合也會有問題? 目前只有S3使用Cloudfront並且使用business方案(約只有3%使用量),接下來計劃導入全站Cloudfront, 不想再另設個cloudfront,造成額外或雙倍的費用.

已提問 2 個月前檢視次數 70 次

2 個答案
1
已接受的答案

您好,

有關使用 Business 方案的 CloudFront 理解您因費用考量希望將多個網站在同一個 CloudFront 資源 (分配) 進行共用。

理論上可以達成,但是這邊建議您考慮以下幾項要素: 您原先 S3+CloudFront 的架構應該會有一個域名 (例如 www.example1.com 或是 CloudFront 預設的 d*****.cloudfront.net) 會需要確認接下來您要導入的網站,域名是否也是一樣的。 如果有不同的域名需要共用單一一個 CloudFront 的話,受限於 CloudFront 只能套用一張SSL憑證,您會需要在 ACM[1] 或是您購買憑證的地方,申請「單一一張憑證」且該單一憑證就必須包含所有您要一起使用的域名。ACM 是支援的,但若憑證購買自其他地方就不一定能夠支援這樣。 不過即便 ACM 申請涵蓋多個域名的憑證,並且成功綁定在單一CloudFront、也設定完成 CNAME ,仍須先考慮相關配額上限 [2][3],例如ACM預設一張憑證最多是10個域名 (若超過需額外申請調額)

另一個需考慮的問題是URL路徑的規劃。同一個 CloudFront 如果綁定多域名,CloudFront 是沒有內建功能可以依照不同域名來呈現不同內容的。 因此如果您在同一個 CloudFront 綁定 aaaa.com 和 bbbb.com,那麼瀏覽器訪問 https://aaaa.com/111https://bbbb.com/111 會是相同的內容。因為CloudFront 只支援用路徑來區分內容。這部分如果需要處理,您會需要使用 CloudFront Functions 自行寫程式來定義域名的轉發。這邊有一些範例可以參考 [5]。又或者是,確保所有不同的域名不會有路徑剛好有衝突到,也會是一種方法。主要取決於您的使用需求。

以上主要是多分配共用單一CloudFront 分配所需要考慮的點和限制。希望有幫助到您

[1] https://aws.amazon.com/tw/certificate-manager/

[2] CloudFront 固定費率定價計劃 - 定價計劃功能 - https://docs.aws.amazon.com/zh_tw/AmazonCloudFront/latest/DeveloperGuide/flat-rate-pricing-plan.html#combined-pricing-plan-features

[3] 配額 - 一般配額 - https://docs.aws.amazon.com/zh_tw/acm/latest/userguide/acm-limits.html#general-limits

[4] https://docs.aws.amazon.com/zh_tw/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html [5] https://github.com/aws-samples/sample-simple-dynamic-origin-routing-using-amazon-cloudfront-functions

AWS
支援工程師

已回答 2 個月前

1

關於 CloudFront 多個分佈合併的問題,技術上確實需要仔細評估。根據 AWS 的最佳實踐,這取決於您的具體使用場景:

技術可行性方面:

CloudFront 現在提供 Multi-Tenant Distributions(多租戶分佈) 功能,專門設計用於在單一分佈中管理多個域名和配置。這個功能允許您:

  • 共享基礎配置,同時保持個別租戶的靈活性
  • 使用萬用字元證書來處理多個域名
  • 透過 CloudFront Functions 實現動態路由

關於 WAF 整合:

WAF 整合不應該是問題。您可以:

  • 在分佈層級啟用 AWS WAF 保護
  • 為不同的使用場景配置不同的 WAF 規則
  • 使用 多個行為(behaviors) 來自定義不同路徑的請求處理和安全特性

管理挑戰的解決方案:

  1. 使用多個行為配置:CloudFront 支援在單一分佈中配置多個行為,可以針對不同的路徑模式設定不同的快取策略、來源和安全設定

  2. CloudFront Functions:可以在邊緣進行動態路由,根據標頭、Cookie 或 JWT token 來處理不同的請求

  3. Origin Shield:可以減少對應用程式來源的請求量,提供集中式快取層

成本考量:

合併分佈確實可以幫助優化成本,因為:

  • AWS 雲端服務與 CloudFront 之間的來源擷取資料傳輸是免費的
  • 透過 Regional Edge Caches 和 Origin Shield 可以優化快取命中率,降低來源營運成本
  • 避免重複的基礎設施費用

建議:

如果您目前只有 S3 使用 CloudFront,計劃導入全站使用,建議:

  1. 評估是否可以使用單一分佈搭配多個行為來處理不同的內容類型
  2. 利用 CloudFront Functions 處理複雜的路由需求
  3. 為不同的安全需求配置適當的 WAF 規則
  4. 考慮使用 Origin Shield 來優化效能和成本

開發商提到的管理挑戰是真實存在的,但 AWS 提供的工具和功能可以有效緩解這些問題。關鍵是要做好規劃,善用 CloudFront 的進階功能來平衡成本和管理複雜度。
Sources
Scale your SaaS application at the edge with the new Amazon CloudFront SaaS Manager | Networking & Content Delivery
Key Features of a Content Delivery Network – Performance, Security – Amazon CloudFront

已回答 2 個月前

  • 多租戶分佈沒有支援 pricing plan 請暫時忽略這則AI答覆

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。