監控安全群組的 ElastiCache 叢集 - AWS 方案指引

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

監控安全群組的 ElastiCache 叢集

由蘇珊·康諾(AWS)和阿基特·馬圖爾(AWS)創建

環境:生產

技術:安全,身份,合規性; 數據庫; 基礎設施; CloudNative

AWS 服務:Amazon SNS; AWS CloudTrail; Amazon CloudWatch; Amazon ElastiCache

Summary

Amazon ElastiCache 是 Amazon Web Services (AWS) 服務,提供高效能、可擴展且具成本效益的快取解決方案,可在雲端中分發記憶體內資料存放區或快取環境。它會從高輸送量和低延遲的記憶體內資料存放區擷取資料。此功能使其成為即時使用案例的熱門選擇,例如快取、工作階段存放區、遊戲、地理空間服務、即時分析和佇列。 ElastiCache 提供 Redis 和 Memcached 的資料存放區,這兩者都提供低於一毫秒的回應時間。

安全群組會控制輸入和輸出流量,做為 ElastiCache 執行個體的虛擬防火牆。安全群組會在執行個體層級運作,而非子網路層級。對於每個安全性群組,您可以新增一組規則來控制執行個體的輸入流量,以及控制輸出流量的單獨規則集。您可以指定允許規則,但不能指定拒絕規則。

此模式提供安全控制,可監控 API 呼叫,並在 Amazon E CloudWatch vents 中產生CreateReplicationGroupCreateCacheClusterModifyCacheCluster、和ModifyReplicationGroup操作上的事件。這個事件調用一個 AWS Lambda 函數,它運行一個 Python 腳本。函數會從事件 JSON 輸入取得複寫群組識別碼,並執行下列檢查以判斷是否有安全性違規:

  • 檢查叢集的安全性群組是否與 Lambda 函數中設定的安全群組相符。

  • 如果叢集的安全群組不相符,此功能會使用 Amazon Simple Notification Service (Amazon SNS),將違規訊息傳送到您提供的電子郵件地址。

先決條件和限制

先決條件

  • 一個活躍的 AWS 帳戶。

  • 一個 Amazon Simple Storage Service (Amazon S3) 存儲桶,用於上傳提供的 Lambda 代碼。

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

  • ElastiCache 啟用日誌記錄,以訪問所有 API 日誌。

限制

  • 這個偵探控制是區域性的,必須部署在您要監視 AWS 區域 的每個控制項中。

  • 此控制項支援在虛擬私有雲端 (VPC) 中執行的複寫群組。

架構

工作流架構

監視安全群組 ElastiCache 叢集的工作流程。

自動化和規模

工具

AWS 服務

  • Amazon 可 ElastiCache讓您輕鬆地在中設定、管理和擴展分散式記憶體內快取環境。 AWS 雲端它提供高效能、可調整大小且符合成本效益的記憶體內快取,同時消除與部署和管理分散式快取環境相關的複雜性。 ElastiCache 適用於 Redis 和內存緩存引擎。

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

  • Amazon E CloudWatch vents 提供近乎即時的系統事件串流,用於描述 AWS 資源變更。 CloudWatch 事件會在發生作業變更時瞭解作業變更,並視需要採取更正動作,方法是傳送訊息以回應環境、啟動功能、進行變更,以及擷取狀態資訊。

  • AWS Lambda是一種運算服務,支援執行程式碼,無須佈建或管理伺服器。Lambda 只會在需要時執行您的程式碼,並自動從每天幾個請求擴展到每秒數千個請求。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。 

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

Code

該模式包括一個包含兩個文件的附件:

  • ElastiCacheAllowedSecurityGroup.zip是包含安全控制 (Lambda 程式碼) 的壓縮檔案。

  • ElastiCacheAllowedSecurityGroup.yml是部署安全控制的 CloudFormation 範本。

有關如何使用這些文件的信息,請參見 Epics 部分。

史诗

任務描述所需技能

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

建立新的 S3 儲存貯體,或使用現有的 S3 儲存貯體上傳附加的ElastiCacheAllowedSecurityGroup.zip檔案 (Lambda 程式碼)。此值區必須與 AWS 區域 您要評估的資源相同。

雲端架構師

部署 CloudFormation 範本。

開啟與 S3 儲存貯體 AWS 區域 相同的 CloudFormation 主控台,然後部署附件中提供的ElastiCacheAllowedSecurityControl.yml檔案。在下一個史詩中,提供模板參數的值。

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

提供 S3 儲存貯體名稱。

輸入您在第一個史詩中建立或選取的 S3 儲存貯體的名稱。此 S3 儲存貯體包含 Lambda 程式碼的 .zip 檔案,且必須與 CloudFormation 範本和將 AWS 區域 要評估的資源位於相同的檔案中。 

雲端架構師

提供 S3 金鑰。

在 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,而不需要前導斜線 (例如,ElasticCacheAllowedSecurityGroup.zipcontrols/ElasticCacheAllowedSecurityGroup.zip)。

雲端架構師

提供電子郵件地址。

提供您要接收違規通知的作用中電子郵件地址。

雲端架構師

指定記錄日誌層級。

指定記錄日誌層級和詳細資訊。 Info指定應用程式進度的詳細資訊訊息,應該只用於偵錯。 Error指定仍然允許應用程式繼續執行的錯誤事件。 Warning指定潛在的有害情況。

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

確認電子郵件訂閱。

成功部署 CloudFormation 範本後,會將訂閱電子郵件訊息傳送至您提供的電子郵件地址。若要接收通知,您必須確認此電子郵件訂閱。

雲端架構師

相關資源

附件

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