Direct Connect のレイヤー 3 の問題をトラブルシューティングする方法を教えてください。
レイヤー 3 の問題が原因で AWS Direct Connect 接続がダウンした場合のトラブルシューティングを行いたいと考えています。
解決策
注: レイヤー 1 の問題については、「How do I troubleshoot layer 1 issues in Direct Connect?」(Direct Connect のレイヤー 1 の問題をトラブルシューティングする方法を教えてください) を参照してください。レイヤー 2 の問題については、「How do I troubleshoot layer 2 issues in Direct Connect?」(Direct Connect のレイヤー 2 の問題をトラブルシューティングする方法を教えてください) を参照してください。
AWS Health Dashboard でメンテナンスアクティビティを確認する
Direct Connect 接続は、数分から数時間続く可能性がある進行中の AWS メンテナンスが原因で DOWN になることがあります。メンテナンス中、ボーダーゲートウェイプロトコル (BGP) 接続は Idle 状態に移行します。
Direct Connect 接続に影響する可能性のある進行中または最近完了した AWS メンテナンスについては、AWS Health Dashboard の [イベント] セクションを確認してください。
重要なメトリクスの通知を設定して、すぐにアラートを受け取れるようにします。
BGP 設定を確認する
仮想インターフェイスが Available 状態でも BGP 接続を確立できない場合は、次の操作を行います。
- ローカルの BGP AS 番号 (ASN) と AWS ASN の設定に問題がないか確認します。
- BGP ピアリングセッションの両側のピア IP アドレスに設定上の問題がないか確認します。
- MD5 認証キーを、ダウンロードしたルーター設定ファイルのキーと一致するように設定します。キーに余分なスペースや文字が含まれていないことを確認してください。
- プライベート仮想インターフェイスには 100 個を超えるプレフィックス、パブリック仮想インターフェイスには 1,000 個を超えるプレフィックスをアドバタイズしないでください。<br id=hardline_break/> 注: これらのクォータを変更したり、超えたりすることはできません。
- TCP ポート 179 または番号の大きいエフェメラル TCP ポートをブロックするファイアウォールまたはネットワークアクセスコントロールリスト (ネットワーク ACL) ルールを無効にします。<br id=hardline_break/> 注: これらのポートは、BGP がピア間の TCP 接続を確立するために必要です。
- BGP ログにエラーや警告メッセージがないか確認してください。
上記の手順で BGP の問題が解決しない場合は、次のアクションを実行してください。
- ゲートウェイで BGP が正しく設定されていることを確認します。
- BGP ピア IP アドレス間で ping テストを行います。
- ゲートウェイデバイスから BGP ピア IP アドレス間のトラフィックのパケットキャプチャを収集します。
BGP 状態のトラブルシューティング
BGP を正しく設定してもレイヤー 3 の問題が解決しない場合は、BGP 状態に関するトラブルシューティングを行います。
注: Idle 状態は、BGP が開始イベントを待つ最初の状態です。開始イベントは、新しい BGP ネイバーを設定したとき、または確立された BGP ピアリングをリセットしたときに発生します。BGP はリソースを初期化し、ConnectRetry タイマーをリセットしてから、リモート BGP ネイバーへの TCP 接続を開始します。
Connect 状態
Connect 状態の間、BGP は TCP 3 ウェイハンドシェイクが完了するまで待機します。ハンドシェイクが成功すると、接続は OpenSent 状態に移行します。
正常な接続の例:
2021-07-04 22:50:20 169.254.60.146 169.254.60.145 TCP 74 34516 → 179 [SYN] Seq=0 Win=2920 Len=0 MSS=1460 SACK_PERM TSval=3030456 TSecr=0 WS=1 2021-07-04 22:50:20.719228 169.254.60.145 169.254.60.146 TCP 74 179 → 34516 [SYN, ACK] Seq=0 Ack=1 Win=26844 Len=0 MSS=1375 TSval=64921081 TSecr=3030456 WS=128 2021-07-04 22:50:20.719453 169.254.60.146 169.254.60.145 TCP 66 34516 → 179 [ACK] Seq=1 Ack=1 Win=2920 Len=0 TSval=3030476 TSecr=64921081
接続または ConnectRetry が失敗した場合、接続は Active 状態のままで、OpenSent 状態にはなりません。
Connect 状態に関する問題のトラブルシューティングを行うには、次の操作を行います。
- 2 つの BGP ネイバー間が TCP 接続されていることを確認するには、TCP ポート 179 で telnet テストを実行します。TCP 接続がない場合は、TCP 接続中にログのエラーやドロップされたパケットがないかどうかを確認します。
- BGP、ゲートウェイ、AWS で BGP ネイバーの IP アドレスが正しく設定されていることを確認します。
- ルータで正しい BGP 認証を入力したことを確認します。
OpenSent 状態
BGP がピアに OPEN メッセージを送信すると、BGP は OpenSent 状態で OPEN 応答を待ちます。BGP が応答を正常に受信すると、BGP は OpenConfirm 状態に移行し、キープアライブメッセージをピアに送信します。接続に失敗すると、BGP は Idle 状態または Active 状態に戻ります。
BGP が接続を確立しない場合は、BGP ネイバーが送受信した BGP パラメータを含む OPEN メッセージがログにないかどうかを確認します。
OPEN メッセージの例:
Border Gateway Protocol - OPEN MessageType: OPEN Message (1) Version: 4 My AS: 65000 Hold Time: 30 BGP Identifier: 54.241.242.80
また、OpenSent ログを確認して失敗の原因を特定してください。
注: AWS は Hold Time の値として 0 を受け入れません。
OpenConfirm 状態
BGP は OpenConfirm 状態でピアからのキープアライブメッセージを待ちます。BGP がメッセージを正常に受信すると、Established 状態に移行します。それ以外の場合は、Idle 状態または Active 状態に戻ります。
ログで、ピアがキープアライブメッセージを送信し、BGP がそれを受信したことを確認します。
BGP ピア間のキープアライブメッセージの例:
65 2021-07-04 22:50:20.744297 169.254.60.146 169.254.60.145 BGP 85 KEEPALIVE Message 66 2021-07-04 22:50:20.765323 169.254.60.145 169.254.60.146 BGP 85 KEEPALIVE Message
Established 状態
Established 状態では、BGP はピア間で情報を交換します。
BGP 更新メッセージの例:
Border Gateway Protocol - UPDATE Message Path attributes Path Attribute - AS_PATH: 65000 Path Attribute - NEXT_HOP: 169.254.60.146 Network Layer Reachability Information (NLRI) 192.168.0.0/16
BGP が接続を確立しない場合は、次のアクションを実行してください。
- ログをチェックして、ルーターがアップデートを正しく交換していることを確認します。アドバタイズされたプレフィックスが予想されるルートと一致していることを確認します。
- BGP フィルターまたはプレフィックスリストがルートテーブル内でのルートの伝達を妨げないようにしてください。
- ピアルートテーブルのアドバタイズされたルートエントリが正しいことを確認します。
- BGP ログまたはオンプレミスデバイスでは、仮想ゲートウェイの Direct Connect 仮想インターフェイスで BGP ピアリングセッションが Established 状態から Idle 状態に変更されたと表示される場合があります。この場合、ピアが BGP ピアリングセッションでアドバタイズするルートが 100 未満であることを確認してください。
BFD 問題のトラブルシューティング
AWS では、AWS 上の Direct Connect 仮想インターフェイスの双方向フォワーディング検出 (BFD) が自動的に有効になります。
これらの BFD 問題をトラブルシューティングするには、次のアクションを実行します。
- ルーターで BFD を有効にした場合は、BFD が正しく設定されていることを確認してください。
- ルーターの BFD ピアリングセッションが UP 状態であることを確認します。
- ルーターの BFD イベントまたはログを確認します。
注: AWS のデフォルトの BFD ライブネス検出の最小間隔は 300 ミリ秒 (ms) です。デフォルトの BFD ライブネス検出の乗数は 3 です。
フェイルオーバーや接続の問題を回避するには、グレースフル再起動と BFD を同時に設定しないことがベストプラクティスです。高速フェイルオーバーのためには、グレースフル再起動を有効にせずに BFD を設定します。
関連情報
Troubleshoot layer 3/4 (Network/Transport) issues (レイヤー 3/4 (ネットワーク/トランスポート) の問題のトラブルシューティング)
- 言語
- 日本語
