MENU
category

Direct Connectの通信量アラームはどのリージョンに作る?CloudWatchとEventBridgeの配置

AWS Direct Connectの通信量をCloudWatchアラームで監視するときは、アラームを作るリージョンに注意が必要です。Direct Connectは複数リージョンへの接続に使えますが、接続にはDirect Connectロケーションに関連付けられたリージョンがあります。

CloudWatchアラームは、対象のDirect Connectメトリクスが存在するリージョンに作成します。アラームの状態変化をEventBridgeで処理する場合、最初のEventBridgeルールも同じリージョンに置きます。

目次

結論:接続画面に表示されるリージョンを基準にする

リソース 配置先
Direct ConnectのCloudWatchアラーム 接続に表示されるリージョン
アラーム状態変化を受けるEventBridgeルール CloudWatchアラームと同じリージョン
通知用Lambda・SNS 同一リージョン、またはEventBridgeで転送した集約先リージョン

通信先のVPCやTransit Gatewayがあるリージョンから推測せず、Direct Connectコンソールの接続詳細と、CloudWatchに実際のメトリクスが表示されるリージョンを確認します。

Direct Connectロケーションとリージョンの関係

Direct Connectロケーションには関連付けられたAWSリージョンがあります。Direct Connect GatewayやパブリックVIFを使うと別リージョンへアクセスできますが、それによって接続メトリクスのリージョンが通信先へ移るわけではありません。

CloudWatchのクロスリージョンダッシュボードでは複数リージョンのメトリクスを一画面に表示できます。一方、通常のCloudWatchアラームは別リージョンのメトリクスを直接監視できません。表示場所とアラーム作成場所を混同しないことが重要です。

通信量監視で使うメトリクス

メトリクス 確認できること
ConnectionBpsEgress AWS側から外向きのビットレート
ConnectionBpsIngress AWS側へ入るビットレート
ConnectionPpsEgress / Ingress 送受信パケットレート
ConnectionState 接続状態。1がup、0がdown
ConnectionErrorCount MACレベルのエラー数
VirtualInterfaceBpsEgress / Ingress VIF単位の送受信ビットレート
VirtualInterfaceBgpStatus BGPピアの状態。1がup、0がdown

IngressとEgressはAWS側から見た方向です。オンプレミス側の送受信表現と逆に見える場合があるため、アラーム名にも「AWS側Ingress」など方向を明記すると誤解を防げます。

評価期間と欠損データも決める

Direct Connectのメトリクスは既定で5分間隔に集約されます。1分間隔を指定できるメトリクスもありますが、常に5分未満で更新されるとは限りません。

帯域監視では、回線速度に対する割合を基準にし、次を決めます。

  • AverageとMaximumのどちらを使うか
  • 1分または5分の期間
  • 連続何回の超過でALARMにするか
  • 欠損データをnotBreaching、breaching、missingのどれとして扱うか
  • IngressとEgressを別々に通知するか

例えば1Gbps回線で、平均800Mbps超が3期間続いたときに通知する、といった条件にします。一時的なバーストと継続的な逼迫を分けたい場合は、70%を警告、85%を重大とする二段階監視も有効です。

EventBridgeでアラーム状態変化を受ける

CloudWatchアラームと同じリージョンにEventBridgeルールを作ります。特定アラームがALARMへ変化したイベントは、次のようなパターンで絞り込めます。

{
  "source": ["aws.cloudwatch"],
  "detail-type": ["CloudWatch Alarm State Change"],
  "detail": {
    "alarmName": ["dx-connection-ingress-high"],
    "state": { "value": ["ALARM"] }
  }
}

ターゲットにはSNS、Lambda、SQSなどを指定できます。復旧通知も必要なら、OKへの状態変化も受信します。

別リージョンのLambdaへ通知を集約する方法

通知処理を別リージョンにまとめたい場合は、アラームのリージョンから集約先リージョンのEventBridgeイベントバスへ転送します。

  1. Direct Connect接続の関連リージョンにCloudWatchアラームを作る。
  2. 同じリージョンに状態変化を受けるEventBridgeルールを作る。
  3. ターゲットとして集約先リージョンのイベントバスARNを指定する。
  4. 集約先で受信用ルールを作り、LambdaやSNSを呼び出す。

送信側ルールのIAMロール、受信側イベントバスの権限、再試行、デッドレターキューも確認します。

冗長接続ではリンク状態と帯域を組み合わせる

複数のDirect Connect接続が別ロケーションや別リージョンに関連付けられている場合、各リージョンにアラームと送信側EventBridgeルールを配置します。通知は中央リージョンへ集約できます。

一方の接続へフェイルオーバーすると、残った接続の帯域が逼迫することがあります。そのため、ConnectionStateだけでなく、通信量、ConnectionErrorCount、VirtualInterfaceBgpStatusも組み合わせて監視します。

設定後の確認項目

  • 接続に表示されるリージョンとCloudWatchの選択リージョンが一致している
  • Connection IDまたはVirtual Interface IDのディメンションが正しい
  • IngressとEgressをAWS側の視点で読み違えていない
  • ALARMとOKの両方が通知先まで届く
  • 別リージョン転送の失敗を検知できる
  • 冗長接続の両方に監視が設定されている

まとめ

Direct Connectの通信量アラームは、Direct Connectロケーションに関連付けられ、接続画面に表示されるリージョンへ作成します。アラーム状態変化を受ける最初のEventBridgeルールも同じリージョンです。

通知処理を別リージョンへ集約したい場合は、EventBridgeのリージョン間転送を使います。通信量に加えてリンク状態、エラー数、VIFのBGP状態も監視すると、障害と帯域逼迫を切り分けやすくなります。

参考資料

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次