本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
REL02-BP01 針對工作負載公有端點使用高可用性網路連線
建置與您的工作負載公有端點的高度可用網路連線,可協助您減少由於遺失連線的停機時間,並且改善您的工作負載的可用性和 SLA。為達成此目的,請使用高度可用的 DNS、內容交付網路 (CDN)、API 閘道、負載平衡或反向代理。
預期成果:為您的公用端點規劃、建置和操作高可用性網路連線至關重要。如果您的工作負載由於遺失連線而無法連線,即使您的工作負載正在執行且可用,您的客戶還是會看到您的系統是停機。藉由結合工作負載公有端點高度可用和具彈性的網路連線與工作負載本身的彈性架構,為您的客戶提供可行的最佳可用性和服務水準。
AWS Global Accelerator、Amazon CloudFront、Amazon API Gateway、AWS Lambda Function URL、AWS AppSync API 以及 Elastic Load Balancing (ELB) 全都可提供高可用性公用端點。Amazon Route 53 針對網域名稱解析提供高可用性的 DNS 服務,以確認您的公有端點地址是否可以解析。
您也可以評估用於負載平衡和代理的 AWS Marketplace 軟體設備。
常見的反模式:
-
設計高度可用的工作負載,而未規劃 DNS 和網路連線以取得高可用性。
-
在個別執行個體或容器上使用公有網際網路地址,並透過 DNS 管理其連線。
-
使用 IP 位址,而非網域名稱來定位服務。
-
未測試您的公有端點已遺失連線的情境。
-
未分析網路輸送量需求和分發模式。
-
未測試和規劃您的工作負載公有端點的網際網路網路連線可能遭到中斷的情境。
-
提供內容 (例如網頁、靜態資產或媒體檔案) 到大型地理區域,而不使用內容交付網路。
-
未針對分散式阻斷服務 (DDoS) 攻擊加以規劃。DDoS 攻擊所存在的風險會將合法流量阻擋在外,並減少使用者的可用性。
建立此最佳實務的優勢:針對高可用性和高彈性的網路連線進行設計,確保您的工作負載可供使用者存取且可用。
未建立此最佳實務時的曝險等級:高
實作指引
建置與您的公有端點的高度可用網路連線的核心是流量的路由。若要確認您的流量可以連線到端點,DNS 必須能夠將網域名稱解析為它們的對應 IP 位址。使用 Amazon Route 53 等高可用且可擴展的網域名稱系統 (DNS)
若要確認您的工作負載本身具有高可用性,請使用 Elastic Load Balancing (ELB)。Amazon Route 53 可用於將流量鎖定到 ELB,這會將流量分配到目標運算執行個體。也可以將 Amazon API Gateway 以及 AWS Lambda 一起用於無伺服器解決方案。客戶也可以在多個 AWS 區域 中執行工作負載。透過多站台主動/主動模式
Amazon CloudFront 藉由使用全世界邊緣節點的網路為請求提供服務,以低延遲和高資料傳輸率提供簡易 API 來分發內容。內容交付網路 (CDN) 藉由在靠近使用者的位置提供放置或快取的內容來服務客戶。當內容負載從您的伺服器轉移到 CloudFront 的邊緣節點
針對具有分散各地使用者的工作負載,AWS Global Accelerator 可協助您改善應用程式的可用性和效能。AWS Global Accelerator 提供任播靜態 IP 位址,可做為一或多個 AWS 區域 中託管之應用程式的固定進入點。這可讓流量盡可能輸入到使用者附近的 AWS 全球網路,改善您的工作負載的連線能力和可用性。AWS Global Accelerator 也會使用 TCP、HTTP 和 HTTPS 運作狀態檢查來監控您的應用程式端點的運作狀態。您的端點的運作狀態或組態的任何變更都允許將使用者流量重新導向到健康的端點,為您的使用者交付最佳效能和可用性。此外,AWS Global Accelerator 有故障隔離設計,使用由獨立網路區域提供服務的兩個靜態 IPv4 地址,增加您的應用程式的可用性。
為了幫助保護客戶免受 DDoS 攻擊,AWS 會提供 AWS Shield Standard。Shield Standard 會自動開啟並防止一般基礎架構 (第 3 層和第 4 層) 攻擊,例如 SYN/UDP 泛洪和反射攻擊,以支援 AWS 上應用程式的高可用性。針對更複雜和更大型攻擊 (例如 UDP 泛洪)、狀態耗盡攻擊 (例如 TCP SYN 泛洪) 的額外保護,以及協助保護您的應用程式在 Amazon Elastic Compute Cloud (Amazon EC2)、Elastic Load Balancing (ELB)、Amazon CloudFront、AWS Global Accelerator 以及 Route 53 上執行,您可以考慮使用 AWS Shield Advanced。針對應用程式層攻擊的保護,例如 HTTP POST 或 GET 泛洪,請使用 AWS WAF。AWS WAF 可以使用 IP 位址、HTTP 標題、HTTP 本文、URI 字串、SQL injection 隱碼攻擊和跨網站指令碼條件來判斷應該封鎖或允許請求。
實作步驟
-
設定高可用 DNS:Amazon Route 53 是一種可用性高、可擴展性強的網域名稱系統 (DNS)
Web 服務。Route 53 會將使用者請求連接至在 AWS 上或內部部署中執行的網際網路應用程式。如需詳細資訊,請參閱 configuring Amazon Route 53 as your DNS service。 -
設定運作狀態檢查:當使用 Route 53 時,請確認只有運作狀態良好的目標是可解析的。首先建立 Amazon Route 53 運作狀態檢查和設定 DNS 備援。以下是設定運作狀態檢查時要考慮的重要層面:
-
-
使用 Elastic Load Balancing 做為流量的目標時,請使用指向負載平衡器區域端點的 Amazon Route 53 建立別名記錄。建立別名記錄期間,將 [評估目標運作狀態] 選項設定為 [是]。
-
對於使用 API Gateway 時的無伺服器工作負載或私有 API,請使用 Route 53 將流量導向至 API Gateway。
-
-
決定內容交付網路。
-
若要使用更接近使用者的邊緣節點交付內容,請先了解 CloudFront 如何交付內容。
-
簡單的 CloudFront 分佈入門。CloudFront 接著會知道您想要從哪裡交付內容,以及如何追蹤和管理內容交付的詳細資料。以下是設定 CloudFront 分發時要了解和考慮的重要層面:
-
-
設定應用程式層保護:AWS WAF 可協助您保護免受常見 Web 漏洞和機器人的攻擊,這些攻擊會影響可用性、危及安全性或導致消耗過多資源。若要深入了解,請檢閱 how AWS WAF works,當您準備實作來自應用程式層 HTTP POST AND GET 泛洪的保護時,請參閱 Getting started with AWS WAF。也可以搭配使用 AWS WAF 與 CloudFront,請參閱有關 how AWS WAF works with Amazon CloudFront features 的文件。
-
設定額外 DDoS 保護:根據預設,所有 AWS 客戶都能透過 AWS Shield Standard 獲得以您的網站或應用程式為目標,對於常見、最常發生網路和傳輸層 DDoS 攻擊的保護,不需額外費用。如需有關在 Amazon EC2、Elastic Load Balancing、Amazon CloudFront、AWS Global Accelerator 以及 Amazon Route 53 上執行的面向網際網路應用程式的額外保護,您可以考慮 AWS Shield Advanced 並檢閱 DDoS 彈性架構的範例。若要保護您的工作負載和公有端點免受 DDoS 攻擊,請參閱 Getting started with AWS Shield Advanced。
資源
相關的最佳實務:
相關文件:
相關影片:
相關範例: