翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
セキュリティグループの ElastiCache クラスターをモニタリング
作成者:Susanne Kangnoh (AWS) と Archit Mathur (AWS)
概要
Amazon ElastiCache は、クラウド内のインメモリデータストアまたはキャッシュ環境を配信するための、高性能でスケーラブル、費用対効果の高いキャッシュソリューションを提供する Amazon Web Services (AWS) サービスです。スループットが高く、レイテンシーが低いメモリ内データストアからデータを取得します。この機能により、キャッシュ、セッションストア、ゲーム、地理空間サービス、リアルタイム分析、キューイングなどのリアルタイムユースケースによく利用されています。ElastiCache には Redis と Memcached データストアがあり、どちらもミリ秒未満の応答時間を実現します。
セキュリティグループは、インバウンドとアウトバウンドのトラフィックを制御することで、ElastiCache インスタンスの仮想ファイアウォールとして機能します。セキュリティグループは、サブネットレベルでなくインスタンスレベルで動作します。セキュリティグループごとに、インスタンスへのインバウンドトラフィックをコントロールするルールと、アウトバウンドトラフィックをコントロールする一連のルールを個別に追加します。許可ルールを指定できますが、拒否ルールは指定できません。
このパターンは、API コールをモニタリングし、CreateReplicationGroup、CreateCacheClusterModifyCacheCluster、および ModifyReplicationGroup オペレーションの Amazon CloudWatch Events でイベントを生成するセキュリティコントロールを提供します。このイベントは、Python スクリプトを実行する AWS Lambda 関数を呼び出します。この関数は、イベント JSON 入力からレプリケーショングループ ID を取得し、次のチェックを実行してセキュリティ違反がないかを判断します。
クラスターのセキュリティグループが Lambda 関数で設定されているセキュリティグループと一致するかを確認します。
クラスターのセキュリティグループが一致しない場合、関数は Amazon Simple Notification Service (Amazon SNS) 通知により、指定したメールアドレスに違反メッセージを送信します。
前提条件と制限
前提条件
アクティブな AWS アカウント。
提供される Lambda コードをアップロードする Amazon Simple Storage Service (Amazon S3) バケット。
違反の通知を受信するメールアドレス
すべての API ログにアクセスするための ElastiCache ロギングが有効になっています。
制約事項
この検出コントロールはリージョンレベルのコントロールであり、モニタリング AWS リージョン する各 にデプロイする必要があります。
コントロールは、仮想プライベートクラウド (VPC) で実行されているリプリケーショングループをサポートします。
アーキテクチャ
ワークフローアーキテクチャ

自動化とスケール
を使用している場合は AWS Organizations、AWS CloudFormation StackSets を使用して、モニタリングする複数のアカウントにこのテンプレートをデプロイできます。
ツール
AWS サービス
Amazon ElastiCache を使用すると、 で分散インメモリキャッシュ環境を簡単にセットアップ、管理、スケーリングできます AWS クラウド。このサービスは、高パフォーマンスでコスト効率に優れ、さらにサイズ変更も可能なインメモリキャッシュを提供しながら、分散キャッシュ環境のデプロイと管理に伴う複雑性を排除します。ElastiCache は Redis エンジンと Memcached エンジンの両方で動作します。
AWS CloudFormation は、 AWS リソースのモデル化とセットアップ、迅速かつ一貫したプロビジョニング、ライフサイクル全体にわたる管理に役立ちます。リソースを個別に管理する代わりに、テンプレートを使用してリソースとその依存関係を記述し、それらをスタックとしてまとめて起動して設定できます。複数の と にまたがるスタックを管理 AWS アカウント およびプロビジョニングできます AWS リージョン。
Amazon CloudWatch Events は、 AWS リソースの変更を記述するシステムイベントのほぼリアルタイムのストリームを提供します。CloudWatch Events は、運用上の変更が生じると同時にそれらを認識して対応し、環境に応答するためのメッセージを送信する、機能をアクティブ化する、変更を行う、および状態情報を収集することによって、必要に即した是正措置を講じます。
AWS Lambda は、サーバーのプロビジョニングや管理を行わずにコードの実行をサポートするコンピューティングサービスです。Lambda は必要に応じてコードを実行し、1 日あたり数個のリクエストから 1 秒あたり数千のリクエストまで自動的にスケールします。課金は実際に消費したコンピューティング時間に対してのみ発生します。コードが実行されていない場合、料金は発生しません。
「Amazon Simple Notification Service (Amazon SNS)」は、ウェブサーバーやメールアドレスを含む、パブリッシャーとクライアント間のメッセージの送信を調整し管理します。サブスクライバーは、サブスクライブしているトピックに対して発行されたすべてのメッセージを受信します。また、同じトピックのサブスクライバーはすべて同じメッセージを受信します。
コード
このパターンには、次の 2 つのファイルを含む添付ファイルが含まれます。
ElastiCacheAllowedSecurityGroup.zip
は、セキュリティコントロール (Lambda コード) を含む圧縮ファイルです。ElastiCacheAllowedSecurityGroup.yml
は、セキュリティコントロールをデプロイする CloudFormation テンプレートです。
これらのファイルの使用方法については、「エピック」セクションを参照してください。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
S3 バケットにコードをアップロードします。 | 新しい S3 バケットを作成するか、既存の S3 バケットを使用して、添付 | クラウドアーキテクト |
CloudFormation テンプレートをデプロイする。 | S3 バケット AWS リージョン と同じ で CloudFormation コンソールを開き、添付ファイルに提供されている | クラウドアーキテクト |
タスク | 説明 | 必要なスキル |
---|---|---|
S3 バケット名を入力します。 | 最初のエピックで作成または選択した S3 バケットの名前を入力します。この S3 バケットには Lambda コードの .zip ファイルが含まれており、CloudFormation テンプレートおよび評価されるリソース AWS リージョン と同じ にある必要があります。 | クラウドアーキテクト |
S3 キーを入力します。 | S3 バケット内の Lambda コードの.zip ファイルの場所を、先頭にスラッシュを付けずに指定します (例: | クラウドアーキテクト |
メールアドレスを入力します。 | 違反の通知を受信するメールアドレスを入力します。 | クラウドアーキテクト |
ログレベルを指定します。 | ログ記録レベルと詳細レベルを定義します。 | クラウドアーキテクト |
タスク | 説明 | 必要なスキル |
---|---|---|
メールサブスクリプションを確認します。 | CloudFormation テンプレートが正常にデプロイされると、指定した E メールアドレスにサブスクリプション E メールメッセージが送信されます。通知を受信するには、この E メールのサブスクリプションを確認する必要があります。 | クラウドアーキテクト |
関連リソース
AWS CloudFormation コンソールでのスタックの作成 (AWS CloudFormation ドキュメント)
Amazon VPCsと ElastiCache セキュリティ (Amazon ElastiCache ドキュメント)
添付ファイル
このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip」