驗證新的 Amazon Redshift 叢集是否在 中啟動 VPC - AWS 方案指引

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

驗證新的 Amazon Redshift 叢集是否在 中啟動 VPC

由 Priyanka Chaudhary 建立 (AWS)

環境:生產

技術:安全、身分、合規;分析;資料庫

AWS 服務:Amazon CloudWatch;AWSLambda;Amazon Redshift

Summary

此模式提供 Amazon Web Services (AWS) CloudFormation 範本,當 Amazon Redshift 叢集在虛擬私有雲端 () 外部啟動時,該範本會自動通知您VPC。

Amazon Redshift 是完全受管的 PB 級雲端資料倉儲產品。它專為大規模資料集儲存和分析而設計。它也用於執行大規模資料庫遷移。Amazon Virtual Private Cloud (Amazon VPC) 可讓您佈建 AWS雲端的邏輯隔離區段,您可以在您定義的虛擬網路中啟動AWS資源,例如 Amazon Redshift 叢集。

此模式提供的安全控制項會監控AWS CloudTrail 日誌中的 Amazon Redshift API呼叫,並為 CreateCluster和 啟動 Amazon CloudWatch Events RestoreFromClusterSnapshot 事件APIs。當事件偵測到其中一個 時APIs,它會呼叫執行 Python 指令碼的 AWS Lambda。Python 函數會分析 CloudWatch 事件。如果從快照建立或還原 Amazon Redshift 叢集,且出現在 Amazon VPC 網路外部,則函數會傳送 Amazon Simple Notification Service (AmazonSNS) 通知給使用者,其中包含此資訊:適用於 Lambda 的 Amazon Redshift 叢集名稱、AWS區域、AWS帳戶和 Amazon Resource Name (ARN),通知來源為 Lambda。 

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶。

  • VPC 具有叢集子網路群組和關聯安全群組的 。

限制

  • AWS CloudFormation 範本僅支援 CreateClusterRestoreFromClusterSnapshot動作 (新叢集)。它不會偵測在 外部建立的現有 Amazon Redshift 叢集VPC。

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

架構

目標架構

驗證新的 Amazon Redshift 叢集是否在 中啟動 VPC

自動化和擴展

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

工具

AWS 服務

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

  • AWS CloudTrail – AWS CloudTrail 可協助您實作AWS帳戶的管理、合規以及操作和風險稽核。使用者、角色AWS或服務所採取的動作會在 中記錄為事件 CloudTrail。

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

  • AWS Lambda – AWS Lambda 是一種運算服務,支援執行中的程式碼,無需佈建或管理伺服器。AWS Lambda 只會在需要時執行程式碼,並自動擴展,從每天的幾個請求擴展到每秒數千個請求。

  • Amazon Redshift – Amazon Redshift 是雲端中完全受管的 PB 級資料倉儲服務。Amazon Redshift 已與您的資料湖整合,可讓您使用資料為您的企業和客戶取得新的洞見。

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

  • Amazon SNS – Amazon Simple Notification Service (Amazon SNS) 會協調和管理發佈者和用戶端之間的訊息傳遞或傳送,包括 Web 伺服器和電子郵件地址。

Code

此模式包含下列附件:

  • RedshiftMustBeInVPC.zip – 安全控制的 Lambda 程式碼。

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

若要使用這些檔案,請遵循下一節中的指示。

史詩

任務描述所需的技能
定義 S3 儲存貯體。

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

雲端架構師
上傳 Lambda 程式碼。

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

雲端架構師
任務描述所需的技能
啟動 CloudFormation 範本。

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

雲端架構師
完成範本中的參數。

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

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

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

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

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

雲端架構師
任務描述所需的技能
確認訂閱。

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

雲端架構師

相關資源

附件

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