Windows サーバー上の IIS でのウェブサーバーメトリクスキャプチャ - AWS Elastic Beanstalk

Windows サーバー上の IIS でのウェブサーバーメトリクスキャプチャ

Windows Server プラットフォームでは、Elastic Beanstalk は IIS ウェブサーバーのリクエストパイプラインにモジュールを追加し、HTTP リクエスト時間と応答コードに関するメトリクスを取得します。モジュールは、高性能のプロセス間通信 (IPC) チャネルを使用して、これらのメトリクスをインスタンス上のヘルスエージェントに送信します。ヘルスエージェントは、これらのメトリクスを集計し、オペレーティングシステムメトリクスと組み合わせて、Elastic Beanstalk サービスに送信します。

実装の詳細

IIS からメトリクスを取得するために、Elastic Beanstalk はマネージド型 IHttpModule を実装して、BeginRequest および EndRequest イベントをサブスクライブします。これにより、モジュールのレイテンシーと応答コード HTTP リクエストを報告するウェブリクエストはすべて IIS によって処理されます。モジュールを IIS のリクエストパイプラインに追加するために、Elastic Beanstalk は IIS の設定ファイル、%windir%\System32\inetsrv\config\applicationHost.config<modules> セクションにモジュールを登録します。

IIS の Elastic Beanstalk モジュールは、キャプチャされたウェブリクエストモジュールメトリクスを、HealthD という名前の Windows サービスであるインスタンス上のヘルスエージェントに送信します。このデータを送信するために、モジュールは NetNamedPipeBinding を使用します。これは、マシン上の通信に最適化された安全で信頼性の高いバインディングを提供します。