OCIおよびWiresharkのVTAPのネットワークの問題のトラブルシューティング

Oracle Cloud Infrastructure (OCI)の仮想テスト・アクセス・ポイント(VTAP)は、ネットワーク・トラフィックのインサイトを提供し、詳細なネットワーク分析に必要なデータを取得します。VTAP for OCIでは、OCIネットワーク・パケットのキャプチャおよびバンドからの検査が可能になり、パフォーマンスに影響することなくトラブルシューティング、セキュリティ分析およびデータ監視が容易になります。

VTAP機能は、トラフィックミラー化とも呼ばれます。VTAPを使用すると、OCIネットワーク内の様々なソースからネットワーク・トラフィックをミラー化して、ターゲット監視デバイスに配信できます。VTAPは、IPv4とIPv6の両方のトラフィック・ミラーリングをサポートしています。VTAPは、次のソースからのトラフィックをミラー化できます。
  • 単一のコンピュート・インスタンス
  • Application Load Balancer-as-a-Service (LBaaS) (レイヤー7、プロキシ・ロード・バランサ)
  • Database-as-a-Service (DBaaS)
  • Exadata VMクラスタ
  • プライベート・エンドポイントを使用するAutonomous Data Warehouseインスタンス

ターゲットは、VTAPからミラー化されたトラフィックを受信するリソースです。VTAP ターゲットには、次のものがあります。

  • ネットワークLoad Balancer (レイヤー4、非プロキシ・ロード・バランサ)

アーキテクチャ

このリファレンス・アーキテクチャは、OCIおよびWiresharkのVTAPを使用して、OCIインフラストラクチャの様々なポイントでネットワーク・トラフィックを監視し、コスト効率の高いソリューションを実装してOCIテナンシのネットワーク関連の問題をトラブルシューティングする方法を示しています。

次の図は、このリファレンス・アーキテクチャを示しています。



oci-vtap-network-wireshark-arch-oracle.zip

このリファレンスアーキテクチャーでは、次のソースからのトラフィックを取得するためにVTAPが作成されます。
  • パブリック・サブネット内のLBaaS (レイヤー7、プロキシ・ロード・バランサ)
  • ロード・バランサがトラフィックを転送しているアプリケーション・サーバーからのVNIC
  • プライベート・サブネットのExadataクラスタ
  • プライベート・サブネット内のDBaaSシステム
  • プライベート・エンドポイント(PE)経由でアクセスされる自律型データベース
各VTAPから取得したトラフィックは、個別のプライベート・サブネットにバックエンド・ホストがあるネットワークLoad Balancer (レイヤー4、非プロキシ・ロード・バランサ)に送られます。ホストにはWiresharkパケット アナライザ ソフトウェアがインストールされています。Bastionサービスでは、バックエンド・ホストへのアクセスを許可します。パケット・キャプチャを開始するには、Bastion ServiceでWiresharkホストにアクセスし、Wiresharkコマンドラインを使用してキャプチャを作成できます。

次に、トラフィックの詳細を取得するソースを使用してOCIコンソールからVTAPにナビゲートし、取得フィルタを適用する必要があります。取得フィルタでは、次の要素に基づいて必要なトラフィックのみを取得できます。

追加/除外:
  • トラフィック方向
    • 受信
    • 送信
  • IPv4 CIDRまたはIPv6プリフィクス
    • ソース
    • 宛先
  • IPプロトコル
    • すべてのトラフィック
    • ICMP: ICMPタイプ、ICMPコード
    • TCP:ソース・ポート範囲、宛先ポート範囲
  • UDP
    • ソース・ポート範囲
    • 宛先ポート範囲
  • ICMPv6
    • ICMPv6タイプ
    • ICMPv6コード
その後、取得を開始するように選択できます。ネットワーク・キャプチャは、コマンドラインを使用してWiresharkホストから直接表示するか、ファイルに書き込まれるか、Wireshark UIを使用してシステムにダウンロードしてさらに分析できます。

アーキテクチャには次のコンポーネントがあります。

  • 仮想テストアクセスポイント(VTAP)

    仮想テスト・アクセス・ポイント(VTAP)は、指定されたソースから選択したターゲットにトラフィックをミラーリングする方法を提供し、トラブルシューティング、セキュリティ分析およびデータ監視を容易にします。VTAPは、VTAPがミラー化する一連のルールを含むキャプチャフィルタを使用します。

  • Wiresharkホスト

    Wiresharkは、トラフィックのキャプチャおよび分析が可能な無償のオープンソースのパケット・アナライザです。このリファレンス・アーキテクチャでは、Wiresharkホストはネットワーク・トラフィックを取得し、取得したパケット・データをできるだけ詳細に提示できます。トラフィックは、コマンドラインから分析することも、Wireshark UIを使用してシステムにダウンロードしてグラフィカル分析することもできます。

  • Load Balancer as a Service (LBaaS) (レイヤー7、プロキシ・ロード・バランサ)

    Oracle Cloud Infrastructure Load Balancingサービス(レイヤー7、プロキシ・ロード・バランサ)は、1つのエントリ・ポイントからバックエンド内の複数のサーバーへの自動トラフィック分散を提供します。

  • Network Load Balancer (レイヤー4、非プロキシ・ロード・バランサ)

    Network Load Balancer (レイヤー4、非プロキシ・ロード・バランサ)は、1つのエントリ・ポイントから仮想クラウド・ネットワーク内の複数のバックエンド・サーバーへの自動トラフィック分散を提供します。接続レベルで動作し、Layer3/Layer4 (IPプロトコル)データに基づいて受信クライアント接続を正常なバックエンド・サーバーにロード・バランシングします。

  • Bastionサービス

    Oracle Cloud Infrastructure Bastionサービスは、パブリック・エンドポイントがなく、ベア・メタルや仮想マシンなど、厳密なリソース・アクセス制御を必要とするリソースへの制限付きで時間制限付きの安全なアクセスを提供します。このリファレンス・アーキテクチャでは、Bastionサービスは、Wiresharkホストにパブリック・エンドポイントがない場合でも、バックエンドWiresharkホストへのセキュアなアクセスを許可します。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的な領域です。リージョンは他のリージョンから独立しており、巨大な距離は(国全体または大陸にわたって)分離できます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各アベイラビリティ・ドメインの物理リソースは、フォルト・トレランスを提供する他のアベイラビリティ・ドメインのリソースから分離されます。アベイラビリティ・ドメインは、電源や冷却、内部の可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、1つの可用性ドメインでの障害が、リージョン内の他の可用性ドメインに影響しない可能性があります。

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメインがあり、電源とハードウェアが独立しています。複数のフォルト・ドメインにリソースを分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバーの障害、システム・メンテナンスおよび電源障害を許容できます。

  • 仮想クラウド・ネットワーク(VCN)とサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、CNはネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる複数の重複しないCIDRブロックを含めることができます。VCNをサブネットにセグメント化できます。これは、リージョンまたは可用性ドメインにスコープを設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックでもプライベートでもかまいません。

  • 自律型データベース

    Oracle Cloud Infrastructureの自律型データベースは、トランザクション処理およびデータ・ウェアハウス・ワークロードに使用できる、完全に管理された事前構成済のデータベース環境です。ハードウェアの構成や管理、ソフトウェアのインストールを行う必要はありません。Oracle Cloud Infrastructureでは、データベースの作成、およびデータベースのバックアップ、パッチ適用、アップグレードおよびチューニングが処理されます。

  • Exadata DBシステム

    Exadata Cloud Serviceを使用すると、クラウド内のExadataの機能を活用できます。ニーズの増加に応じて、データベース・コンピュート・サーバーおよびストレージ・サーバーをシステムに追加できる柔軟なX8Mシステムをプロビジョニングできます。X8Mシステムは、高帯域幅および低レイテンシ、パーシステント・メモリー(PMEM)モジュールおよびインテリジェントExadataソフトウェアのためのRoCE (RDMA over Converged Ethernet)ネットワークを提供します。X8Mシステムは、クォータ・ラックのX8システムに相当するシェイプを使用してプロビジョニングし、プロビジョニング後いつでもデータベースとストレージ・サーバーを追加できます。

  • アプリケーション・サーバー

    アプリケーション・サーバーは、障害発生時に処理を引き継ぐセカンダリ・ピア(データベースなど)を使用します。アプリケーション・サーバーは、データベースとファイル・システムの両方に格納されている構成およびメタデータを使用します。アプリケーション・サーバー・クラスタリングは、単一リージョンの範囲内の保護を提供しますが、継続的な変更および新規デプロイメントを、一貫性のあるディザスタ・リカバリのために継続的にセカンダリの場所にレプリケートする必要があります。

  • ルート表

    仮想ルート表には、サブネットからVCN外部の宛先(通常はゲートウェイを介して)にトラフィックをルーティングするルールが含まれます。

  • セキュリティ・リスト

    サブネットごとに、サブネットの内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

推奨

開始点として次の推奨事項を使用します。要件は、ここで説明するアーキテクチャとは異なる場合があります。
  • VCN

    VCNを作成する際、VCNのサブネットにアタッチする予定のリソース数に基づいて、必要なCIDRブロックの数および各ブロックのサイズを決定します。標準のプライベートIPアドレス領域内にあるCIDRブロックを使用します。

    プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。

    VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。

    サブネットを設計する際は、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。

  • LBaaS(レイヤー7、プロキシ・ロード・バランサ)の帯域幅

    ロード・バランサの作成時に、固定帯域幅を提供する事前定義済のシェイプを選択するか、帯域幅範囲を設定するカスタム(柔軟性のある)シェイプを指定して、トラフィック・パターンに基づいて帯域幅を自動的にスケーリングできます。どちらの方法でも、ロード・バランサの作成後にいつでもシェイプを変更できます。

  • Network Load Balancer (レイヤー4、非プロキシ・ロード・バランサ)

    プライベート・ネットワークLoad Balancerとパブリック・ネットワークLoad Balancerのどちらを希望するかを指定し、リスナーおよびバックエンド・セットを作成します。VXLANのポートであるUDPポート4789のリスナーを設定することをお勧めします(VTAPミラーされたトラフィックはVXLANにカプセル化されます)。これにより、ネットワークLoad Balancerがミラー化されたトラフィックをすべてリスニングし、ロード・バランシングできます。

注意事項

このリファレンス・アーキテクチャをデプロイするときは、次のオプションを考慮してください。

  • コスト

    OCIサブスクリプションがある場合、VTAPの作成にかかるコストはありません。VTAPのターゲットとして使用されるネットワークLoad Balancerは、空き層の一部です。ホストされたWiresharkのVMは、無料層にも配置できます。

詳細の検討

このアーキテクチャの機能についてさらに学習するには、次の追加リソースを確認してください。

謝辞

  • 作成者: Hwangのチップ
  • コントリビュータ: Anupama Pundpal