選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

確保 AWS 負載平衡器使用安全接聽程式通訊協定 (HTTPS、SSL/TLS) - AWS 方案指引

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

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

確保 AWS 負載平衡器使用安全接聽程式通訊協定 (HTTPS、SSL/TLS)

由 Chandini Penmetsa (AWS) 和 Purushotham G K (AWS) 建立

Summary

在 Amazon Web Services (AWS) Cloud 上,Elastic Load Balancing 會自動將傳入的應用程式流量分散到多個目標,例如 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、容器、IP 地址和 AWS Lambda 函數。負載平衡器使用接聽程式來定義負載平衡器用來接受來自使用者的流量的連接埠和通訊協定。Application Load Balancer 會在應用程式層進行路由決策,並使用 HTTP/HTTPS 通訊協定。Network Load Balancer 在傳輸層做出路由決策,並使用傳輸控制通訊協定 (TCP)、傳輸層安全 (TLS)、使用者資料包通訊協定 (UDP) 或 TCP_UDP 通訊協定。Classic Load Balancer 會在傳輸層、使用 TCP 或 Secure Sockets Layer (SSL) 通訊協定,或在應用程式層使用 HTTP/HTTPS 進行路由決策。

您的組織可能有安全或合規要求,負載平衡器只接受來自安全通訊協定之使用者的流量,例如 HTTPS 或 SSL/TLS。

此模式提供安全控制,使用 Amazon EventBridge 規則來監控 Application Load Balancer CreateListener和 Network Load Balancer 的 和 ModifyListener API 呼叫,以及 Classic Load Balancer 的 CreateLoadBalancerListenersCreateLoadBalancer API 呼叫。如果 HTTP、TCP/UDP 或 TCP_UDP 用於負載平衡器的接聽程式通訊協定,則控制項會叫用 Lambda 函數。Lambda 函數會將訊息發佈至 Amazon Simple Notification Service (Amazon SNS) 主題,以傳送包含負載平衡器詳細資訊的通知。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 您希望接收違規通知的電子郵件地址

  • Amazon Simple Storage Service (Amazon S3) 儲存貯體,用於存放 Lambda 程式碼 .zip 檔案

限制

  • 除非對負載平衡器接聽程式進行更新,否則此安全控制不會檢查現有的負載平衡器。

  • 此安全控制是區域性的,必須部署在您打算監控的 AWS 區域中。

架構

目標技術堆疊

  • Lambda 函數

  • Amazon SNS 主題

  • EventBridge 規則

目標架構

監控負載平衡器 API 呼叫並啟動 Amazon SNS 通知的 EventBridge 規則。

自動化和擴展

  • 如果您使用 AWS Organizations,則可以使用 AWS Cloudformation StackSets,將此範本部署到您想要監控的多個帳戶中。

工具

  • AWS CloudFormation – AWS CloudFormation 是一項服務,可協助您使用基礎設施做為程式碼來建立模型和設定 AWS 資源。

  • Amazon EventBridge – Amazon EventBridge 提供來自您自己的應用程式、軟體即服務 (SaaS) 應用程式和 AWS 服務的即時資料串流,將資料路由到 Lambda 函數等目標。

  • AWS Lambda – Lambda 支援執行程式碼,無需佈建或管理伺服器。

  • Amazon S3 – Amazon Simple Storage Service (Amazon S3) 是一種高度可擴展的物件儲存服務,可用於各種儲存解決方案,包括網站、行動應用程式、備份和資料湖。

  • Amazon SNS – Amazon Simple Notification Service (Amazon SNS) 會協調和管理發佈者和用戶端之間的訊息傳遞或傳送,包括 Web 伺服器和電子郵件地址。訂閱者會收到發佈到所訂閱主題的所有訊息,且某一主題的所有訂閱者均會收到相同訊息。

最佳實務

確保使用的 SNS 主題無法公開存取。如需詳細資訊,請參閱 AWS 文件

史詩

任務描述所需的技能

定義 S3 儲存貯體。

在 Amazon S3 主控台上,選擇或建立 S3 儲存貯體,其唯一名稱不包含正斜線。S3 儲存貯體名稱全域唯一,且所有 AWS 帳戶共用命名空間。您的 S3 儲存貯體必須與正在評估的負載平衡器位於相同的區域。

雲端架構師

將 Lambda 程式碼上傳到 S3 儲存貯體。

將「附件」區段中提供的 Lambda 程式碼 .zip 檔案上傳至定義的 S3 儲存貯體。

雲端架構師

部署 AWS CloudFormation 範本。

在 AWS CloudFormation 主控台上,在與 S3 儲存貯體相同的 AWS 區域中,部署「附件」區段中提供的範本。在下一個史詩中,提供參數的值。

雲端架構師

上傳 Lambda 程式碼

任務描述所需的技能

定義 S3 儲存貯體。

在 Amazon S3 主控台上,選擇或建立 S3 儲存貯體,其唯一名稱不包含正斜線。S3 儲存貯體名稱全域唯一,且所有 AWS 帳戶共用命名空間。您的 S3 儲存貯體必須與正在評估的負載平衡器位於相同的區域。

雲端架構師

將 Lambda 程式碼上傳到 S3 儲存貯體。

將「附件」區段中提供的 Lambda 程式碼 .zip 檔案上傳至定義的 S3 儲存貯體。

雲端架構師

部署 AWS CloudFormation 範本。

在 AWS CloudFormation 主控台上,在與 S3 儲存貯體相同的 AWS 區域中,部署「附件」區段中提供的範本。在下一個史詩中,提供參數的值。

雲端架構師
任務描述所需的技能

命名 S3 儲存貯體。

輸入您在第一個史詩中建立的 S3 儲存貯體名稱。

雲端架構師

提供 Amazon S3 字首。

在您的 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,而不要使用斜線 (例如 <directory>/<file-name>.zip)。

雲端架構師

提供 SNS 主題 ARN。

如果您想要使用現有的 SNS 主題進行違規通知,請提供 SNS 主題 Amazon Resource Name (ARN)。若要建立新的 SNS 主題,請將值保留為 None(預設值)。

雲端架構師

提供電子郵件地址。

提供作用中的電子郵件地址以接收 Amazon SNS 通知。

雲端架構師

定義記錄層級。

定義 Lambda 函數的記錄層級和頻率。 會Info指定應用程式進度的詳細資訊訊息。 會Error指定錯誤事件,而 仍會允許應用程式繼續執行。 會Warning指定潛在的有害情況。

雲端架構師

CloudFormation 參數

任務描述所需的技能

命名 S3 儲存貯體。

輸入您在第一個史詩中建立的 S3 儲存貯體名稱。

雲端架構師

提供 Amazon S3 字首。

在您的 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,而不要使用斜線 (例如 <directory>/<file-name>.zip)。

雲端架構師

提供 SNS 主題 ARN。

如果您想要使用現有的 SNS 主題進行違規通知,請提供 SNS 主題 Amazon Resource Name (ARN)。若要建立新的 SNS 主題,請將值保留為 None(預設值)。

雲端架構師

提供電子郵件地址。

提供作用中的電子郵件地址以接收 Amazon SNS 通知。

雲端架構師

定義記錄層級。

定義 Lambda 函數的記錄層級和頻率。 會Info指定應用程式進度的詳細資訊訊息。 會Error指定錯誤事件,而 仍會允許應用程式繼續執行。 會Warning指定潛在的有害情況。

雲端架構師
任務描述所需的技能

下載 範本。

下載附件區段中提供的 CloudFormation 範本。

雲端架構師

建立堆疊。

在與 S3 儲存貯體相同的區域中,導覽至 CloudFormation 服務主控台,並部署下載的範本。如需參數詳細資訊,請參閱上一個史詩。

雲端架構師

驗證資源。

完全建立堆疊後,導覽至資源索引標籤,然後驗證資源。範本將建立下列資源:

  • EventBridge 規則

  • Lambda 函數

  • Lambda 執行角色

  • Lambda 叫用許可

雲端架構師

部署 CloudFormation 範本

任務描述所需的技能

下載 範本。

下載附件區段中提供的 CloudFormation 範本。

雲端架構師

建立堆疊。

在與 S3 儲存貯體相同的區域中,導覽至 CloudFormation 服務主控台,並部署下載的範本。如需參數詳細資訊,請參閱上一個史詩。

雲端架構師

驗證資源。

完全建立堆疊後,導覽至資源索引標籤,然後驗證資源。範本將建立下列資源:

  • EventBridge 規則

  • Lambda 函數

  • Lambda 執行角色

  • Lambda 叫用許可

雲端架構師
任務描述所需的技能

確認訂閱。

當範本成功部署時,如果建立新的 SNS 主題,訂閱電子郵件訊息會傳送至 參數中提供的電子郵件地址。您必須確認此電子郵件訂閱,才能接收違規通知。

雲端架構師

確認訂閱

任務描述所需的技能

確認訂閱。

當範本成功部署時,如果建立新的 SNS 主題,訂閱電子郵件訊息會傳送至 參數中提供的電子郵件地址。您必須確認此電子郵件訂閱,才能接收違規通知。

雲端架構師

故障診斷

問題解決方案

堆疊建立失敗。GetObject 時發生錯誤。S3 錯誤代碼:PermanentRedirect. S3 錯誤訊息:儲存貯體位於此區域:xx-xxxx-1。請使用此區域重試請求。

確定 S3 儲存貯體區域和要部署堆疊的區域相同。

堆疊建立失敗。python3.6 的執行時間參數不再支援建立或更新 AWS Lambda 函數。

將第 186 行下載的範本從 Python 3.6 版更新為 3.9。

相關資源

附件

若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。