AWS HA vSocketトラブルシューティング

概要

このガイドは、AWS vSocket高可用性(HA)の展開中に遭遇する一般的な問題に対処するための詳細なトラブルシューティングフレームワークを提供します。 手動でまたはAWSマーケットプレイスを介して展開するかに関わらず、これらの手順は潜在的な問題を効果的に特定し、解決するのに役立ちます。

症状

AWS vSocket HA展開時の一般的な問題は以下の通りです:

  • HAフェイルオーバー失敗
    • ソケットWebUIからの失敗したHA API テスト。
    • HA フェイルオーバーの失敗により、トラフィックがセカンダリvSocketに転送されません。
  • HAステータス未準備
    • CMAがサイトのHAステータスを「未準備」と表示します

考えられる原因

冗長化展開の失敗は、以下の原因であることが多いです:

  • AWSでの非公開DNSの使用。
  • 管理インタフェースにインターネットアクセスがない。
  • IAMロールの誤った構成。
  • AWSでの制限的な管理者グループとルーティング設定。
  • 適切なネットワークインタフェースをLANルーティングテーブルに割り当てられなかった。
  • LAN接続性の問題。

問題のトラブルシューティング

重要

重要: トラブルシューティングを開始する前に、AWS 冗長化 vSocket のデプロイメントに必要な前提条件がすべて確認されていることを確かめてください。 参照AWS vSocket サイトの手動展開AWSマーケットプレイスからのvSocketサイトの展開およびAWS vSockets のための冗長化設定

HA フェイルオーバー失敗のトラブルシューティング

フェイルオーバー中にトラフィックがセカンダリvSocketにルーティングされない場合、次のトラブルシューティング手順を検討してください:

冗長化APIテストの実行

  • ソケットWebUIから、両方のvSocketsのためにAPIテストツールを実行します。
  • このツールは、AWSへのAPIコールが成功するかどうかを検証します。
  • 権限またはルートテーブルの更新に関連するエラーはここに表示されます。

AWS DNS構成の確認

  • 関連付けられたVPC用にデフォルトのAWS DNSサーバーが構成されていることを確認します。 
  • AWS DNS設定を確認するには、こちらをご覧ください: DNS設定の問題を修正
  • カスタムDNSサーバー (例えば、プライベートDNSサーバー) が設定されている場合は、それが公開ドメインを解決できることを確認してください。 FQDN の完全修飾ドメイン名 ec2.<region>.amazonaws.com (例: ec2.us-east-1.amazonaws.com) が API によって使用されていることを確認してください。
  • MGMTインタフェースに関連付けられたセキュリティグループは、デフォルトのAWS DNSサーバーが設定されている場合でも、8.8.8.8および8.8.4.4へのDNSリクエストを許可する必要があります。

LANルーティングテーブルの確認

  • トラフィックをマスタvSocketにルーティングするため、AWSは現在のマスタvSocketのLANネットワークインターフェースをLANルーティングテーブルに割り当てます。
  • VPC > ルートテーブルに移動し、LANルーティングテーブルを選択します。 ルートタブの下で、マスタvSocketのLANネットワークインタフェースがデフォルトルートのゲートウェイ(ターゲット)であることを確認してください。 そうでない場合は、次のステップに進みます。
  • 手動でLANルーティングテーブルを変更することは、フェイルオーバー時にターゲットのNICが変更されなかった場合の迅速な回避策となる可能性がありますので、注意してください。

IAMロールの確認

  • AWS vSocketデプロイメント中に、HAIAMロールが作成され、初期および二次のvSocketsに関連付けられます。
  • 各インスタンスの詳細ページで、正しいIAMロールが割り当てられていることを確認してください。
  • IAMロールのリンクをクリックし、権限のタブの下で、IAMポリシーに正しいステートメントが含まれていることを確認してください。

注意: IAMロールが欠落している場合、ロールが追加されたら、影響を与えるためにソケットを再起動する必要があります。

IMDS設定の確認

  • 双方向のvSocketが一致したIMDS設定(オプションまたは必須)を使用していることを確認してください。 詳細については、AWSのドキュメントをご覧ください。
  • vSocketビルド20.0.18221から、IMDSv2がサポートされています。
  • IMDS設定を変更するには、インスタンスを選択し、アクションの下でインスタンス設定>インスタンスメタデータオプションの変更をクリックします。

ネットワークセキュリティグループの確認。

  • ネットワークセキュリティグループが管理インタフェースへのアウトバウンドトラフィックをブロックしていないことを確認してください。
  • EC2 > ネットワークインタフェース の下に、管理インタフェースに関連付けられたグループを見つけます。
  • セキュリティ管理者グループのアウトバウンドルールでポート80、443、53が許可されていることを確認してください。 この場合、すべてのアウトバウンドトラフィックが許可されています。
     

インターネットトラフィックのためのMGMTインタフェースルーティングの確認。

  • MGMTインタフェースのトラフィックがAWSのサードパーティファイアウォールを通過してルーティングされる場合は、UDP/53、TCP/80、およびTCP/443のアウトバウンド接続が許可されていることを確認してください。
  • ネットワークインタフェースページで、MGMTインタフェースのサブネットIDをクリックします。
  • サブネットページで、ルートテーブル タブを選択します。 下のスクリーンショットはデフォルトルートがインターネットゲートウェイを指していることを示しており、ファイアウォールがトラフィックをブロックしていない状態です。
  • 関連するルートテーブルを開き、すべてのMGMTサブネットが関連付けられたサブネットとしてリストされていることを確認します。 デュアルアベイラビリティゾーンの場合、各vSocketに対して2つのMGMTサブネットが存在します。詳しくは、セカンダリ vSocket LAN インタフェースのためのサブネットの作成をご覧ください。
  • VPCのリソースマップタブでは、すべての関連サブネットとそのルーティング設定が参照しやすいように視覚的に表現されています。
  • MGMTインタフェースにエラスティックIPが関連付けられていることを確認します。 これはインスタンスのネットワークタブで確認できます。 MGMTインタフェースはデバイスインデックス 0によって識別できます。 WANとLANのインタフェースは、それぞれデバイスインデックス1および2に関連付けられる必要があります。

CloudTrailログの確認

  • HAフェイルオーバー中のLANルートテーブルの変更が失敗する原因をデバッグするために、AWS CloudTrailを有効にしてAPIコールをAWSに記録します。
  • トレイルの作成プロセスに従って、S3 バケットのログ保存先を定義し、API アクティビティを含む管理イベントを選択できます。 トレイルの作成 を参照してください。

 

HA不揃準備状態のトラブルシューティング

CMAがHAステータスが準備未完了であることを示し、両方のvSocketが起動している場合、両方のvSocketがマスター役割を担います(分割ブレインシナリオ)。 これは以下の理由で発生する可能性があります:

  • 両方のvSocketが異なるバージョンのファームウェアを実行している
  • HAキープアライブメッセージがセカンダリvSocketに到達しない

両方のvSocketのWebUIページを確認して、それぞれのHAステータスを確認することをお勧めします。 プライマリとセカンダリの両方のvSocketがマスターの役割を担っている場合、スプリットブレインシナリオが発生します。 WebUIはメインモニタリングページのトップに現在のロールを表示します。

ファームウェアバージョンの確認

同一バージョン基準を満たすために、両方のvSocketは同じメジャーバージョン、例: v17.xx.yyまたはv18.xx.yyを実行する必要があります。vSocketは初回展開後に初期アップグレードを実行します。 vSocketのいずれかがアップグレードに失敗した場合、この問題をトラブルシュートしなければなりません。 この問題を報告するためにサポートチケットを提出してください。

HAキープアライブの確認

キープアライブパケットはAWS vSocketのためにポートUDP/20480を使用し、マスターvSocketからスタンバイvSocketにのみ送信されます。 スプリットブレイン状態は、両方のvSocketがマスター役割を持つ際に発生します。これは、HAキープアライブメッセージがセカンダリvSocketに届かないLAN接続性の問題により発生する可能性があります。 

LAN接続性を確認するために、次のチェックを実行してください:

  • ネットワークセキュリティグループがポートUDP/20480をブロックしているかどうかを確認します。 NSGルールをすばやく確認する方法として、AWSで各LANネットワークインタフェースに移動しインバウンドおよびアウトバウンドルールを確認することができます。管理者セキュリティグループがアウトバウンドトラフィックをブロックしているか確認してください。
  • 双方向のLANインタフェースが異なるLANサブネットに関連付けられていることを確認してください。
  • 両方のvSocketのWebUIからパケットキャプチャを実行し、セカンダリvSocketがプライマリから送信されたキープアライブを受信しているかを確認してください。

発見された問題の解決

DNS設定の問題を修正する

  • DNS設定の問題を修正するには、デフォルトのAWS DNSサーバーがVPCに設定されているかを確認してください。
  • VPCの詳細で、そのために設定されたDHCPオプションセットを見つけてください。
  • DHCPオプションセットを開き、定義済みのドメイン名サーバーがAmazonProvidedDNSであることを確認してください。
  • 既存のドメイン名サーバーを変更することはできません。 そのため、新しいDHCPオプションセットを作成し、デフォルトでAmazonProvidedDNSを使用します。

AWS vSocketの登録解除と再デプロイ

  • 上記のトラブルシューティング手順をすべて実施しても、HAフェイルオーバーが引き続き失敗する場合、1つまたは両方のvSocketを登録解除して再デプロイすることが可能です。 高可用性vSocketサイトの再デプロイを参照
  • vSocketを再デプロイする前に、仮想マシンを削除することが重要ですが、ネットワークインターフェース、関連するパブリックIP、およびIAMロールは保持してください。
  • さらに、vSocketに正しいIAMロールを再アタッチすることを忘れずに、vSocketインスタンス > セキュリティ > IAMロールをアタッチし、AWS-HAロールを割り当ててください。

 

Catoサポートへのケースの提出

上記のトラブルシューティング手順の結果と共にサポートチケットを提出してください。 チケットに以下の情報を含めてください:

  • エラーメッセージを含む問題の明確な説明。
  • VPCのDNS設定。
  • APIテスト結果。
  • LANルーティングテーブルと設定済みIAMロールのスクリーンショット。
  • 可能であれば、フェイルオーバー失敗時のCloudTrailログファイル。

 

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています

0件のコメント