Elastic Load Balancing - 使用者指南 - Amazon.com

31
Elastic Load Balancing 使用者指南

Transcript of Elastic Load Balancing - 使用者指南 - Amazon.com

Elastic Load Balancing使用者指南

Elastic Load Balancing 使用者指南

Elastic Load Balancing: 使用者指南Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon 的商標和商業外觀不得用於任何非 Amazon 的產品或服務,也不能以任何可能造成客戶混淆、任何貶低或使Amazon 名譽受損的方式使用 Amazon 的商標和商業外觀。所有其他非 Amazon 擁有的商標均為其各自擁有者的財產,這些擁有者可能隸屬於 Amazon,或與 Amazon 有合作關係,亦或受到 Amazon 贊助。

Elastic Load Balancing 使用者指南

Table of Contents什麼是 Elastic Load Balancing? ........................................................................................................... 1

負載平衡器的優勢 ....................................................................................................................... 1Elastic Load Balancing 的特點 ...................................................................................................... 1存取 Elastic Load Balancing ......................................................................................................... 1相關 服務 .................................................................................................................................. 1定價 .......................................................................................................................................... 2

如何使用 Elastic Load Balancing ........................................................................................................... 3可用區域和負載平衡器節點 ........................................................................................................... 3

跨區域負載平衡 (Cross-zone load balancing) .......................................................................... 3要求路由 .................................................................................................................................... 4

路由演算法 ........................................................................................................................ 5HTTP 連接 ........................................................................................................................ 5HTTP 標頭 ........................................................................................................................ 6HTTP 標頭限制 .................................................................................................................. 6

負載平衡器方案 .......................................................................................................................... 6網路 MTU .................................................................................................................................. 7

入門 .................................................................................................................................................. 8建立 Application Load Balancer .................................................................................................... 8建立 Network Load Balancer ........................................................................................................ 8建立閘道 Load Balancer .............................................................................................................. 8建立 Classic Load Balancer ......................................................................................................... 8

安全性 ............................................................................................................................................... 9資料保護 .................................................................................................................................... 9

靜態加密 .......................................................................................................................... 10傳輸中加密 ....................................................................................................................... 10

Identity and Access Management ................................................................................................ 10使用 IAM 策略授予權限 ...................................................................................................... 10Elastic Load Balancing 的 API 動作 ..................................................................................... 11Elastic Load Balancing 資源 ............................................................................................... 11Elastic Load Balancing 的資源層級許可 ................................................................................ 13Elastic Load Balancing 的條件索引鍵 ................................................................................... 14預先定義AWS受管政策 ....................................................................................................... 16API 許可 .......................................................................................................................... 16服務連結角色 .................................................................................................................... 18AWS 受管政策 .................................................................................................................. 19

合規驗證 .................................................................................................................................. 20恢復能力 .................................................................................................................................. 21基礎設施安全性 ......................................................................................................................... 21

網路隔離 .......................................................................................................................... 21控制網路流量 .................................................................................................................... 22

界面 VPC 端點 ......................................................................................................................... 22為 Elastic Load Balancing 建立界面端點 ............................................................................... 22為 Elastic Load Balancing 建立 VPC 端點政策 ....................................................................... 23

遷移 Classic Load Balancer ................................................................................................................ 24步驟 1:建立新的負載平衡器 ...................................................................................................... 24

選項 1:使用主控台的遷移精靈 ........................................................................................... 24選項 2:使用 github 中的負載均衡器複製實用程序 .................................................................. 25選項 3:手動遷移至 Application Load Balancer 或 Network Load Balancer ................................. 25選項 4:手動遷移至 VPC 中的 Classic Load Balancer ............................................................ 26

步驟 2:逐漸將流量重新導向新的負載平衡器 ................................................................................. 26步驟 3:更新策略、腳本和代碼 ................................................................................................... 26步驟 4:刪除舊負載平衡器 ......................................................................................................... 27

................................................................................................................................................... xxviii

iii

Elastic Load Balancing 使用者指南負載平衡器的優勢

什麼是 Elastic Load Balancing?Elastic Load Balancing 會自動將傳入流量分配到一或多個可用區域中的多個目標,例如 EC2 執行個體、容器和 IP 地址。其會監控已註冊目標的運作狀態,並且僅將流量路由至運作狀態良好的目標。當傳入流量隨著時間發生變化,Elastic Load Balancing 會擴展您的負載平衡器。他可以自動擴展以因應絕大多數的工作負載。

負載平衡器的優勢負載平衡器會跨多個運算資源 (例如虛擬伺服器) 分配工作負載。使用負載平衡器可增加應用程式的可用性和容錯能力。

您可以依據需求的變更,從負載平衡器新增和移除運算資源,而不會中斷對應用程式請求的整體流程。

您可以設定運作狀態檢查,監控運算資源的運作狀態,使負載平衡器只能將請求傳送至運作狀態良好的資源。您也可以將加密和解密的工作卸載到您的負載平衡器,使得您的運算資源可以專注在其主要工作上。

Elastic Load Balancing 的特點Elastic Load Balancing 支援以下負載平衡器:Application Load Balancer、Network LoadBalancer、Gateway Load Balancer 和 Classic Load Balancer。您可以選取最符合您需要的負載平衡器類型。如需詳細資訊,請參閱「」產品比較。

如需使用每個負載平衡器的詳細資訊,請參閲Application Load Balancer 使用者指南,網路負載平衡器使用者指南,閘道負載平衡器的使用者指南,以及Classic Load Balancer 使用者指南。

存取 Elastic Load Balancing您可以使用下列界面來建立、存取和管理您的負載平衡器:

• AWS Management Console— 提供 Web 界面,您可使用此界面來存取 Elastic Load Balancing。• AWS命令列界面 (AWS CLI)— 提供多種AWS服務,包括 Elastic Load Balancing。Windows、macOS 和

Linux 都支援 AWS CLI。如需詳細資訊,請參閱 AWS Command Line Interface。• AWS開發套件— 提供語言特定 API,並處理許多連線詳細資訊,例如計算簽章、處理請求重試和錯誤處

理。如需詳細資訊,請參閱 AWS 開發套件。• 查詢 API – 提供可以使用 HTTPS 請求呼叫的低層級 API 動作。使用查詢 API 是存取 Elastic Load

Balancing 最直接的方式。不過,查詢 API 需要您的應用程式處理低階詳細資訊,例如產生雜湊以簽署要求以及錯誤處理。如需詳細資訊,請參閱下列內容:• Application Load Balancer 和網路負載平衡器 —API 版本 2015-12-01• Classic Load Balancer —API 版本 2012-06-01

相關 服務Elastic Load Balancing 可與以下服務搭配,以改善應用程式的可用性和可擴展性。

1

Elastic Load Balancing 使用者指南定價

• Amazon EC2— 在雲端執行應用程式的虛擬服務器。您可以設定負載平衡器,將流量路由到 EC2 執行個體。如需詳細資訊,請參閲 。Amazon EC2 Linux 執行個體使用者指南或Amazon EC2 Windows 執行個體使用者指南。

• Amazon EC2 Auto Scaling— 確保您執行所需的執行個體數量,即使在執行個體發生故障時亦然。Amazon EC2 Auto Scaling cing 還讓您隨著執行個體需求的變更,自動增加或減少執行個體的數量。如果您使用 Elastic Load Balancing 啟用 Auto Scaling,則由 Auto Scaling 啟動的執行個體會自動向負載平衡器註冊。同樣地,由 Auto Scaling 終止的執行個體也會自動從負載平衡器取消註冊。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南。

• AWS Certificate Manager— 在創建 HTTPS 監聽器時,您可以指定 ACM 提供的證書。負載平衡器會使用此憑證來終止連線,並解密來自用戶端的請求。

• Amazon CloudWatch— 可讓您監控負載平衡器並視需要來採取動作。如需詳細資訊,請參閱 AmazonCloudWatch 使用者指南。

• Amazon ECS— 可讓您在 EC2 執行個體叢集上執行、停止和管理 Docker 容器。您可以設定負載平衡器,將流量路由到容器。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》。

• AWS Global Accelerator— 改善應用程式的可用性和效能。使用加速器將流量分散到一或多個AWS地區。如需詳細資訊,請參閱《AWS Global Accelerator 開發人員指南》。

• Route 53— 透過將電腦用於互相連接的網域名稱轉換為數字 IP 地址,提供可靠且經濟實惠的方式來將訪客路由至網站。例如,它會翻譯www.example.com轉換為數字 IP 地址192.0.2.1。AWS會將 URL 指派給您的資源,例如負載平衡器。不過,您可能需要能讓使用者輕鬆記住的 URL。例如,您可以將網域名稱映射至負載平衡器。如需詳細資訊,請參閲 。Amazon Route 53 開發者指南。

• AWS WAF— 您可以使用AWS WAF,以根據 Web 存取控制清單 (web ACL) 中的規則來允許或封鎖請求。如需詳細資訊,請參閱《AWS WAF 開發人員指南》。

定價使用負載平衡器時,您只需按實際用量付費。如需詳細資訊,請參閱 Elastic Load Balancing 定價。

2

Elastic Load Balancing 使用者指南可用區域和負載平衡器節點

如何使用 Elastic Load Balancing負載平衡器接受來自用戶端的傳入流量,並將請求路由傳送到在一或多個可用區域中註冊的目標 (例如 EC2執行個體)。負載平衡器還會監控其已註冊目標的運作狀態,並確保只將流量路由到運作狀態良好的目標。當負載平衡器偵測到狀況不良的目標時,它會停止將流量路由到該目標。然後,當它偵測到目標狀況良好時,它會繼續將流量路由到該目標。

您可以指定一或多個接聽程式,以將負載平衡器設定為接受傳入流量。接聽程式是檢查連線請求的程序。使用通訊協定以及連接埠號碼為用戶端與負載平衡器間的連線進行設定。同樣地,它也設定了從負載平衡器到目標之間連線的通訊協定和連接埠號碼。

Elastic Load Balancing 支援以下類型的負載平衡器:

• Application Load Balancer• 網路負載平衡器• 閘道負載平衡器• Classic Load Balancer

負載平衡器類型的設定方式有關鍵的差異。使用應用程序負載均衡器、網絡負載均衡器和網關負載均衡器,您可以在目標組中註冊目標,並將流量路由到目標組。使用 Classic Load Balancer 時,您可以向負載平衡器註冊執行個體。

可用區域和負載平衡器節點當您為負載平衡器啟用某個可用區域時,Elastic Load Balancing 器節點會在該可用區域內建立一個負載平衡器節點。如果您在可用區域內註冊目標,但未啟用該可用區域,這些已註冊的目標不會收到流量。當您確認每個已啟用的可用區域擁有至少一個登錄的目標,您的負載平衡器會展現最高效率。

我們建議為所有負載均衡器啟用多個可用區。但是,使用 Application Load Balancer,您需要啟用至少兩個或更多可用區。此組態有助於確保負載平衡器可繼續路由流量。如果一個可用區域變成無法使用或沒有運作狀態良好的目標,負載平衡器可以將流量路由到另一個可用區域內運作狀態良好的目標。

當您停用可用區域之後,該可用區域內的目標仍註冊到負載平衡器。不過,即使它們仍保持註冊,負載平衡器不會將流量路由傳送給它們。

跨區域負載平衡 (Cross-zone load balancing)負載平衡器的節點會將請求從用戶端分發到已註冊的目標。啟用跨區域負載平衡時,每個負載平衡器節點會將流量分發到所有已啟用可用區域內的已註冊目標。停用跨區域負載平衡時,每個負載平衡器節點只會將流量分發到其可用區域內已註冊的目標。

下圖說明跨區域負載平衡的效果。有兩個已啟用的可用區域,兩個目標在可用區域 A,八個目標在可用區域B。用户端傳送請求,Amazon Route 53 會以其中一個負載平衡器節點的 IP 地址來回應每個請求。如此一來,在分發流量時,每個負載平衡器節點會從用戶端收到 50% 的流量。每個負載平衡器節點會將其流量份額分發到其範圍內已註冊的目標。

如果跨區域負載平衡已啟用,則 10 個目標各接收 10% 的流量。這是因為每個負載平衡器節點可以將其 50%的用戶端流量路由到所有 10 個目標。

3

Elastic Load Balancing 使用者指南要求路由

如果停用跨區域負載平衡時:

• 可用區域 A 中的兩個目標都會收到各 25% 的流量。• 可用區域 B 中的八個目標都會收到各 6.25% 的流量。

這是因為每個負載平衡器節點只能將其 50% 的用戶端流量路由到其可用區域內的目標。

使用 Application Load Balancer 時,一律會啟用跨區域負載平衡。

使用網路負載平衡器和網際網路負載平衡器時,預設會停用跨區域負載平衡器。建立負載平衡器後,您隨時可以啟用或停用跨區域負載平衡器。

當您建立 Classic Load Balancer 時,跨區域負載平衡的預設值取決於您如何建立負載平衡器。使用 API 或CLI 時,預設會停用跨區域負載平衡。使用 AWS Management Console 時,預設會選擇啟用跨區域負載平衡。建立 Classic Load Balancer 後,您隨時可以啟用或停用跨區域負載平衡。如需詳細資訊,請參閱「」啟用跨區域負載平衡中的Classic Load Balancer 使用者指南。

要求路由在用戶端將請求傳送到負載平衡器之前,它會先使用網域名稱系統 (DNS) 伺服器解析負載平衡器的網域名稱。DNS 項目由 Amazon 控制,因為您的負載平衡器位於 amazonaws.com 網域。Amazon DNS 伺服器傳回一個或多個 IP 地址給用戶端。這些是您的負載平衡器之負載平衡器節點的 IP 地址。使用網路負載平衡器時,Elastic Load Balancing 會為您所啟用的每個可用區域建立網路介面。可用區域中的每個負載平衡器節點皆使用此網路界面來取得靜態 IP 地址。當您建立負載平衡器時,您可以選擇性地將一個彈性 IP 地址與每個網路界面建立關聯。

4

Elastic Load Balancing 使用者指南路由演算法

當您的應用程式流量隨着時間而變化時,Elastic Load Balancing 會擴展負載平衡器並更新 DNS 條目。DNS項目也會指定 60 秒的存留時間 (TTL)。這有助於確保 IP 地址可以快速重新對應,以回應變更的流量。

用戶端會決定用於將請求傳送到負載平衡器的 IP 地址。收到請求的負載平衡器節點會選取已註冊且運作狀態良好的目標,並使用目標的私有 IP 地址將請求傳送到目標。

路由演算法搭配Application Load Balancer使用時,接收請求的負載平衡器節點會使用下列程序:

1. 以優先順序評估接聽程序的規則,以決定要套用哪個規則。2. 使用為目標群組設定的路由演算法,從目標群組中選取規則動作的目標。預設的路由算法是循環配置路由

演算法。即使一個目標向多個目標群組註冊,每個目標群組的路由都是獨立運作。

搭配網路負載平衡器使用時,接收連線的負載平衡器節點會使用下列程序:

1. 使用流量雜湊演算法,從目標群組中選取預設規則的目標。演算法是基於:• 通訊協定• 來源 IP 地址和來源連接埠• 目的地 IP 地址和目的地連接埠• TCP 序號

2. 在連線的有效期內,將每個單獨的 TCP 連線路由至單個目標。來自用戶端的 TCP 連線具有不同的來源連接埠和序號,可以路由至不同的目標。

搭配Classic Load Balancer使用時,接收請求的負載平衡器節點會選取已註冊的執行個體如下所示:

• TCP 接聽程式使用的循環配置路由演算法• HTTP 和 HTTPS 接聽程式使用的最少未完成的請求路由演算法

HTTP 連接傳統負載均衡器使用預打開連接,但應用程序負載均衡器不使用。經典負載均衡器和應用程序負載均衡器都使用連接多路複用。這表示在多個前端連線上來自多個用戶端的請求,可以透過單一後端連線而路由到指定的目標。連線多工可縮短延遲並降低應用程式的負載。若要防止連線多工,請在 HTTP 回應中設定Connection: close 標頭以停用 HTTP keep-alives。

Application Load Balancer 和 Classic Load Balancer 在前端連線上支援管道式 HTTP。它們在後端連線上不支援管道式 HTTP。

Application Load Balancer 在前端連線上支援以下通訊協定:HTTP/0.9、HTTP/1.0 和 HTTP/2。您只能將HTTP/2 搭配 HTTPS 接聽程式一起使用,而使用一個 HTTP/2 連線時可平行傳送最多 128 個請求。應用程序負載均衡器還支持從 HTTP 到 WebSockets 的連接升級。但是,如果存在連接升級,則應用程序負載平衡器偵聽器路由規則和AWS WAF集成不再適用。

預設情況下,Application Load Balancer 會在後端連線上 (負載平衡器到註冊目標) 使用 HTTP/1.1。但是,您可以使用協議版本將請求發送到使用 HTTP/2 或 gRPC 的目標。如需詳細資訊,請參閱「」通訊協定版本。Keep-alive預設情況下,支援後端連線。對於來自用戶端而沒有主機標頭的 HTTP/1.0 請求,負載平衡器會針對後端連線上傳送的 HTTP/1.1 請求,產生主機標頭。主機標頭包含負載平衡器的 DNS 名稱。

Classic Load Balancer 在前端連線上 (用户端到負載平衡器) 支援以下通訊協定:HTTP/0.9、HTTP/1.0 和HTTP/1.1。它們在後端連線上 (負載平衡器到註冊目標) 使用 HTTP/1.1。Keep-alive預設情況下,支援後端連線。對於來自用戶端而沒有主機標頭的 HTTP/1.0 請求,負載平衡器會針對後端連線上傳送的 HTTP/1.1請求,產生主機標頭。主機標頭包含負載平衡器節點的 IP 地址。

5

Elastic Load Balancing 使用者指南HTTP 標頭

HTTP 標頭Application Load Balancer 和 Classic Load Balancer 會自動添加X-Forwarded-For、X-Forwarded-Proto,以及X-Forwarded-Port請求標頭。

應用程序負載均衡器將 HTTP 主機標頭中的主機名轉換為小寫,然後再將它們發送到目標。

對於使用 HTTP/2 的前端連線,標頭名稱是小寫。在使用 HTTP/1.1 將請求傳送到目標之前,以下標頭名稱會轉換為大小寫混合:X-Forwarded-For、X-Forwarded-Proto、X-Forwarded-Port、Host (主機)、X-Amzn-Trace-ID、升級,以及Connection (連線)。所有其他標頭名稱都是小寫。

在代理將回應傳回給用户端之後,應用程序負載平衡器和傳入負載平衡器就會遵守來自傳入用户端請求的連線標頭。

當 Application Load Balancer 和 Classic Load Balancer 接收expect標頭時,它們會立即回應用户端 HTTP100 Continue,而不測試內容長度標頭、移除expect標頭,然後路由請求。

HTTP 標頭限制以下 Application Load Balancer 的大小限制是無法變更的硬性限制。

HTTP/1.x 標頭

• 請求列:16 K• 單一標頭:16 K• 整個標頭:64 K

HTTP/2 標頭

• 請求列:16 K• 單一標頭:16 K• 整個標頭:64 K

負載平衡器方案當您建立負載平衡器時,您必須選擇將它當做內部負載平衡器或面向網際網路的負載平衡器。請注意,當您在 EC2-Classic 中建立 Classic 負載平衡器時,它必須是面向網際網路的負載平衡器。

面向網際網路負載平衡器的節點具有公有 IP 地址。面向網際網路負載平衡器之 DNS 名稱可公開解析為節點的公有 IP 地址。因此,面向網際網路的負載平衡器可透過網際網路來路由用戶端請求。

內部負載平衡器的節點僅具有私有 IP 地址。內部網際網路負載平衡器之 DNS 名稱可公開解析為節點的私有IP 地址。因此,內部負載平衡器只能使用負載平衡器的 VPC 存取來路由用戶端請求。

面向網際網路和內部的負載平衡器都使用私有 IP 地址,將請求路由到您的目標。因此,您的目標不需要公有IP 地址,就能收到來自內部或面向網際網路的負載平衡器的請求。

如果您的應用程式有多個層級,您可以設計同時使用內部和面向網際網路的負載平衡器的架構。例如,如果您的應用程式使用必須連接到網際網路的 Web 伺服器,以及只連接到 Web 伺服器的應用程式伺服器都是如此。建立面向網際網路的負載平衡器,並向它註冊 Web 伺服器。建立內部負載平衡器,並向它註冊應用程式伺服器。Web 伺服器會從面向網際網路的負載平衡器接收請求,並將對於應用程式伺服器的請求傳送到內部負載平衡器。應用程式伺服器會接收來自內部負載平衡器的請求。

6

Elastic Load Balancing 使用者指南網路 MTU

適用於您的負載均衡器的網絡 MTU網路連線的最大傳輸單位 (MTU) 係允許通過該連線的最大封包大小 (以位元組為單位)。連線的 MTU 越大,單一封包能傳遞的資料也越多。乙太網路封包內含訊框 (即您實際傳送的資料) 和環繞的網路成本資訊。通過網際網路閘道傳送的流量,其限制為 1500 MTU。這意味着,如果封包超過 1500 位元組將被切割為片段,或者如果Don't Fragment標頭設有 IP 標頭。

Application Load Balancer、Network Load Balancer 或 Classic Load Balancer 節點上的 MTU 大小是不可配置的。巨型幀 (MTU 9001) 是跨所有負載平衡器節點的標準框架。路徑 MTU 是原始主機和接收主機之間的路徑上支援的最大封包尺寸。路徑 MTU 搜尋 (PMTUD) 可用於確認兩個裝置間的路徑 MTU。如果客户端或目標不支持巨型幀,則路徑 MTU 發現尤其重要。

若主機傳送的封包大小大於接收主機的 MTU,或是大於路徑上裝置的 MTU,則接收主機或裝置便會丟棄封包,然後傳回下列 ICMP 訊息:Destination Unreachable: Fragmentation Needed and Don'tFragment was Set (Type 3, Code 4)。 這會指示傳輸主機將負載拆分為多個較小的封包,然後重新傳輸它們。

如果大於客户端或目標接口的 MTU 大小的數據包繼續被丟棄,則路徑 MTU 發現 (PMTUD) 可能無法正常工作。為避免這種情況,請確保路徑 MTU 發現正在端到端工作,並且您已在客户端和目標上啟用了巨型幀。有關路徑 MTU 發現和啟用巨型幀的詳細信息,請參閲路徑 MTU 探索中的Amazon EC2 使用者指南。

7

Elastic Load Balancing 使用者指南建立 Application Load Balancer

Elastic Load Balancing 入門Elastic Load Balancing 支援以下負載平衡器:Aplication Load Balancer、Network Load Balancer、閘道負載平衡器和 Classic Load Balancer。您可以選取最符合您需要的負載平衡器類型。如需詳細資訊,請參閱「」產品比較。

如需常見負載平衡器設定的演示,請參Elastic Load Balancing 演示。

如果您擁有 Classic Load Balancer,則可遷移到 AApplication Load Balancer 或 Network Load Balancer。如需詳細資訊,請參閱 遷移 Classic Load Balancer (p. 24)。

內容• 建立 Application Load Balancer (p. 8)• 建立 Network Load Balancer (p. 8)• 建立閘道 Load Balancer (p. 8)• 建立 Classic Load Balancer (p. 8)

建立 Application Load Balancer使用建立 AApplication Load BalancerAWS Management Console,請參Aplication Load Balancer 入門中的Application Load Balancer 使用者指南。

使用建立 AApplication Load BalancerAWS CLI,請參使用建立 AApplication Load BalancerAWS CLI中的Application Load Balancer 使用者指南。

建立 Network Load Balancer使用建 Network Load BalancerAWS Management Console,請參開始使用網路負載平衡器中的網路負載平衡器使用者指南。

使用建 Network Load BalancerAWS CLI,請參使用建 Network Load BalancerAWS CLI中的網路負載平衡器使用者指南。

建立閘道 Load Balancer使用建立閘道 Load BalancerAWS Management Console,請參開始使用閘道負載平衡器中的閘道負載平衡器的使用者指南。

使用建立閘道 Load BalancerAWS CLI,請參使用閘道負載平衡器入門AWS CLI中的閘道負載平衡器的使用者指南。

建立 Classic Load Balancer如果使用建立 Classic Load Balancer,請使用AWS Management Console,請參建立 Classic LoadBalancer中的Classic Load Balancer 使用者指南。

8

Elastic Load Balancing 使用者指南資料保護

Elastic Load Balancing雲端安全是 AWS 最重視的一環。身為 AWS 的客戶,您將能從資料中心和網路架構中獲益,這些都是專為最重視安全的組織而設計的。

安全是 AWS 與您共同肩負的責任。共同責任模型將其描述為雲端的安全性和雲端中的安全性:

• 雲端本身的安全:AWS 負責保護在 AWS Cloud 中執行 AWS 服務的基礎設施。AWS 也提供您可安全使用的服務。第三方稽核人員會定期測試和驗證我們安全性的有效性,做為 AWS 合規計劃的一部分。若要了解適用於 Elastic Load Balancing 的合規計劃,請參AWS合規計劃的服務範圍。

• 雲端內部的安全:您的責任取決於所使用的 AWS 服務。您也必須對其他因素負責,包括資料的機密性、您公司的要求和適用法律和法規。

本文件有助於您了解如何在使用 Elastic Load Balancing 時套用共同責任模型。它會示範如何設定 ElasticLoad Balancing 以符合您的安全與合規目標。您也將了解如何使用其他AWS服務,協助您監控並保護Elastic Load Balancing 資源。

使用閘道 Load Balancer,您負責從設備供應商處選擇和鑑定軟件。您必須信任設備軟件才能檢查或修改來自負載均衡器的流量,該負載均衡器在開放系統互連 (OSI) 模型的第 3 層(網絡層)運行。設備供應商列為Elastic Load Balancing已將其設備軟件與AWS。您可以在此列表中提高供應商對設備軟件的信任度。然而,AWS不能保證這些供應商提供的軟件的安全性或可靠性。

內容• Elastic Load Balancing 中的資料保護 (p. 9)• Elastic Load Balancing 的標識和存取管理 (p. 10)• Elastic Load Balancing 的合規驗證 (p. 20)• Elastic Load Balancing 中的復原 (p. 21)• Elastic Load Balancing 中的基礎設施 (p. 21)• Elastic Load Balancing 和界面 VPC 端點 (p. 22)

Elastic Load Balancing 中的資料保護所以此AWS 共同責任模型適用於 Elastic Load Balancing 中的數據保護。如此模型所述,AWS 負責保護執行所有 AWS 雲端 的全球基礎設施。您必須負責維護在此基礎設施上託管之內容的控制權。此內容包括您所使用 AWS 服務的安全組態和管理任務。如需有關資料隱私權的詳細資訊,請參閱資料隱私權常見問答集。如需有關歐洲資料保護的相關資訊,請參閱 AWS 安全性部落格上的 AWS 共同的責任模型和 GDPR 部落格文章。

基於資料保護目的,建議您使用 AWS 帳戶 (IAM) 保護 AWS Identity and Access Management 憑證,並設定個別使用者帳戶。如此一來,每個使用者都只會獲得授予完成其任務所必須的許可。我們也建議您採用下列方式保護資料:

• 每個帳戶都使用多重要素驗證 (MFA)。• 使用 SSL/TLS 與 AWS 資源通訊。建議使用 TLS 1.2 或更新版本。• 使用 AWS CloudTrail 設定 API 和使用者活動記錄。• 使用 AWS 加密解決方案,以及 AWS 服務內的所有預設安全控制。• 使用進階的受管安全服務 (例如 Amazon Macie),協助探索和保護儲存在 Amazon S3 的個人資料。

9

Elastic Load Balancing 使用者指南靜態加密

• 如果您在透過命令列介面或 API 存取 AWS 時,需要 FIPS 140-2 驗證的加密模組,請使用 FIPS 端點。如需有關 FIPS 和 FIPS 端點的詳細資訊,請參閱聯邦資訊處理標準 (FIPS) 140-2 概觀。

我們強烈建議您絕對不要將客戶的電子郵件地址等機密或敏感資訊,放在標籤或自由格式的欄位中,例如Name (名稱) 欄位。這包括當您使用 Elastic Load Balancing 或其他AWS服務使用控制台、API、AWS CLI,或AWS開發套件。您在標籤或自由格式欄位中輸入的任何資料都可能用於計費或診斷記錄。如果您提供外部伺服器的 URL,我們強烈建議請勿在驗證您對該伺服器請求的 URL 中包含憑證資訊。

靜態加密如果您透過 Amazon S3 託管加密金鑰 (SSE-S3) 啟用 S3 儲存貯體 Elastic Load Balancing () 的 S3 儲存貯體伺服器端加密,Elastic Load Balancing 將每個存取日誌檔在存放於 S3 儲存貯體之前會自動加密。ElasticLoad Balancing 還會在訪問日誌文件時解密訪問日誌文件。系統會使用唯一的金鑰來加密每個日誌檔,金鑰本身會以定期輪換的主要金鑰來加密。

傳輸中加密Elastic Load Balancing 藉由在負載平衡器上終止來自用户端的 HTTPS 和 TLS 流量,簡化建置安全 web應用程式的程序。負載平衡器會執行加密和解密流量的工作,不需要每個 EC2 執行個體處理 TLS 終止的工作。當您設定安全接聽程式時,您可以指定應用程式支援的加密套件和通訊協定版本,以及要在負載平衡器上安裝的伺服器憑證。您可以使用AWS Certificate Manager(ACM) 或AWS Identity and AccessManagement(IAM) 來管理您的服務器證書。應用程序負載均衡器支持 HTTPS 偵聽器。網絡負載均衡器支持TLS 偵聽器。傳統負載均衡器支持 HTTPS 和 TLS 偵聽器。

Elastic Load Balancing 的標識和存取管理AWS 使用安全登入資料來識別您並授予您對 AWS 資源的存取權。您可以使用AWS Identity and AccessManagement(IAM),以允許其他使用者、服務和應用程式使用您的AWS充分或以有限的方式資源。您可以在不共用您的安全登入資料的情況下執行這項操作。

根據預設,IAM 使用者不具有建立、檢視或修改 AWS 資源的許可。若要允許 IAM 使用者存取資源 (例如負載平衡器),並執行工作,您可以:

1. 建立 IAM 政策以授予 IAM 使用者使用他們所需的特定資源和 API 動作的許可。2. 將政策連接到 IAM 使用者所屬的 IAM 使用者或羣組。

將政策連接到使用者或使用者群組時,政策會允許或拒絕使用者在特定資源上執行特定任務的許可。

例如,您可以使用 IAM 在AWS帳户。IAM 用户可以是個人、系統或應用程式。然後,您將許可授予使用IAM 政策對指定資源執行特定動作。

使用 IAM 策略授予權限將政策連接到使用者或使用者群組時,政策會允許或拒絕使用者在特定資源上執行特定任務的許可。

IAM 政策為包含一或多個陳述式的 JSON 文件。每個陳述式的結構,如下列範例所示。

{ "Version": "2012-10-17", "Statement":[{ "Effect": "effect", "Action": "action", "Resource": "resource-arn", "Condition": {

10

Elastic Load Balancing 使用者指南Elastic Load Balancing 的 API 動作

"condition": { "key":"value" } } }]}

• 效果—效果可以是Allow或者Deny。根據預設,IAM 使用者沒有使用資源和 API 動作的許可,因此所有請求均會遭到拒絕。明確允許覆寫預設值。明確拒絕覆寫任何允許.

• Action—行動是您授予或拒絕許可的特定 API 動作。如需有關指定 action 的詳細資訊,請參閱 ElasticLoad Balancing 的 API 動作 (p. 11)。

• 資源— 受動作影響的資源。對於許多 Elastic Load Balancing API 動作,您可以限制要授予或拒絕給特定負載平衡器的許可。若要執行此動作,請在此陳述式中指定 Amazon Resource Name (ARN)。否則,您可以使用 * 萬用字元,以指定您的所有負載平衡器。如需詳細資訊,請參閱 Elastic Load Balancing 資源 (p. 11)。

• Condition— 您可以選擇性地使用條件來控制政策何時生效。如需詳細資訊,請參閱 Elastic LoadBalancing 的條件索引鍵 (p. 14)。

如需詳細資訊,請參閱《IAM 使用者指南》。

Elastic Load Balancing 的 API 動作在 中Action元素,您可以指定 Elastic Load Balancing 提供的任何 API 動作。您必須以小寫字串elasticloadbalancing: 做為動作名稱的字首,如下列範例所示。

"Action": "elasticloadbalancing:DescribeLoadBalancers"

若要在單一陳述式中指定多個動作,請將它們括在方括號中,並以逗號分隔,如下列範例所示。

"Action": [ "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DeleteLoadBalancer"]

您也可以使用 * 萬用字元指定多個動作。以下範例為為指定開頭為的 Elastic Load Balancing 所有 API 動作名稱Describe。

"Action": "elasticloadbalancing:Describe*"

若要為 Elastic 負載平衡指定所有 API 動作,請使用 * 萬用字元,如下列範例所示。

"Action": "elasticloadbalancing:*"

如需 Elastic Load Balancing 的 API 動作完整清單,請參下列文件:

• Elastic Load Balancer 和網路負載平衡器 —API 參考資料版本 2015-12-01• Classic Load Balancer —API 參考 2012-06-01 版

Elastic Load Balancing 資源資源層級許可能夠讓您指定使用者可執行動作的資源。Elastic Load Balancing 支援部分的資源層級許可。對於支援資源層級許可的 API 動作,您可以控制使用者獲允許在動作中使用的資源。若要在政策陳述式中指定

11

Elastic Load Balancing 使用者指南Elastic Load Balancing 資源

資源,您必須使用其 Amazon Resource Name (ARN)。指定 ARN 時,您可以在路徑中使用 * 萬用字元。例如,當您不想指定確切的負載平衡器名稱時,可以使用 * 萬用字元。

應用程式負載平衡器的 ARN 格式如下列範例所示。

arn:aws:elasticloadbalancing:region-code:account-id:loadbalancer/app/load-balancer-name/load-balancer-id

Network Load Balancer 的 ARN 格式如下列範例所示。

arn:aws:elasticloadbalancing:region-code:account-id:loadbalancer/net/load-balancer-name/load-balancer-id

Classic Load Balancer 的 ARN 格式如下列範例所示。

arn:aws:elasticloadbalancing:region-code:account-id:loadbalancer/load-balancer-name

之接聽程式 ARN 和應用程式負載平衡器的接聽程式規則格式如下列範例所示。

arn:aws:elasticloadbalancing:region-code:account-id:listener/app/load-balancer-name/load-balancer-id/listener-idarn:aws:elasticloadbalancing:region-code:account-id:listener-rule/app/load-balancer-name/load-balancer-id/listener-id/rule-id

Network Load Balancer 的接聽程式 ARN 具有下列範例所示的格式。

arn:aws:elasticloadbalancing:region-code:account-id:listener/net/load-balancer-name/load-balancer-id/listener-id

目標群組的 ARN 格式如下列範例所示。

arn:aws:elasticloadbalancing:region-code:account-id:targetgroup/target-group-name/target-group-id

API 動作不支援資源層級許可

下列 Elastic Load Balancing 動作不支援資源層級許可:

• API 版本 2015-12-01:• DescribeAccountLimits

• DescribeListenerCertificates

• DescribeListeners

• DescribeLoadBalancerAttributes

• DescribeLoadBalancers

• DescribeRules

• DescribeSSLPolicies

• DescribeTags

• DescribeTargetGroupAttributes

• DescribeTargetGroups

• DescribeTargetHealth

• API 版本 2012-06-01:

12

Elastic Load Balancing 使用者指南Elastic Load Balancing 的資源層級許可

• DescribeInstanceHealth

• DescribeLoadBalancerAttributes

• DescribeLoadBalancerPolicyTypes

• DescribeLoadBalancers

• DescribeLoadBalancerPolicies

• DescribeTags

對於不支援資源層級許可的 API 動作,您必須指定下列資源陳述式,如下列範例所示。

"Resource": "*"

Elastic Load Balancing 的資源層級許可以下表格説明支援資源層級許可的 Elastic Load Balancing 動作,和每個動作支援的資源。

API 版本 2015-12-01

API 動作 資源 ARN

AddListenerCertificates 接聽程式

AddTags 負載平衡器、目標群組

CreateListener 負載平衡器

CreateLoadBalancer 負載平衡器

CreateRule 接聽程式

CreateTargetGroup 目標群組

DeleteListener 接聽程式

DeleteLoadBalancer 負載平衡器

DeleteRule 接聽程式規則

DeleteTargetGroup 目標群組

DeregisterTargets 目標群組

ModifyListener 接聽程式

ModifyLoadBalancerAttributes 負載平衡器

ModifyRule 接聽程式規則

ModifyTargetGroup 目標群組

ModifyTargetGroupAttributes 目標群組

RegisterTargets 目標群組

RemoveListenerCertificates 接聽程式

RemoveTags 負載平衡器、目標群組

SetIpAddressType 負載平衡器

13

Elastic Load Balancing 使用者指南Elastic Load Balancing 的條件索引鍵

API 動作 資源 ARN

SetRulePriorities 接聽程式規則

SetSecurityGroups 負載平衡器

SetSubnets 負載平衡器

API 版本 2012-06-01

API 動作 資源 ARN

AddTags 負載平衡器

ApplySecurityGroupsToLoadBalancer 負載平衡器

AttachLoadBalancerToSubnets 負載平衡器

ConfigureHealthCheck 負載平衡器

CreateAppCookieStickinessPolicy 負載平衡器

CreateLBCookieStickinessPolicy 負載平衡器

CreateLoadBalancer 負載平衡器

CreateLoadBalancerListeners 負載平衡器

CreateLoadBalancerPolicy 負載平衡器

DeleteLoadBalancer 負載平衡器

DeleteLoadBalancerListeners 負載平衡器

DeleteLoadBalancerPolicy 負載平衡器

DeregisterInstancesFromLoadBalancer 負載平衡器

DetachLoadBalancerFromSubnets 負載平衡器

DisableAvailabilityZonesForLoadBalancer 負載平衡器

EnableAvailabilityZonesForLoadBalancer 負載平衡器

ModifyLoadBalancerAttributes 負載平衡器

RegisterInstancesWithLoadBalancer 負載平衡器

RemoveTags 負載平衡器

SetLoadBalancerListenerSSLCertificate 負載平衡器

SetLoadBalancerPoliciesForBackendServer 負載平衡器

SetLoadBalancerPoliciesOfListener 負載平衡器

Elastic Load Balancing 的條件索引鍵在建立政策時,您可以指定控制政策生效時機的條件。每個條件都包含一或多個索引鍵/值對。有全球條件金鑰和服務特定的條件金鑰。

14

Elastic Load Balancing 使用者指南Elastic Load Balancing 的條件索引鍵

您無法使用aws:SourceIpElastic Load Balancing 的條件金鑰。

所以此elasticloadbalancing:ResourceTag/鍵條件金鑰是 Elastic Load Balancing 所特定的。下列動作支援此條件金鑰:

API 版本 2015-12-01

• AddTags

• CreateListener

• CreateLoadBalancer

• DeleteLoadBalancer

• DeleteTargetGroup

• DeregisterTargets

• ModifyLoadBalancerAttributes

• ModifyTargetGroup

• ModifyTargetGroupAttributes

• RegisterTargets

• RemoveTags

• SetIpAddressType

• SetSecurityGroups

• SetSubnets

API 版本 2012-06-01

• AddTags

• ApplySecurityGroupsToLoadBalancer

• AttachLoadBalancersToSubnets

• ConfigureHealthCheck

• CreateAppCookieStickinessPolicy

• CreateLBCookieStickinessPolicy

• CreateLoadBalancer

• CreateLoadBalancerListeners

• CreateLoadBalancerPolicy

• DeleteLoadBalancer

• DeleteLoadBalancerListeners

• DeleteLoadBalancerPolicy

• DeregisterInstancesFromLoadBalancer

• DetachLoadBalancersFromSubnets

• DisableAvailabilityZonesForLoadBalancer

• EnableAvailabilityZonesForLoadBalancer

• ModifyLoadBalancerAttributes

• RegisterInstancesWithLoadBalancer

• RemoveTags

• SetLoadBalancerListenerSSLCertificate

• SetLoadBalancerPoliciesForBackendServer

• SetLoadBalancerPoliciesOfListener

15

Elastic Load Balancing 使用者指南預先定義AWS受管政策

如需全域條件金鑰的詳細資訊,請參AWS全域條件內容金鑰中的IAM User Guide。

下列動作支援 aws:RequestTag/key 和 aws:TagKeys 條件金鑰:

• AddTags

• CreateLoadBalancer

• RemoveTags

預先定義AWS受管政策AWS 建立的受管政策會針對常用案例授予必要的權限。您可以根據 IAM 使用者對於 Elastic Load Balancing所需的存取,將這些政策連接到 IAM 使用者:

• ElasticLoadBalancingFullAccess— 授予使用 Elastic Load Balancing 功能所需的完整存取權。• ElasticLoadBalancingReadOnly— 授予對 Elastic Load Balancing 功能的唯讀存取權。

如需每個 Elastic Load Balancing 動作所需許可的詳細資訊,請參Elastic Load Balancing API 許可 (p. 16)。

Elastic Load Balancing API 許可您必須將許可授予給 IAM 使用者以呼叫他們所需的 Elastic Load Balancing API 動作,如Elastic LoadBalancing 的 API 動作 (p. 11)。此外,對於一些 Elastic Load Balancing 動作,您必須將許可授予給 IAM使用者以從 Amazon EC2 API 呼叫特定動作。

2015-12-01 API 的必要許可從 2015-12-01 API 呼叫以下動作時,您必須將許可授予給 IAM 使用者以呼叫特定的動作。

CreateLoadBalancer

• elasticloadbalancing:CreateLoadBalancer

• ec2:DescribeAccountAttributes

• ec2:DescribeAddresses

• ec2:DescribeInternetGateways

• ec2:DescribeSecurityGroups

• ec2:DescribeSubnets

• ec2:DescribeVpcs

• iam:CreateServiceLinkedRole

CreateTargetGroup

• elasticloadbalancing:CreateTargetGroup

• ec2:DescribeInternetGateways

• ec2:DescribeVpcs

RegisterTargets

• elasticloadbalancing:RegisterTargets

• ec2:DescribeInstances

• ec2:DescribeInternetGateways

• ec2:DescribeSubnets

• ec2:DescribeVpcs

16

Elastic Load Balancing 使用者指南API 許可

SetIpAddressType

• elasticloadbalancing:SetIpAddressType

• ec2:DescribeSubnets

SetSubnets

• elasticloadbalancing:SetSubnets

• ec2:DescribeSubnets

2012-06-01 API 的必要許可從 2012-06-01 API 呼叫以下動作時,您必須將許可授予給 IAM 使用者以呼叫特定的動作。

ApplySecurityGroupsToLoadBalancer

• elasticloadbalancing:ApplySecurityGroupsToLoadBalancer

• ec2:DescribeAccountAttributes

• ec2:DescribeSecurityGroups

AttachLoadBalancerToSubnets

• elasticloadbalancing:AttachLoadBalancerToSubnets

• ec2:DescribeSubnets

CreateLoadBalancer

• elasticloadbalancing:CreateLoadBalancer

• ec2:CreateSecurityGroup

• ec2:DescribeAccountAttributes

• ec2:DescribeInternetGateways

• ec2:DescribeSecurityGroups

• ec2:DescribeSubnets

• ec2:DescribeVpcs

• iam:CreateServiceLinkedRole

DeregisterInstancesFromLoadBalancer

• elasticloadbalancing:DeregisterInstancesFromLoadBalancer

• ec2:DescribeClassicLinkInstances

• ec2:DescribeInstances

DescribeInstanceHealth

• elasticloadbalancing:DescribeInstanceHealth

• ec2:DescribeClassicLinkInstances

• ec2:DescribeInstances

DescribeLoadBalancers

• elasticloadbalancing:DescribeLoadBalancers

• ec2:DescribeSecurityGroups

DisableAvailabilityZonesForLoadBalancer

• elasticloadbalancing:DisableAvailabilityZonesForLoadBalancer

• ec2:DescribeAccountAttributes

• ec2:DescribeInternetGateways

• ec2:DescribeVpcs

EnableAvailabilityZonesForLoadBalancer

• elasticloadbalancing:EnableAvailabilityZonesForLoadBalancer

17

Elastic Load Balancing 使用者指南服務連結角色

• ec2:DescribeAccountAttributes

• ec2:DescribeInternetGateways

• ec2:DescribeSubnets

• ec2:DescribeVpcs

RegisterInstancesWithLoadBalancer

• elasticloadbalancing:RegisterInstancesWithLoadBalancer

• ec2:DescribeAccountAttributes

• ec2:DescribeClassicLinkInstances

• ec2:DescribeInstances

• ec2:DescribeVpcClassicLink

Elastic Load Balancing 服務連結角色Elastic LoadBalancing 使用服務連結角色,以取得呼叫其他AWS服務,以代替您。如需詳細資訊,請參閱《IAM 使用者指南》中的使用服務連結角色。

服務連結角色授予的許可Elastic Load Balancing 使用名為的服務連結角色AWS 服務負載平衡,以代替您呼叫下列動作:

• ec2:DescribeAddresses

• ec2:DescribeInstances

• ec2:DescribeNetworkInterfaces

• ec2:DescribeSubnets

• ec2:DescribeSecurityGroups

• ec2:DescribeVpcs

• ec2:DescribeInternetGateways

• ec2:DescribeAccountAttributes

• ec2:DescribeClassicLinkInstances

• ec2:DescribeVpcClassicLink

• ec2:CreateSecurityGroup

• ec2:CreateNetworkInterface

• ec2:DeleteNetworkInterface

• ec2:ModifyNetworkInterfaceAttribute

• ec2:AuthorizeSecurityGroupIngress

• ec2:AssociateAddress

• ec2:DisassociateAddress

• ec2:AttachNetworkInterface

• ec2:DetachNetworkInterface

• ec2:AssignPrivateIpAddresses

• ec2:AssignIpv6Addresses

• ec2:UnassignIpv6Addresses

• logs:CreateLogDelivery

• logs:GetLogDelivery

• logs:UpdateLogDelivery

• logs:DeleteLogDelivery

18

Elastic Load Balancing 使用者指南AWS 受管政策

• logs:ListLogDeliveries

AWSServiceRoleForElasticLoadBalancing 信任 elasticloadbalancing.amazonaws.com 服務擔任此角色。

建立服務連結角色您無須手動建立AWS 服務負載平衡角色。在創建負載均衡器或目標組時,Elastic Load Balancing 將為您創建此角色。

為了讓 Elastic LoadBalancing 使用者代表您建立服務連結角色,您必須具有所需的許可。如需詳細資訊,請參閱《IAM 使用者指南》中的服務連結角色許可。

如果您在 2018 年 1 月 11 日之前建立負載平衡器,則 Elastic Load Balancing 器已建立AWS 服務負載平衡在您的AWS帳户。如需詳細資訊,請參閱 IAM 使用者指南中的在我的 AWS 帳戶中出現的新角色。

編輯服務連結角色您可以編輯AWS 服務負載平衡使用 IAM 加入。如需詳細資訊,請參閱《IAM 使用者指南》中的編輯服務連結角色。

刪除服務連結角色如果您不再需要使用 Elastic Load Balancing,建議您刪除AWS 服務負載平衡。

只有在刪除所有負載平衡器之後,您才可以刪除此服務連結角色AWS帳户。這可確保避免您不小心移除存取負載平衡器所需的許可。如需詳細資訊,請參閱「」刪除 Application Load Balancer、刪除 Network LoadBalancer,以及刪除 Classic Load Balancer。

您可以使用 IAM 主控台、IAM CLI 或 IAM API 刪除服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南中的刪除服務連結角色。

刪除後AWS 服務負載平衡之後,如果您建立負載平衡器,Elastic LoadBalancing 會重新建立此角色。

AWSElastic Load Balancing 的受管政策若要新增許可給使用者、群組和角色,使用 AWS 受管政策比自己撰寫政策更容易。建立 IAM 客戶受管政策需要時間和專業知識,而受管政策可為您的團隊提供其所需的許可。若要快速開始使用,您可以使用 AWS受管政策。這些政策涵蓋常見的使用案例,並可在您的 AWS 帳戶 中使用。如需 AWS 受管政策的詳細資訊,請參閱 IAM 使用者指南中的 AWS 受管政策。

AWS 服務會維護和更新 AWS 受管政策。您無法更改 AWS 受管政策中的許可。服務可以將其他權限添加到AWS受管政策以支援新功能。此類型的更新會影響已連接政策的所有身分識別 (使用者、群組和角色)。當新功能啟動或新操作可用時,服務很可能會更新 AWS 受管政策。服務不會從 AWS 受管政策中移除許可,因此政策更新不會破壞您現有的許可。

此外,AWS 支援跨越多項服務之任務職能的受管政策。例如,ReadOnlyAccess 這項 AWS 受管政策提供針對所有 AWS 服務和資源的唯讀存取權限。當服務啟動新功能時,AWS 會為新的操作和資源新增唯讀許可。如需有關工作職能政策的清單及其説明,請參AWS任務職能的 受管政策中的IAM User Guide。

AWS受管政策:虛擬負載平衡典範服務策略此策略包括 Elastic Load Balancing(Classic Load Balancer)調用其他AWS服務,以代替您。預先定義服務連結角色。對於預定義角色,您不必為代您完成動作的 Elastic Load Balancing 手動新增必要許可。您不能附加、分離、修改或刪除此策略。

若要檢視此政策的許可,請參虛擬負載平衡典範服務策略中的AWS管理主控台。

19

Elastic Load Balancing 使用者指南合規驗證

AWS受管政策:虛擬負載平衡服務策略此政策包含 Elastic Load Balancing 需要的所有許可,以呼叫其他AWS服務,以代替您。預先定義服務連結角色。對於預定義角色,您不必為代您完成動作的 Elastic Load Balancing 手動新增必要許可。您不能附加、分離、修改或刪除此策略。

若要檢視此政策的許可,請參虛擬負載平衡服務策略中的AWS管理主控台。

AWS受管政策:ElasticLoadBalancingFullAccess此策略提供了對 Elastic Load Balancing 服務的完全訪問權限,並通過AWS管理主控台。

若要檢視此政策的許可,請參ElasticLoadBalancingFullAccess中的AWS管理主控台。

AWS受管政策:ElasticLoadBalancingReadOnly此政策提供對 Elastic Load Balancing 和相關服務的唯讀存取權。

若要檢視此政策的許可,請參ElasticLoadBalancingReadOnly中的AWS管理主控台。

的 Elastic Load Balancing 更新AWS受管政策檢視AWS受管政策 Elastic Load Balancing 因為此服務開始追蹤這些變更。

變更 描述 日期

AWS受管政策:虛擬負載平衡服務策略 (p. 20)-更新現有政策。

Elastic Load Balancing 添加了一個新操作,以授予使用對等連接的權限。此操作已添加到 Elastic LoadBalancing 控制平面的服務鏈接角色策略中。它關聯至ec2:DescribeVpcPeeringConnectionsAPI操作。

2021 年 10 月11 日

AWS受管政策:ElasticLoadBalancingFullAccess (p. 20)-更新現有政策。

Elastic Load Balancing 添加了一個新操作,以授予使用對等連接的權限。此操作已添加到Elastic Load Balancing 完全訪問策略中。它關聯至ec2:DescribeVpcPeeringConnectionsAPI操作。

2021 年 10 月11 日

AWS受管政策:虛擬負載平衡典範服務策略 (p. 19)-更新現有政策。

Elastic Load Balancing 為 Classic Load Balancer添加了一個與服務鏈接的角色策略(用於控制平面)。此更新適用於版本 2(默認)。

2019 年 10 月7 日

AWS受管政策:ElasticLoadBalancingReadOnly (p. 20)

提供對 Elastic Load Balancing 和相關服務的唯讀存取權。這是版本 1(默認值)。

2018 年 9 月 20日

Elastic Load Balancing 開始追蹤變更

Elastic Load Balancing 開始追蹤其AWS受管政策。 2021 年 7 月 23日

Elastic Load Balancing 的合規驗證Elastic Load Balancing 的安全與合規,在多個AWS合規計劃。這些計劃包括SOC、PCI、FedRAMP、HIPAA 等等。

如需特定合規計劃的 AWS 服務範圍清單,請參閱合規計劃的 AWS 服務範圍。如需一般資訊,請參閱 AWS合規計劃。

20

Elastic Load Balancing 使用者指南恢復能力

您可使用 AWS Artifact 下載第三方稽核報告。如需詳細資訊,請參閱下載 AWS Artifact 中的報告。

您使用 Elastic Load Balancing 的合規責任,取決於資料的機密性、您公司的合規目標及適用法律和法規。AWS提供下列資源,以協助合規:

• 安全性與合規快速入門指南 – 這些部署指南會描述架構考量,並提供在 AWS 上部署以安全性及合規為重心之基準環境的步驟。

• HIPAA 安全與合規架構白皮書 – 本白皮書說明公司可如何運用 AWS 來建立 HIPAA 合規的應用程式。• AWS 合規資源 – 這組手冊和指南可能適用於您的產業和所處位置。• AWS Config 開發人員指南中的使用規則評估資源 – AWS Config 可評估資源組態對於內部實務、業界準則

和法規的合規狀態。• AWS Security Hub – 此 AWS 服務可供您檢視 AWS 中的安全狀態,可助您檢查是否符合安全產業標準和

最佳實務。

Elastic Load Balancing 中的復原AWS 全球基礎設施是以 AWS 區域與可用區域為中心建置的。區域提供多個分開且隔離的實際可用區域,並以低延遲、高輸送量和高度備援網路連線相互連結。透過可用區域,您可以設計與操作的應用程式和資料庫,在可用區域之間自動容錯移轉而不會發生中斷。可用區域的可用性、容錯能力和擴充能力,均較單一或多個資料中心的傳統基礎設施還高。

如需有關 AWS 區域與可用區域的詳細資訊,請參閱 AWS 全域基礎設施。

除了AWSElastic Load Balancing(Elastic Load Balancing)提供下列功能以支援資料復原:

• 將輸入流量分配到單一可用區域或多個可用區域中的多個執行個體。• 您可以使用AWS Global Accelerator,將傳入流量分配到一或多個AWS地區。如需詳細資訊,請參閱

《AWS Global Accelerator 開發人員指南》。• 藉助 Amazon ECS,您可以在 EC2 實例集上執行、停止和管理 Docker 容器。您可以將 Amazon ECS 服

務設定為使用負載平衡器,將傳入流量分配到集中的服務之間。如需詳細資訊,請參閱《Amazon ElasticContainer Service 開發人員指南》。

Elastic Load Balancing 中的基礎設施作為託管服務,Elastic Load Balancing 受AWS全局網絡安全過程,請參閲Amazon Web Services:安全流程概觀白皮書。

您使用AWS使用發佈的 API 呼叫,透過網路存取 Elastic Load Balancing。用戶端必須支援 Transport LayerSecurity (TLS) 1.0 或更新版本。建議使用 TLS 1.2 或更新版本。用戶端也必須支援具備完美轉送私密 (PFS)的密碼套件,例如臨時 Diffie-Hellman (DHE) 或橢圓曲線臨時 Diffie-Hellman (ECDHE)。現代系統 (如 Java7 和更新版本) 大多會支援這些模式。

此外,請求必須使用存取金鑰 ID 和與 IAM 委託人相關聯的私密存取金鑰來簽署。或者,您可以使用 AWSSecurity Token Service (AWS STS) 來產生暫時安全登入資料來簽署請求。

網路隔離Virtual Private Cloud (VPC) 是 AWS 雲端中您自己的邏輯隔離區域中的虛擬網路。子網路是您的 VPC 中的IP 地址範圍。當您建立負載平衡器,您可以為負載平衡器節點指定一或多個子網路。您可以在 VPC 的子網路中部署 EC2 執行個體,並向負載平衡器註冊它們。如需 VPC 和子網路的詳細資訊,請參Amazon VPCUser Guide。

21

Elastic Load Balancing 使用者指南控制網路流量

當您在 VPC 中建立負載平衡器時,它可以是面向網際網路或內部。內部負載平衡器只能使用負載平衡器的VPC 存取來路由來自用戶端的請求。

您的負載平衡器會使用私有 IP 地址將請求傳送至其註冊的目標。因此,您的目標不需要公有 IP 地址接收負載平衡器的請求。

若要從 VPC 呼叫 Elastic Load Balancing cer 而不透過公有網際網路傳送流量,請使用AWS PrivateLink。如需詳細資訊,請參閱 Elastic Load Balancing 和界面 VPC 端點 (p. 22)。

控制網路流量Elastic Load Balancing cer 支援三種類型的負載平衡器:Abplication Load Balancer、Classic LoadBalancer 和 Classic Load Balancer。應用程式負載平衡器在開放系統互相連線 (OSI) 模型的請求級 (第 7 層)運作。網絡負載均衡器在 OSI 模型的連接級別(第 4 層)運行。傳統負載均衡器在請求級別和連接級別上運行。

使用負載平衡器時,請考慮下列選項來保護網路流量:

• 使用安全接聽程式支援用户端與負載平衡器之間的加密通訊。應用程序負載均衡器支持 HTTPS 偵聽器。網絡負載均衡器支持 TLS 偵聽器。傳統負載均衡器支持 HTTPS 和 TLS 偵聽器。您可以從負載平衡器的預先定義的安全性政策中選擇,以指定應用程式支援的加密套件和通訊協定版本。您可以使用AWSCertificate Manager(ACM) 或AWS Identity and Access Management(IAM) 來管理安裝在負載平衡器上的服務器證書。您可以使用伺服器名稱指示 (SNI) 通訊協定,使用單一安全接聽程式為多個安全網站提供服務。當您將多個伺服器憑證與安全接聽器相關聯時,負載平衡器會自動啟用 SNI。

• 為您的 Abplication Load Balancer 和 Classic Load Balancer 設定安全組只接受來自特定用程式的流量,以只接受來自特定用 這些安全群組必須允許來自接聽程式連接埠上用戶端的輸入流量,以及傳送至用戶端的輸出流量。

• 為 Amazon EC2 實例設定安全組只接受來自負載平衡器的流量。這些安全群組必須允許來自接聽程式連接埠和運作狀態檢查連接埠上的負載平衡器的輸入流量。

• 將 AbApplication Load Balancer 配置為透過身分提供者或使用公司身分安全地驗證用户。如需詳細資訊,請參閱「」使用 AbApplication Load Balancer 驗證用户。

• 使用AWS WAF,以根據 Web 存取控制清單 (web ACL) 中的規則來允許或封鎖請求。

Elastic Load Balancing 和界面 VPC 端點您可以藉由建立界面 VPC 端點,在虛擬私有雲端 (VPC) 和 Elastic Load Balancing API 之間建立私有連線。您可以使用此連接從 VPC 調用 Elastic Load Balancing API,而無需將互聯網網關、NAT 實例或 VPN 連接附加到您的 VPC。此端點可以對 Elastic Load Balancing API 版本 2015-12-01 和 2012-06-01 提供可靠、可擴展性的連線,您可以使用這些 API 來建立和管理您的負載均衡器。

界面 VPC 端點採用的技術AWS PrivateLink,該功能可以在應用程序和AWS使用私有 IP 地址的服務。如需詳細資訊,請參閱 AWS PrivateLink。

限制

AWS PrivateLink不支援包含 50 個以上監聽程式的 Network Load Balancer。

為 Elastic Load Balancing 建立界面端點使用下列服務名稱為 Elastic Load Balancing 建立端點:

com.amazonaws.region.elasticloadbalancing

如需詳細資訊,請參閱 Amazon VPC 使用者指南中的建立介面端點。

22

Elastic Load Balancing 使用者指南為 Elastic Load Balancing 建立 VPC 端點政策

為 Elastic Load Balancing 建立 VPC 端點政策您可以將政策連接到 VPC 端點來控制對 Elastic Load Balancing API 的存取。此政策指定:

• 可執行動作的委託人。• 可執行的動作。• 可供執行動作的資源。

下列範例顯示 VPC 端點政策,拒絕所有人透過端點建立負載平衡器的權限。範例政策也會授予所有人執行所有其他動作的許可。

{ "Statement": [ { "Action": "*", "Effect": "Allow", "Resource": "*", "Principal": "*" }, { "Action": "elasticloadbalancing:CreateLoadBalancer", "Effect": "Deny", "Resource": "*", "Principal": "*" } ]}

如需詳細資訊,請參閱《Amazon VPC 使用者指南》中的使用 VPC 端點政策。

23

Elastic Load Balancing 使用者指南步驟 1:建立新的負載平衡器

遷移 Classic Load BalancerElastic Load Balancing 提供三種負載平衡器:Classic Load Balancer、Application Load Balancer 和網路負載平衡器。如需各種負載平衡器類型的不同功能詳細資訊,請參Elastic Load Balancing 產品比較。

如果您的 VPC 中有 Classic Load Balancer,您可以使用 Application Load Balancer 或網路負載平衡器來替換 Classic Load Balancer。

我們將於 2022 年 8 月 15 日淘汰 EC2-Classic。如果您在 EC2-Classic 中有 Classic Load Balancer,您可以遷移至 Application Load Balancer 或 Network Load Balancer (p. 24)或者遷移至 VPC 中的 ClassicLoad Balancer (p. 26)。

遷移程序• 步驟 1:建立新的負載平衡器 (p. 24)• 步驟 2:逐漸將流量重新導向新的負載平衡器 (p. 26)• 步驟 3:更新策略、腳本和代碼 (p. 26)• 步驟 4:刪除舊負載平衡器 (p. 27)

步驟 1:建立新的負載平衡器創建具有與要遷移的傳統負載均衡器等效的配置的負載均衡器。完成遷移程序後,您就可以利用新負載平衡器的功能。

要創建 Application Load Balancer 或 Network Load Balancer 以替換 VPC 中的 Classic Load Balancer,請使用以下選項之一:

• 選項 1:使用主控台的遷移精靈 (p. 24)• 選項 2:使用 github 中的負載均衡器複製實用程序 (p. 25)• 選項 3:手動遷移至 Application Load Balancer 或 Network Load Balancer (p. 25)

要在 VPC 中創建 Classic Load Balancer 以替換 EC2-Classic 中的 Classic Load Balancer,請使用以下選項:

• 選項 4:手動遷移至 VPC 中的 Classic Load Balancer (p. 26)

選項 1:使用主控台的遷移精靈遷移嚮導會根據 VPC 中的 Classic 負載均衡器的配置創建 Application Load Balancer 或 Network LoadBalancer。建立的負載平衡器類型取決於 Classic Load Balancer 的配置。

遷移精靈版本備註

• Classic Load Balancer 必須位於 VPC 中。• 如果 Classic Load Balancer 具有 HTTP 或 HTTPS 偵聽器,則嚮導將創建 Application Load Balancer。如

果 Classic Load Balancer 具有 TCP 偵聽器,則嚮導將創建一個 Network Load Balancer。• 如果經 Classic Load Balancer 的名稱符合現有 Application Load Balancer 或 Network Load Balancer 的名

稱,精靈會要求您在遷移期間指定不同的名稱。• 如果 Classic Load Balancer 有一個子網路,精靈會要求您在建立 Application Load Balancer 時指定第二

個子網路。

24

Elastic Load Balancing 使用者指南選項 2:使用 github 中的負載均衡器複製實用程序

• 如果 Classic Load Balancer 已在 EC2-Classic 中註冊執行個體,則不會向新負載平衡器的目標組註冊這些執行個體。

• 如果 Classic Load Balancer 已註冊以下類型的執行個體,則不會向 Network Load Balancer 的目標組註冊這些執行個體:C1、CC1、CC2、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C1、C

• 如果 Classic Load Balancer 有 HTTP/HTTPS 接聽程式,但使用 TCP 運作狀態檢查,精靈會將其更改為HTTP 運作狀態檢查。然後在建立 Application Load Balancer 時將路徑設置為「/"。

• 如果 CClassic Load Balancer 遷移到 Network Load Balancer,則會更改運行狀況檢查設置以滿足網絡負載均衡器的要求。

• 如果 Classic Load Balancer 有多個 HTTPS 接聽程式,精靈會選取一個並使用其證書和策略。如果在連接埠 443 上有 HTTPS 接聽程式,精靈會選擇此接聽程式。如果選擇的接聽程式使用自訂政策,或不支援應用程序負載平衡器的政策,精靈會變更為預設的安全政策。

• 如果 Classic Load Balancer 有安全 TCP 接聽程式,則 Network Load Balancer 使用 TCP 接聽程式。但它不會使用憑證或安全性政策。

• 如果 Classic Load Balancer 有多個接聽程式,精靈會使用目標組端口值最低的接聽程式端口。向這些接聽程式註冊的每個執行個體,將會在所有接聽程式的接聽程式連接埠上向目標群組註冊。

• 如果 Classic Load Balancer 具有aws前綴,這些標籤不會新增到新的負載平衡器。

使用遷移精靈遷移至 Classic Load Balancer

1. 在 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。2. 在導覽窗格的 LOAD BALANCING (負載平衡) 下方,選擇 Load Balancers (負載平衡器)。3. 選取 Classic Load Balancer。4. 在 Migration (遷移) 標籤上,選擇 Launch ALB Migration Wizard (啟動 ALB 遷移精靈) 或 Launch NLB

Migration Wizard (啟動 NLB 遷移精靈)。顯示的按鈕取決於精靈在檢視 Classic Load Balancer 之後所選取的負載平衡器類型。

5. 在 Review (檢閱) 頁面,驗證精靈所選取的組態選項。若要變更選項,請選擇 Edit (編輯)。6. 當您完成新負載平衡器的設定時,選擇 Create (建立)。

選項 2:使用 github 中的負載均衡器複製實用程序在 GitHub 上可取得此負載平衡器複製公用程式。如需詳細資訊,請參閱「」Elastic Load Balancing 工具。

選項 3:手動遷移至 Application Load Balancer 或Network Load Balancer下列資訊提供根據 VPC 中現有的經典負載平衡器手動建立新的應用程序負載平衡器或網絡負載平衡器的一般指示。您可以使用AWS Management Console,AWS CLI,或AWS開發套件。如需詳細資訊,請參閱Elastic Load Balancing 入門 (p. 8)。

1. 使用與 Classic Load Balancer 相同的方案 (面向 Internet 或內部)、子網路和安全組,建立新的負載平衡器。

2. 使用與 Classic Load Balancer 相同的運作狀態檢查設定,為負載平衡器建立一個目標組。3. 執行下列任一步驟:

• 如果您的 Classic Load Balancer 連接至 Auto Scaling 組,請將目標羣組連接到 Auto Scaling (AutoScaling) 組。這樣也會向目標組註冊 Auto Scaling 執行個體。

• 向目標群組註冊 EC2 執行個體。4. 建立一或多個接聽程式,每個都有將請求轉送到目標群組的預設規則。如果您建立 HTTPS 接聽程式,您

可以指定您為 Classic Load Balancer 指定的相同憑證。建議您使用預設安全政策。

25

Elastic Load Balancing 使用者指南選項 4:手動遷移至 VPC 中的 Classic Load Balancer

5. 如果 Classic Load Balancer 有標籤,請檢視這些標籤,並將相關的標籤新增至新的負載平衡器。

選項 4:手動遷移至 VPC 中的 Classic Load Balancer下列資訊提供根據 EC2-Classic 中的 Classic Load Balancer 手動在 VPC 中手動建立新的 Classic LoadBalancer 的一般指示。您可以使用AWS Management Console,AWS CLI,或AWS開發套件。如需詳細資訊,請參閱「」教學課程:建立 Classic Load Balancer中的Classic Load Balancer 使用者指南。

1. 將 EC2 資源(如執行個體和安全組)從 EC2-Classic 遷移至 VPC。如需詳細資訊,請參閱「」將資源遷移至 VPC中的Amazon EC2 使用者指南。

2. 在 VPC 中建立新的 Classic Load Balancer。3. 創建負載均衡器時,請選擇從 EC2-Classic 遷移實例時使用的 VPC。從包含您計劃向新負載平衡器註冊的

執行個體的每個可用區域選取一個子網路。4. 如果提示,選取要向負載平衡器註冊的執行個體。5. 如果您的舊 Classic Load Balancer 有標籤,請檢視這些標籤,並將相關的標籤新增至新的 Classic Load

Balancer。

步驟 2:逐漸將流量重新導向新的負載平衡器在向新的負載平衡器註冊您的執行個體之後,您就可以開始將流量從舊負載平衡器重新導向至新的負載平衡器的程序。這可讓您測試新的負載平衡器,同時最大限度地降低應用程式可用性風險。

逐漸將流量重新導向新的負載平衡器

1. 將新負載平衡器的 DNS 名稱貼至已連接網際網路的 web 瀏覽器的地址欄位。如果一切正常,瀏覽器會顯示您的應用程式的默認頁面。

2. 建立新的 DNS 記錄,將您的網域名稱與新的負載平衡器建立關聯。如果您的 DNS 服務支援加權,請在新的 DNS 記錄中指定權數 1,並在舊負載平衡器的現有 DNS 記錄中指定權數 9。這樣會將 10% 的流量導向新的負載平衡器,將 90% 的流量導向舊負載平衡器。

3. 監控新的負載平衡器,確認它正在接收流量且將請求路由到您的執行個體。

Important

DNS 記錄中的存留時間 (TTL) 是 60 秒。這表示解析網域名稱的任何 DNS 伺服器會將紀錄資訊保存在快取中長達 60 秒,同時會傳播變更。因此,在您完成上個步驟之後最多 60 秒內,這些 DNS 伺服器仍可將流量路由到舊負載平衡器。在傳播期間,系統可以將流量導向任一負載平衡器。

4. 繼續更新 DNS 記錄的權數,直到所有流量都導向新的負載平衡器為止。完成後,您可以刪除舊負載平衡器的 DNS 記錄。

步驟 3:更新策略、腳本和代碼如果您將 CClassic Load Balancer 遷移到 Application Load Balancer 或 Network Load Balancer,請務必執行以下操作:

• 更新使用 API 版本 2012-06-01 的 IAM 政策,使用版本 2015-12-01。• 更 CloudWatch 使用AWS/ELB命名空間來使用AWS/ApplicationELB或者AWS/NetworkELB命名空間。• 更新使用aws elb AWS CLI要使用的命令aws elbv2 AWS CLI命令。• 更新AWS CloudFormation使用AWS::ElasticLoadBalancing::LoadBalancer資源以使

用AWS::ElasticLoadBalancingV2的費用。

26

Elastic Load Balancing 使用者指南步驟 4:刪除舊負載平衡器

• 使用 Elastic Load Balancing API 版本 2012-06-01 更新使用版本 2015-12-01 版的代碼。

資源

• ELBv2中的AWS CLI命令參考• Elastic Load Balancing (API) 參考版本 2015-12-01 版• Elastic Load Balancing 的標識和存取管理 (p. 10)• Application Load Balancer 指標中的Application Load Balancer 使用者指南• Network Load Balancer 指標中的網路負載平衡器使用者指南• AWS::ElasticLoadBalancingV2::LoadBalancer中的AWS CloudFormation使用者指南

步驟 4:刪除舊負載平衡器您可以在以下操作之後刪除舊的 Classic Load Balancer:

• 您已將舊負載平衡器的所有流量重新導向至新的負載平衡器。• 路由至舊負載平衡器的所有現有請求均已完成。

27

Elastic Load Balancing 使用者指南

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

xxviii