内容
Direct ConnectのステータスやAWS~オンプレミス間の監視方法についていくつかのパターンを記載します。環境はホスト接続でTransit VIFを払い出してTransit Gatewayに接続したパターンを想定して記載します。なお、通信監視についてはオンプレミス側や回線側で提供されるサービスも使用可能であるため全てをAWS側から実施する必要はない場合がありますが、AWS側からどのようなことが出来るかといった観点で記載をします。
CloudWatchのメトリクスを使用
CloudWatchでDirect Connectに関するメトリクスがいくつか提供されており、ConnectionStateメトリクスを使用することで接続の状態を取得することが可能です。しかし接続状態については中継ルータとAWSルータ間の物理的なステータスとなるため、オンプレミス側のルータがダウンした状態でもConnectionStateは1(アップ)となります。
VIFのステータス取得
上記CloudWatchメトリクスではVIFのステータスを取得するメトリクスは提供されていませんが、AWS CLIのdescribe-virtual-interfacesでVIFステータスを取得することは可能です。LambdaからAWS CLIのコマンドを実行し取得結果をCloudWatchのカスタムメトリクスに取得。カスタムメトリクスにCloudWatchアラームを設定することで監視が可能です。
Network Synthetic Monitorを使用した外形監視
上記でVIFのステータスは取得出来ますが、AWS~オンプレミス間が実際に通信可能であるかの確認までは行うことが出来ません。この間の通信はNetwork Synthetic Monitorを使用することで通信状態を監視することが可能です。
どのような仕組みかというと、まずネットワークモニターというものを作成します。作成の際、ネットワークモニターを設置するサブネットと監視先対象のIPアドレス(この図だとオンプレミスのルータのIPアドレス)を指定します。すると、指定したサブネットに内部的にネットワークモニター(監視サーバの様なコンポーネント)が作成され、ネットワークモニターから指定したオンプレミスのルータに対して監視を行ってくれます。
下記の様にパケット損失やTTLなどの値が取得されます。この値はCloudWatchメトリクスからも参照可能なため、パケット損失のメトリクスにCloudwatchアラームを設定すれば通信状態の監視が可能です。マネージドサービスのためお手軽に導入は可能ですが、少し料金が高めです。
EC2を使用した監視
オンプレミス環境と疎通可能なEC2がある場合、低コストで利用出来る方法です。仕組みはpingなどを利用した疎通確認用のスクリプトを作成してEC2からcronなどで定期的に実行。取得した値をVPCエンドポイント経由でCloudWatchのカスタムメトリクスに送信。カスタムメトリクスにCloudWatchアラームを設定するといった方法です。元々あるEC2とVPCエンドポイントを利用すれば、ほとんど料金の追加なく導入が可能です。