アーキテクチャの概要
このセクションでは、このソリューションでデプロイされるコンポーネントのリファレンス実装アーキテクチャ図を示します。
アーキテクチャ図
このソリューションをデフォルトのパラメータを使用してデプロイすると、AWS アカウントに次のコンポーネントがデプロイされます。
AWS のクォータモニタには、モニタリングアカウントにデプロイするハブテンプレートが含まれています。さらに、このソリューションでは、Service Quotas スポークテンプレートと Trusted Advisor スポークテンプレートが提供されます。これらのテンプレートは、クォータモニタリングが必要なアカウントにそれぞれデプロイする必要があります。アカウントに Trusted Advisor サービスを含むサポートプランがない場合、ソリューションは Trusted Advisor スポークテンプレートをデプロイしません。
これらのテンプレートの使用方法と 2 つの補足テンプレートの詳細については、「デプロイシナリオを選択する」を参照してください。
ハブテンプレートは、次のワークフローを起動します。
-
レポート – このワークフローは、Amazon SNS
トピック、Amazon Simple Queue Service (Amazon SQS) キュー、AWS Lambda 関数サマライザー、および Amazon DynamoDB テーブルをプロビジョニングします。キューは、すべてのモニタリング対象アカウントから使用量イベントを受け取ります。Lambda 関数は、すべての使用状況データを DynamoDB テーブルに格納します。 -
一元化されたイベント収集 – このワークフローでは、Amazon EventBridge
のカスタムバス、対応するルール、およびアラートを発生させる Amazon SNS トピックをプロビジョニングします。このワークフローでは、クォータの使用状況に関するアラートを発生させ、アラートレベルを次のように定義します。 -
OK (使用率 80% 未満)
-
WARN (使用率 80%~99%)
-
ERROR (使用率 100%)
AWS Systems Manager
Parameter Store の通知設定を使用して特定のサービスまたはクォータを除外することで、アラートをフィルタリングできます。ワークフローはまた、DynamoDB に使用状況データを保存するために、すべてのイベントをレポートキューに送信します。
-
-
デプロイ管理 – このワークフローでは、パラメータストア、Amazon EventBridge
ルール、Lambda 関数、および CloudFormation StackSets をプロビジョニングします。ワークフローは以下を管理します。 -
一元化された EventBridge バスに対するアクセス許可を管理して、モニタリング対象アカウントが使用状況イベントを EventBridge バスに送信できるようにします。
-
ソリューションが組織 (または OU) にデプロイされたときに、StackSets を使用してモニタリング対象アカウントにスポークテンプレートをデプロイします。
注記
Systems Manager パラメータ値を OU ID またはアカウント ID で更新すると、ワークフローは、更新された OU またはアカウントのリストのモニタリングを開始するために必要な設定変更を行います。
-
Service Quotas スポークテンプレートは、以下のワークフローを起動します。
-
クォータリストの生成 – このワークフローでは、Lambda 関数と 2 つの DynamoDB テーブルをプロビジョニングします。ワークフローは、CloudWatch メトリクスを使用した使用状況のモニタリングをサポートする Service Quotas のアクティブで検証済みのリストを管理します。
-
クォータ使用状況アラート — このワークフローでは、スケジュールベースの Lambda 関数、EventBridge のカスタムバス、および Amazon EventBridge
ルールをプロビジョニングします。 CW Poller関数は、クォータリスト表をクエリし、CloudWatch メトリクスからそれらのクォータの使用状況データを取得します。ワークフローは、使用状況データをイベントとして EventBridge バスに送信します。スポークバスは、これらの使用イベントを集中バスとスポーク SNS バス (提供されている場合) の両方にルーティングします。
スポーク SNS テンプレートは、次のワークフローを起動します。
-
スポークアカウント通知 – このワークフローでは、スポークアカウントの通知リソースをプロビジョニングして、通知を分散させます。具体的には、SNS パブリッシャー Lambda 関数にメッセージをルーティングするルールを使用して EventBridge バスをプロビジョニングします。この関数は、SSM パラメータストアの通知ミュートパラメータを介して設定された通知ミュートルールを適用します。次に、Lambda 関数は関連するイベントをスポークアカウントの SNS トピックに発行します。
Trusted Advisor スポークテンプレートは、以下のワークフローを起動します。
-
Trust Advisor のアラート – このワークフローでは、Trusted Advisor を使用したクォータ使用状況モニタリングをサポートするために、Lambda 関数と Amazon EventBridge
ルールをプロビジョニングします。Lambda 関数は 24 時間の間隔で実行され、Trusted Advisor のチェックをリフレッシュします。イベントルールは、Trusted Advisor の使用状況イベントを集中バスにルーティングします。 注記
AWS CloudFormation のリソースは、AWS Cloud Development Kit
(AWS CDK) のコンポーネントで作成されています。