アマゾン ウェブ サービス (AWS) のサービスのほとんどすべてには、ある時点で特定の AWS リージョンに起動できるリソースの数に対する制限が設けられています。AWS では、すべてのお客様に高可用性と信頼性を備えた堅牢なサービスを提供し、新しいお客様の請求に関する問題を最小限にするため、サービスの制限を設定しています。制限に対するサービスの使用率を追跡することは、使用されなくなったリソースを特定することや、事前にサービス制限の引き上げリクエストをする必要を把握することに役立ちます。

AWS は、お客様がサービスの制限に対する AWS リソースの使用率を事前に追跡できるように、AWS Limit Monitor ソリューションを提供しています。これは、リソースの使用率を積極的に追跡するのに必要なサービスを自動的にプロビジョニングし、サービス制限に近づいたときに通知を送信するリファレンス実装です。このソリューションは簡単にデプロイできます。また、このソリューションは、AWS Trusted Advisor のサービス制限チェックを利用して、AWS の特定のサービスに関する使用率とサービス制限を表示します。AWS Limit Monitor を使用すると、E メール通知を受信することや、既存の Slack チャネルに通知を送信することができます。これにより、サービス制限の引き上げをリクエストすることや、サービス制限に達する前にリソースをシャットダウンすることが可能になります。

このウェブページでは、サービスの制限を管理する際に考慮すべきベストプラクティスとガイダンスを提供し、AWS Limit Monitor ソリューションの概要について説明します。


AWS クラウドでインフラストラクチャを運用する場合、アカウント内に起動されたリソースの数を動的に把握しておく必要があります。サービス使用率のモニタリングによって、使用されなくなったリソースを特定できます。このことを念頭に置きつつ、以下の AWS ベストプラクティスについて検討してください。

  • アカウントのサービス使用率を最小化するため、必要な AWS リソースのみを起動します。アカウント内のリソース数を最低限にすることで、意図しないサービス制限の超過を避けられます。
  • 使用率を制限しきい値以下にしておくため、リソース使用率を定期的に監査し、使用されていないリソースを終了します。
  • 制限値に対するサービス使用率のモニタリングを自動化します。制限の到達前に通知を送る自動アクションのほうが、手動プロセスより信頼できます。
  • サービス制限の引き上げ方法について理解しておきます。サービス制限の一部は AWS で履歴を作成すると自動的に引き上げられますが、AWS のほとんどのサービスでは、制限の引き上げを手動でリクエストする必要があります。

AWS には、制限に対するサービスの使用率を自動的にチェックし、使用率がサービス制限に近づくと E メール通知または Slack 通知を送信するソリューションが用意されています。下の図は AWS Limit Monitor のアーキテクチャを示しています。ソリューションの実装ガイドと付属の AWS CloudFormation テンプレートを使用すれば、数分でデプロイできます。

  1. このソリューションは、AWS Lambda を使用して AWS Trusted Advisor のサービス制限チェックを自動的に更新し、API コールで使用率と制限に関する最新のデータを取得します。
  2. Trusted Advisor では、サービス制限に対する使用率を計算し、そのステータスが、OK (使用率 80% 未満)、WARN (使用率 80%~99%)、ERROR (使用率 100%) のどれなのかを判断します。 
  3. Amazon CloudWatch Events は、Trusted Advisor からステータスイベントをキャプチャし、さらに、Amazon Simple Queue Service (Amazon SQS) キュー、Amazon Simple Notification Service (Amazon SNS) トピック (オプション)、Slack 通知の Lambda 関数 (オプション) のいずれかのソリューションを最初にデプロイしたときにお客様が選択した各ターゲットに対し、CloudWatch Events のルールセットを使用してステータスイベントを送信します。
  4. 初回デプロイ時に Slack 通知を有効にした場合、このソリューションによって、既存の Slack チャネルに通知を送信する Lambda 関数が起動されます。 
ソリューションをデプロイする
実装ガイド

ダウンロード: ソースコード | 実装ガイド

以下の内容を実行します。

AWS CloudFormation を使用して AWS Limit Monitor をデプロイする。サービスの制限に対する AWS リソースの使用率を事前に追跡しておき、制限に近づいたときには E メール通知または Slack 通知を送るために必要なコンポーネントが、CloudFormation テンプレートによって自動的に起動され、設定されます。

サービスの制限が近づいたときにE メール通知または Slack 通知が自動的に届く。使用率がサービスの制限の 80% を超えると、AWS Limit Monitor によってメッセージが Slack チャネルまたは Amazon Simple Notification Service トピックに発行され、指定した E メールアドレスに送信されます。

開始する前に以下の準備が必要です。

AWS アカウント: リソースのプロビジョニングを開始するには、AWS アカウントが必要です。AWS にサインアップする

プレミアムサポート: Trusted Advisor に含まれるサービス制限に対する使用率をモニタリングする場合、AWS Support API にアクセスするために、各アカウントにビジネスまたはエンタープライズレベルの AWS サポートプランが必要です。

スキルレベル: このソリューションは、AWS クラウドでのアーキテクチャ設計に関する実経験がある IT インフラストラクチャおよびネットワーキングのプロフェッショナルを対象としています。

Q: サービス制限に対する使用率の追跡が必要なのはなぜですか?

AWS のサービス制限に対する使用率を追跡することで、設定された制限が近づいたかどうかがわかり、制限を超過する前に事前にサービス制限の引き上げをリクエストできます。

Q: AWS Limit Monitor で複数アカウントの制限をチェックできますか?

はい。このソリューションには、セカンダリアカウントによるリソース使用率をモニタリングし、サービス制限に近づいたときに通知を送信できるようにするために、セカンダリアカウントでデプロイ可能なスポークテンプレートが用意されています。

Q: モニタリングするサービスを指定できますか?

はい。デフォルトでは、このソリューションは Trusted Advisor によってチェックされるすべてのサービスの制限をチェックします。ただし、プライマリアカウントおよびセカンダリアカウントのいずれについても、チェックしたいサービスの制限をお客様が指定できます。詳細については、実装ガイドを参照してください。

Q: AWS Limit Monitor を使用するにはプレミアムサポートが必要ですか?

このソリューションを使用するには、各アカウントにビジネスレベルまたはエンタープライズレベルのAWS サポートプランが設定されている必要があります。

Q: AWS Limit Monitor はどの AWS リージョンにもデプロイできますか?

米国東部 (バージニア北部) のリージョンでは、このソリューションの AWS CloudFormation テンプレートを起動する必要があります。ただし、1 度デプロイすれば、このソリューションによって、アカウントのすべてのリージョンにおけるサービスの制限をモニタリングできます。

AWS の利用を開始するためにさらにリソースが必要ですか。AWS クラウドの開始方法にアクセスして、AWS を開始するためのチュートリアル、プロジェクト、ビデオをご確認ください。

ご意見をお寄せください