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

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

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


AWS クラウドでインフラストラクチャを実行するときは、アカウント内で起動されているリソースの数を常に把握しておきます。サービス使用率のモニタリングは、使用されなくなったリソースの特定に役立ちます。この点を念頭に置いて、以下の 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 からステータスイベントをキャプチャし、CloudWatch Events のルール一式を使用してソリューションの初期デプロイメント中に選択したすべてのターゲットにステータスイベントを送信します。ターゲットには、Amazon Simple Queue Service (Amazon SQS) のキュー、Amazon Simple Notification Service (Amazon SNS) のトピック (オプション)、または Slack 通知用の Lambda 関数 (オプション) があります。
  4. 初期デプロイメント中に Slack 通知を有効化した場合、ソリューションは既存の Slack チャネルに通知を送信する Lambda 関数を実行します。  
ソリューションをデプロイする
実装ガイド

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

達成内容:

AWS CloudFormation を使用して AWS Limit Monitor をデプロイする。CloudFormation テンプレートは、サービスの制限に照らし合わせて AWS のリソースの使用率を積極的に追跡し、上限に近づいたときに E メールまたは Slack 通知を送信するために必要なコンポーネントを自動的に起動し、設定します。

サービスの上限が近づいたときに、自動的に 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 を開始するためのチュートリアル、プロジェクト、動画をご確認ください。

ご意見をお寄せください