確認新的 Amazon Redshift 叢集具有所需的 SSL 端點 - AWS 方案指引

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

確認新的 Amazon Redshift 叢集具有所需的 SSL 端點

由 Priyanka Chaudhary (AWS) 建立

Summary

此模式提供 Amazon Web Services (AWS) CloudFormation 範本,可在沒有 Secure Sockets Layer (SSL) 端點的新 Amazon Redshift 叢集啟動時自動通知您。

Amazon Redshift 是全受管的 PB 級雲端資料倉儲服務。它專為大規模資料集儲存和分析而設計。它也用於執行大規模資料庫遷移。為了安全起見,Amazon Redshift 支援 SSL 來加密使用者的 SQL Server 用戶端應用程式與 Amazon Redshift 叢集之間的連線。若要將叢集設定為需要 SSL 連線,請在啟動期間與叢集相關聯的參數群組require_SSLtrue中,將 參數設定為 。

此模式提供的安全性控制項會監控 AWS CloudTrail 日誌中的 Amazon Redshift API 呼叫,並啟動 CreateClusterModifyClusterRestoreFromClusterSnapshotCreateClusterParameterGroupModifyClusterParameterGroup APIs Amazon CloudWatch Events 事件。當事件偵測到其中一個 APIs時,它會呼叫執行 Python 指令碼的 AWS Lambda。Python 函數會分析列出的 CloudTrail 事件的 CloudWatch 事件。 CloudTrail 從現有快照建立、修改或還原 Amazon Redshift 叢集時,會為叢集建立新的參數群組,或修改現有的參數群組,函數會檢查叢集的 require_SSL 參數。如果參數值為 false,則函數會傳送 Amazon Simple Notification Service (Amazon SNS) 通知給使用者,其中包含此資訊:來源於此通知的 Amazon Redshift 叢集名稱、AWS 區域、AWS 帳戶和 Amazon Resource Name (ARN)。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 具有叢集子網路群組和相關聯安全群組的虛擬私有雲端 (VPC)。

限制

  • 此安全控制是區域性的。您必須將其部署到您要監控的每個 AWS 區域。

架構

目標架構

在沒有 SSL 端點的情況下啟動新的 Amazon Redshift 叢集時傳送通知的工作流程。

自動化和擴展

工具

AWS 服務

  • AWS CloudFormation – AWS CloudFormation 可協助您建立模型並設定 AWS 資源、快速一致地佈建資源,以及在整個生命週期中管理資源。您可以使用範本來描述您的資源及其相依性,並將它們一起啟動和設定為堆疊,而不是個別管理資源。

  • Amazon CloudWatch Events – Amazon CloudWatch Events 提供近乎即時的系統事件串流,說明 AWS 資源的變更。

  • AWS Lambda – AWS Lambda 是一種運算服務,支援執行程式碼,無需佈建或管理伺服器。

  • Amazon Redshift – Amazon Redshift 是雲端中全受管的 PB 級資料倉儲服務。

  • Amazon S3 – Amazon Simple Storage Service (Amazon S3) 是一種物件儲存服務。您可以使用 Amazon S3 隨時從 Web 任何地方存放和擷取任意資料量。 

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

Code

此模式包含下列附件:

  • RedshiftSSLEndpointsRequired.zip – 用於安全控制的 Lambda 程式碼。

  • RedshiftSSLEndpointsRequired.yml – 設定事件和 Lambda 函數的 CloudFormation 範本。

史詩

任務描述所需的技能

定義 S3 儲存貯體。

Amazon S3 主控台上,選擇或建立 S3 儲存貯體以託管 Lambda 程式碼 .zip 檔案。此 S3 儲存貯體必須與您要監控的 Amazon Redshift 叢集位於相同的 AWS 區域。S3 儲存貯體名稱全域唯一,且命名空間由所有 AWS 帳戶共用。S3 儲存貯體名稱不能包含正斜線。

雲端架構師

上傳 Lambda 程式碼。

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

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

啟動 AWS CloudFormation 範本。

在與 S3 儲存貯體相同的 AWS 區域中開啟 AWS CloudFormation 主控台,並部署連接的範本 RedshiftSSLEndpointsRequired.yml。如需部署 AWS CloudFormation 範本的詳細資訊,請參閱 CloudFormation 文件中的在 AWS CloudFormation 主控台上建立堆疊。 CloudFormation

雲端架構師

完成範本中的參數。

當您啟動範本時,系統會提示您輸入下列資訊:

  • S3 儲存貯體:指定您在第一個特徵中建立或選取的儲存貯體。這是您上傳連接的 Lambda 程式碼 (.zip 檔案) 的位置。

  • S3 金鑰:指定 S3 儲存貯體中 Lambda .zip 檔案的位置 S3(例如 filename.zip 或 control/filename.zip)。請勿包含正斜線。

  • 通知電子郵件:提供您要接收 Amazon SNS 通知的作用中電子郵件地址。

  • Lamba 記錄層級:指定 Lambda 函數的記錄層級和頻率。使用資訊記錄有關進度的詳細資訊訊息、仍允許部署繼續的錯誤事件錯誤,以及潛在有害情況的警告

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

確認訂閱。

當 CloudFormation 範本成功部署時,它會傳送訂閱電子郵件到您提供的電子郵件地址。您必須確認此電子郵件訂閱,才能開始接收違規通知。

雲端架構師

相關資源

附件

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