アプリケーションとサービスの可用性のモニタリング - AWS 規範的ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アプリケーションとサービスの可用性のモニタリング

CloudWatch は、アプリケーションとワークロードのパフォーマンスとランタイムの側面をモニタリングおよび分析するのに役立ちます。また、アプリケーションとワークロードの可用性と到達可能性についてもモニタリングする必要があります。これは、Amazon Route 53 ヘルスチェック そして CloudWatch Synthetics でアクティブモニタリングアプローチを使用することができます。

Route 53 ヘルスチェックは、HTTP または HTTPS 経由でウェブページへの接続を監視する場合や、パブリックドメインネームシステム (DNS) 名または IP アドレスへの TCP 経由のネットワーク接続を監視する場合に使用できます。Route 53 ヘルスチェックは、10 秒または 30 秒間隔で指定したリージョンからの接続を開始します。ヘルスチェックを実行する複数のリージョンを選択でき、各ヘルスチェックは個別に実行され、少なくとも 3 つのリージョンを選択する必要があります。ヘルスチェック評価のために返された最初の 5,120 バイトのデータに HTTP または HTTPS リクエストのレスポンス本文を検索して、特定の部分文字列を検索できます。HTTP または HTTPS リクエストは、2xx または 3xx 応答を返せば、正常と見なされます。Route 53 ヘルスチェックを使用して、他のヘルスチェックの健全性をチェックして、複合ヘルスチェックを作成できます。これは、複数のサービスエンドポイントがあり、そのうちの 1 つが異常になったときに同じ通知を実行したい場合に実行できます。DNS に Route 53 を使用する場合は、Route 53 を 別の DNS エントリにフェールオーバーし、ヘルスチェックが異常になった場合に設定できます。重要なワークロードごとに、通常の操作で重要な外部エンドポイントに対して Route 53 ヘルスチェックを設定することを検討する必要があります。Route 53 ヘルスチェックは、アプリケーションにフェールオーバーロジックを書き込むのを防ぐのに役立ちます。

CloudWatch シンセティックスを使用すると、ワークロードの健全性と可用性を評価するスクリプトとして canary を定義できます。Canaries は、Node.js または Python で記述され、HTTP または HTTPS プロトコルで動作するスクリプトです。Node.js または Python をフレームワークとして使用する Lambda 関数をアカウント内に作成します。定義する各 canary は、異なるエンドポイントに対して複数の HTTP または HTTPS 呼び出しを実行できます。つまり、ユースケースやダウンストリームの依存関係を持つエンドポイントなど、一連のステップの正常性をモニタリングできます。Canaries CloudWatch 実行された各ステップを含むメトリクスを作成し、異なるステップを個別にアラームおよび測定できるようにします。カナリアは、Route 53 ヘルスチェックよりも多くの計画と労力を必要とするが、高度にカスタマイズ可能なモニタリングと評価アプローチを提供します。Canaries は、仮想プライベートクラウド(VPC)内で実行されるプライベートリソースもサポートしているため、エンドポイントのパブリック IP アドレスがない場合の可用性の監視に最適です。また、VPC 内からエンドポイントへの接続がある限り、Canaries を使用してオンプレミスのワークロードを監視することもできます。これは、オンプレミスに存在するエンドポイントを含むワークロードがある場合に特に重要です。