クラスタリングを利用すると、複数の Threat Defense Virtual をグループ化して 1 つの論理デバイスとすることができます。クラスタは、単一デバイスのすべての利便性(管理、ネットワークへの統合)を備える一方で、複数デバイスによって高いスループットおよび冗長性を達成します。

現在は、ルーテッド ファイアウォール モードのみがサポートされます。


(注)  


クラスタリングを使用する場合、一部の機能はサポートされません。「サポートされていない機能とクラスタリング」を参照してください。.


Azure での Threat Defense Virtual クラスタリングについて

ここでは、クラスタリング アーキテクチャとその動作について説明します。

クラスタをネットワークに適合させる方法

クラスタは、複数のファイアウォールで構成され、これらは 1 つのデバイスとして機能します。ファイアウォールをクラスタとして機能させるには、次のインフラストラクチャが必要です。

  • クラスタ内通信用の、隔離されたネットワーク。VXLAN インターフェイスを使用したクラスタ制御リンクと呼ばれます。レイヤ 3 物理ネットワーク上でレイヤ 2 仮想ネットワークとして機能する VXLAN により、Firewall Threat Defense Virtual はクラスタ制御リンクを介してブロードキャスト/マルチキャストメッセージを送信できます。

  • ロードバランサ:外部ロードバランシングには、次のオプションがあります。

    • Azure ゲートウェイロードバランサ

      Azure サービスチェーンでは、Firewall Threat Defense Virtual がインターネットと顧客サービス間のパケットをインターセプトできる透過的なゲートウェイとして機能します。Firewall Threat Defense Virtual は、ペアリングされたプロキシの VXLAN セグメントを利用して、単一の NIC に外部インターフェイスと内部インターフェイスを定義します。

    • シスコ クラウド サービス ルータなどの内部および外部ルータを使用した等コスト マルチパス ルーティング(ECMP)

      ECMP ルーティングでは、ルーティング メトリックが同値で最高である複数の「最適パス」を介してパケットを転送できます。EtherChannel のように、送信元および宛先の IP アドレスや送信元および宛先のポートのハッシュを使用してネクスト ホップの 1 つにパケットを送信できます。ECMP ルーティングにスタティックルートを使用する場合は、Firewall Threat Defense の障害発生時に問題が起きることがあります。ルートは引き続き使用されるため、障害が発生した Firewall Threat Defense へのトラフィックが失われるからです。スタティック ルートを使用する場合は必ず、オブジェクト トラッキングなどのスタティック ルート モニタリング機能を使用してください。ダイナミック ルーティング プロトコルを使用してルートの追加と削除を行うことを推奨します。この場合は、ダイナミック ルーティングに参加するように各 Firewall Threat Defense を設定する必要があります。


    (注)  


    レイヤ 2 スパンド EtherChannels はロードバランシングではサポートされません。


個々のインターフェイス

クラスターフェイスを個々のインターフェイスとして設定できます。

個別インターフェイスは通常のルーテッド インターフェイスであり、それぞれが専用のローカル IP アドレスを持ちます。インターフェイスの IP アドレスは、DHCP を介して自動的に設定されます。静的 IP 設定はサポートされていません。

制御ノードとデータノードのロール

Firewall Management Center にクラスターを追加するときは、制御ノードにする 1 つのファイアウォールを選択し、その他すべてのファイアウォールをデータノードにします。最初にクラスターを作成するときに指定する制御ノードは、クラスターに追加される最初のノードであるため、制御ノードになります。その後、複数のクラスターノードが同時にオンラインになると、優先順位設定によって制御ノードが決定されます。優先順位は 1 ~ 100 で設定され、1 が最優先です。

クラスターを作成してクラスター設定を展開すると、 Firewall Management Center はクラスター制御リンク設定などの基本設定を含む特別なブートストラップ設定を各ノードに展開します。ブートストラップ設定により、各ノードはクラスターに参加できます。ほとんどのブートストラップ設定はクラスターウィザードで定義されます。ただし、クラスターを作成する前に、制御ノードでクラスター制御リンク インターフェイス ハードウェア設定(EtherChannel の作成やイーサネット速度の設定など)を定義します。クラスター制御リンク設定は、各ノードのブートストラップ設定にコピーされます。

クラスター内のノードはすべて、同じポリシー設定を共有します。最初に制御ノードとして指定したノードは、データノードがクラスタに参加するときにその設定を上書きします。そのため、クラスタを形成する前に制御ノードで初期設定を実行するだけで済みます。クラスターを作成すると、すべての設定変更がクラスターレベルで行われ、すべてのノードで共有されます。

機能によっては、クラスタ内でスケーリングしないものがあり、そのような機能については制御ノードがすべてのトラフィックを処理します。

クラスタ制御リンク

ノードごとに 1 つのインターフェイスをクラスタ制御リンク専用の VXLAN(VTEP)インターフェイスにする必要があります。

VXLAN トンネル エンドポイント

VXLAN トンネル エンドポイント(VTEP)デバイスは、VXLAN のカプセル化およびカプセル化解除を実行します。各 VTEP には 2 つのインターフェイスタイプ(VXLAN Network Identifier(VNI)インターフェイスと呼ばれる 1 つ以上の仮想インターフェイスと、 VTEP 間に VNI をトンネリングする VTEP 送信元インターフェイスと呼ばれる通常のインターフェイス)がありますVTEP 送信元インターフェイスは、VTEP 間通信のトランスポート IP ネットワークに接続されます。

VTEP 送信元インターフェイス

VTEP 送信元インターフェイスは、VNI インターフェイスに関連付けられる予定の標準の Firewall Threat Defense Virtual インターフェイスです。1 つの VTEP ソースインターフェイスをクラスタ制御リンクとして機能するように設定できます。ソースインターフェイスは、クラスタ制御リンクの使用専用に予約されています。各 VTEP ソースインターフェイスには、同じサブネット上の IP アドレスがあります。このサブネットは、他のすべてのトラフィックからは隔離し、 クラスタ制御リンクインターフェイスだけが含まれるようにしてください。

VNI インターフェイス

VNI インターフェイスは VLAN インターフェイスに似ています。VNI インターフェイスは、タギングを使用して特定の物理インターフェイスでのネットワークトラフィックの分割を維持する仮想インターフェイスです。設定できる VNI インターフェイスは 1 つだけです。各 VNI インターフェイスは、同じサブネット上の IP アドレスを持ちます。

ピア VTEP

単一の VTEP ピアを許可するデータインターフェイス用の通常の VXLAN とは異なり、Firewall Threat Defense Virtual クラスタリングでは複数のピアを設定できます。

クラスタ制御リンク トラフィックの概要

クラスタ制御リンク トラフィックには、制御とデータの両方のトラフィックが含まれます。

制御トラフィックには次のものが含まれます。

  • 制御ノードの選択。

  • 設定の複製。

  • ヘルス モニタリング。

データトラフィックには次のものが含まれます。

  • 状態の複製。

  • 接続所有権クエリおよびデータパケット転送。

コンフィギュレーションの複製

クラスタ内のすべてのノードは、単一の設定を共有します。設定の変更は制御ノードでのみ可能(ブートストラップ設定は除く)で、変更はクラスタに含まれる他のすべてのノードに自動的に同期されます。

管理ネットワーク

管理インターフェイスを使用して各ノードを管理する必要があります。クラスタリングでは、データインターフェイスからの管理はサポートされていません。

Threat Defense Virtual クラスタリングのライセンス

パフォーマンス階層ライセンス要件

各 Firewall Threat Defense Virtual クラスタノードには、同じパフォーマンス階層ライセンスが必要です。すべてのメンバーに同じ数の CPU とメモリを使用することをお勧めします。そうしないと、パフォーマンスが最小能力のメンバーに一致するようにすべてのノードで制限されます。スループットレベルは、一致するように制御ノードから各データノードに複製されます。

個別のノードではなく、クラスタ全体に機能ライセンスを割り当てます。ただし、クラスタの各ノードは機能ごとに個別のライセンスを使用します。クラスタリング機能自体にライセンスは必要ありません。

制御ノードを Firewall Management Center に追加する際に、そのクラスタに使用する機能ライセンスを指定できます。クラスターのライセンスは [デバイス(Devices)] > [デバイス管理(Device Management)] の [クラスター(Cluster)] > [ライセンス(License)] エリアで変更できます。


(注)  


Firewall Management Center にライセンスを取得する(および評価モードで実行する)前にクラスタを追加した場合、Firewall Management Center にライセンスを取得する際にポリシーの変更をクラスタに展開するとトラフィックの中断が発生することがあります。ライセンスモードを変更したことによって、すべてのデータユニットがクラスタをいったん離れてから再参加することになります。


Threat Defense Virtual クラスタリングの要件および前提条件

モデルの要件

  • FTDv5、FTDv10、FTDv20、FTDv30、FTDv50、FTDv100


    (注)  


    FTDv5 および FTDv10 は、Azure Gateway Load Balancer をサポートしていません。


  • 最大 16 ノード

Cisco Secure Firewall Threat Defense Virtual スタートアップガイド の Firewall Threat Defense Virtual の一般要件も参照してください。

ユーザー ロール

  • 管理者

  • アクセス管理者

  • ネットワーク管理者

ハードウェアおよびソフトウェアの要件

クラスタ内のすべてのユニット:

  • 同じパフォーマンス層内にある必要があります。すべてのノードに同じ数の CPU とメモリを使用することをお勧めします。そうしないと、パフォーマンスが最小能力のノードに一致するようにすべてのノードで制限されます。

  • Firewall Management Center へのアクセスは管理インターフェイスから行うこと。データインターフェイスの管理はサポートされていません。

  • イメージ アップグレード時を除き、同じソフトウェアを実行する必要があります。ヒットレス アップグレードがサポートされます。

  • すべてのユニットのクラスタ制御リンクインターフェイスは、同じサブネット内にある必要があります。

MTU

クラスタ制御リンクに接続されているポートに適切な MTU 値(高い値) が設定されていること。MTU の不一致がある場合、クラスタの形成に失敗します。クラスターに参加したノードは、クラスター制御リンク MTU と一致するパケットサイズで制御ノードに ping を送信することで MTU の互換性をチェックします。最初の ping が失敗すると、ノードは、ping が成功するまで、より小さいパケットサイズ(MTU を 2 で、次に 4 で、8 で割った値)を使用して ping を試行します。通知が生成されるため、接続スイッチの MTU 不一致を修正して再試行することができます。

クラスタ制御リンクの MTU は、データインターフェイスよりも 154 バイト大きく設定されているはずです。クラスタ制御リンクのトラフィックにはデータパケット転送が含まれるため、クラスタ制御リンクはデータパケット全体のサイズに加えてクラスタトラフィックのオーバーヘッド(100 バイト)と VXLAN のオーバーヘッド(54 バイト)にも対応する必要があります。

GWLB を使用する Azure の場合、データインターフェイスは VXLAN カプセル化を使用します。この場合、イーサネット データグラム全体がカプセル化されるため、新しいパケットのサイズが大きくなるため、より大きな MTU が必要になります。クラスタ制御リンクの MTU は、送信元インターフェイスの MTU の + 80 バイトになるように設定する必要があります。


(注)  


  • Azure 上の Threat Defense Virtual クラスターの場合、クラスターの安定性の問題が発生する可能性があるため、Management Center の FlexConfig を介してクラスター制御リンク(CCL)MTU を変更することは推奨されません。

  • クラスタ制御リンクの MTU を 2561 ~ 8362 に設定することは推奨されません。ブロックプールの処理が原因で、この MTU サイズはシステム動作に最適ではありません。


次の表は、クラスタ制御リンク MTU のデフォルト値とデータインターフェイス MTU を示しています。

表 1. デフォルト MTU

パブリック クラウド

クラスタ制御リンク MTU

データインターフェイス MTU

GWLB を使用した Azure

1454

1374

Azure

1454

1300

Threat Defense Virtual クラスタリングのガイドライン

ハイ アベイラビリティ

クラスタリングでは、高可用性はサポートされません。

IPv6

クラスタ制御リンクは、IPv4 のみを使用してサポートされます。

マルチゾーンクラスタリング

マルチゾーンクラスタリングは、最大 3 つのゾーンでサポートされます。

その他のガイドライン

  • 重要なトポロジの変更(EtherChannel インターフェイスの追加や削除、Firewall Threat Defense またはスイッチのインターフェイスの有効化や無効化、VSS または VNet を形成するスイッチの追加など)が発生した場合は、ヘルスチェック機能を無効にし、無効になっているインターフェイスのインターフェイス モニタリングも無効にする必要があります。トポロジの変更が完了して、コンフィギュレーション変更がすべてのユニットに同期されたら、インターフェイスのヘルス チェック機能を再度有効にできます。

  • ノードを既存のクラスタに追加したときや、ノードをリロードしたときは、一時的に、限定的なパケット/接続ドロップが発生します。これは予定どおりの動作です。場合によっては、ドロップされたパケットが原因で接続がハングすることがあります。たとえば、FTP 接続の FIN/ACK パケットがドロップされると、FTP クライアントがハングします。この場合は、FTP 接続を再確立する必要があります。

  • ノードでクラスタリングを無効にせずにノードの電源を切らないでください。

  • 復号された TLS/SSL 接続の場合、復号状態は同期されず、接続オーナーに障害が発生すると、復号された接続がリセットされます。新規ノードへの接続を新たに確立する必要があります。復号されていない接続(復号しないルールに一致)は影響を受けず、正しく複製されます。

  • ダイナミックスケーリングは、Secure Firewall バージョン 7.3 からサポートされています。

  • 各メンテナンスウィンドウの完了後にグローバル展開を実行します。

  • スケールセット(Azure)から一度に複数のデバイスを削除しないでください。また、スケールセット(Azure)からデバイスを削除する前に、デバイスで cluster disable コマンドを実行することを推奨します。

  • クラスタ内のデータノードと制御ノードを無効にする場合は、制御ノードを無効にする前にデータノードを無効にすることを推奨します。クラスタ内に他のデータノードがあるときに制御ノードが無効になっている場合は、いずれかのデータノードを制御ノードに昇格させる必要があります。ロールの変更はクラスタを妨害する可能性があることに注意してください。

  • このガイドに記載されているカスタマイズした Day 0 構成スクリプトでは、要件に応じて IP アドレスを変更し、カスタムインターフェイス名を指定して、CCL-Link インターフェイスのシーケンスを変更することができます。

  • クラウドプラットフォームに Threat Defense 仮想クラスタを展開した後の断続的な ping の失敗など、CCL が不安定になる問題が発生した場合は、CCL の不安定性の原因に対処することをお勧めします。また、CCL が不安定になる問題をある程度軽減するための一時的な回避策として、保留時間を増やすこともできます。保留時間の変更方法の詳細については、「クラスタの正常性モニタリング設定の編集」を参照してください。

  • Management Center Virtual のセキュリティ ファイアウォール ルールまたはセキュリティグループを設定する場合は、Firewall Threat Defense Virtual のプライベート IP アドレスとパブリック IP アドレスの両方を送信元 IP アドレス範囲に含める必要があります。また、Firewall Threat Defense Virtual のセキュリティ ファイアウォール ルールまたはセキュリティグループで、Firewall Management Center Virtual のプライベート IP アドレスとパブリック IP アドレスを指定してください。これは、クラスタリングの展開中にノードを適切に登録するために重要です。

クラスタリングのデフォルト

  • cLACP システム ID は自動生成され、システムの優先順位はデフォルトでは 1 になっています。

  • クラスタのヘルス チェック機能は、デフォルトで有効になり、ホールド時間は 3 秒です。デフォルトでは、すべてのインターフェイスでインターネット ヘルス モニタリングが有効になっています。

  • 失敗したクラスタ制御リンクのクラスタ再結合機能が 5 分おきに無制限に試行されます。

  • 失敗したデータインターフェイスのクラスタ自動再結合機能は、5 分後と、2 に設定された増加間隔で合計で 3 回試行されます。

  • HTTP トラフィックでは、5 秒間の接続複製遅延がデフォルトで有効になっています。

Azure でクラスタを展開する

Azure Gateway Load Balancer(GWLB)、または非ネイティブのロードバランサでクラスタを使用できます。Azure でクラスタを展開するには、Azure Resource Manager(ARM)テンプレートを使用して仮想マシンスケールセットを展開します。

GWLB ベースのクラスタ展開のサンプルトポロジ

図 1. GWLB を使用する着信トラフィックの導入例とトポロジ
図 2. GWLB を使用する発信トラフィックの導入例とトポロジ

Azure ゲートウェイロードバランサおよびペアプロキシ

Azure サービスチェーンでは、Threat Defense Virtual がインターネットと顧客サービス間のパケットをインターセプトできる透過的なゲートウェイとして機能します。Threat Defense Virtual は、ペアプロキシの VXLAN セグメントを利用して、単一の NIC に外部インターフェイスと内部インターフェイスを定義します。

次の図は、外部 VXLAN セグメント上のパブリックゲートウェイロードバランサから Azure ゲートウェイロードバランサに転送されるトラフィックを示しています。ゲートウェイロードバランサは、複数の Threat Defense Virtual の間でトラフィックのバランスを取り、トラフィックをドロップするか、内部 VXLAN セグメント上のゲートウェイロードバランサに送り返す前に検査します。Azure ゲートウェイロードバランサは、トラフィックをパブリックゲートウェイロードバランサと宛先に送り返します。

図 3. ペアリングされたプロキシを使用した Azure Gateway ロードバランサ

GWLB を使用して Azure で Threat Defense Virtual クラスタを展開するためのエンドツーエンドのプロセス

テンプレートベースの展開

次のフローチャートは、GWLB を使用した Azure での Threat Defense Virtual クラスタのテンプレートベース展開のワークフローを示しています。

ワークスペース

手順

ローカルホスト GitHub からテンプレートとファイルをダウンロードします。
ローカルホスト azure_ftdv_gwlb_cluster.json と azure_ftdv_gwlb_cluster_parameters.json を必要なパラメータで変更します。
Azure Cloud リソースグループ、仮想ネットワーク、およびサブネットを作成します。
Azure Cloud カスタムテンプレートを展開します。
Azure Cloud インスタンスの詳細を設定します。
クラスタノード クラスタの展開を確認します。
Azure Cloud Function アプリを使用して Management Center にクラスタを登録します。
Azure Cloud FTPS のログイン情報を作成します。
ローカルホスト Cluster_Function.zip ファイルを Function アプリにアップロードします。

手動展開

次のフローチャートは、GWLB を使用した Azure での Threat Defense Virtual クラスタの手動展開のワークフローを示しています。

ワークスペース

手順

ローカルホスト Marketplace イメージから VMSS を作成します。
ローカルホスト インターフェイスを接続します。
ローカルホスト [customData] フィールドに Day 0 構成を追加します。
ローカルホスト スケーリングインスタンス数を更新します。
ローカルホスト GWLB を設定します。
Management Center 制御ノードを追加します。

テンプレート

以下のテンプレートは GitHub で入手できます。パラメータ値は、テンプレートで指定されたパラメータ名、および値であり、自明です。

前提条件

  • クラスタが Management Center に自動登録できるようにするには、Management Center でネットワーク管理者およびメンテナンスのユーザー権限を持つユーザーを作成します。これらの権限を持つユーザーは、REST API を使用できます。『Cisco Secure Firewall Management Center Administration Guide』を参照してください。

  • テンプレートの展開時に指定するポリシー名と一致するアクセスポリシーを Management Center に追加します。

  • Management Center Virtual が適切にライセンスされていることを確認します。

  • クラスタが Management Center Virtual に追加されたら、次の手順を実行します。

    1. Management Center のプラットフォーム設定でヘルスチェックのポート番号を設定します。この設定の詳細については、「Platform Settings」を参照してください。

    2. データトラフィックのスタティックルートを作成します。スタティックルートの作成の詳細については、「Add a Static Route」を参照してください。

      スタティックルートの設定例:
      
      Network: any-ipv4
      Interface: vxlan_tunnel
      Leaked from Virtual Router: Global
      Gateway: vxlan_tunnel_gw
      Tunneled: false
      Metric: 2
      

    (注)  


    vxlan_tunnel_gw は、データサブネットのゲートウェイ IP アドレスです。


Azure Resource Manager テンプレートを使用した Azure と GWLB でのクラスタの展開

カスタマイズされた Azure Resource Manager(ARM)テンプレートを使用して、Azure GWLB の仮想マシンスケールセットを展開します。以下の手順で説明するテンプレートは、GitHub で入手できることに注意してください。

手順


ステップ 1

テンプレートを準備します。

  1. GitHub リポジトリをローカルフォルダに複製します。https://github.com/CiscoDevNet/cisco-ftdv/tree/master/cluster/azure を参照してください。

  2. azure_ftdv_gwlb_cluster.json と azure_ftdv_gwlb_cluster_parameters.json を必要なパラメータで変更します。

ステップ 2

Azure ポータルにログイン:https://portal.azure.com。

ステップ 3

リソース グループを作成します。

  1. [基本(Basics)] タブで、ドロップダウンリストから [サブスクリプション(Subscription)] および [リソースグループ(Resource group)] を選択します。

  2. 必須の [リージョン(Region)] を選択します。

ステップ 4

管理、データ、クラスター制御リンク(CCL)の 3 つのサブネットを持つ仮想ネットワークを作成します。

  1. 仮想ネットワークを作成します。

    1. [基本(Basics)] タブで、ドロップダウンリストから [サブスクリプション(Subscription)] および [リソースグループ(Resource group)] を選択します。

    2. 必須の [リージョン(Region)] を選択します。[次へ:IPアドレス(Next: IP addresses)] をクリックします。

    [IPアドレス(IP Addresses)] タブで、[サブネットの追加(Add subnet)] をクリックし、管理、データ、クラスター制御リンクのサブネットを追加します。
  2. サブネットを追加します。

ステップ 5

カスタムテンプレートを展開します。

  1. [作成(Create)] > [テンプレートの展開(Template deployment)](カスタムテンプレートを使用して展開) をクリックします。

  2. [エディタで独自のテンプレートを構築する(Build your own template in the editor)] をクリックします。

  3. [ファイルの読み込み(Load File)] をクリックし、azure_ftdv_gwlb_cluster.json をアップロードします。

  4. [保存(Save)] をクリックします。

ステップ 6

インスタンスの詳細を設定します。

  1. 必要な値を入力し、[確認して作成(Review + create)] をクリックします。

  2. 検証に合格したら、[作成(Create)] をクリックします。

ステップ 7

インスタンスの実行後、いずれかのノードにログインし、show cluster info コマンドを入力して、クラスタの展開を確認します。

図 4. show cluster info
show cluster info

ステップ 8

Azure ポータルで、Function アプリをクリックしてクラスタを Firewall Management Center に登録します。

(注)  

 

Function アプリを使用しない場合は、[追加(Add)] > [デバイス(Device)]( [追加(Add)] > [クラスタ(Cluster)] ではない)を使用して、制御ノードを Firewall Management Center に直接登録することもできます。その他のクラスタノードは自動的に登録されます。

ステップ 9

[展開センター(Deployment Center)] > [FTPSのログイン情報(FTPS credentials)] > [ユーザースコープ(User scope)] > [ユーザー名とパスワードの設定(Configure Username and Password)]をクリックして FTPS のログイン情報を作成し、[保存(Save)] をクリックします。

ステップ 10

ローカルの端末で次の curl コマンドを実行し、Cluster_Function.zip ファイルを Function アプリにアップロードします。

curl -X POST -u ユーザー名 --data-binary @"Cluster_Function.zip" https:// Function_App_Name.scm.azurewebsites.net/api/zipdeploy

(注)  

 

curl コマンドは、実行が完了するまでに数分(2 分未満~ 3 分)かかる場合があります。

関数が Function アプリにアップロードされます。関数が開始され、ストレージアカウントのアウトキューにログが表示されます。Management Center へのデバイス登録が開始されます。

図 5. 機能
クラスタ機能のアップロード
図 6. キュー
出力キュー
図 7. アウトキュー
アウトキュー

NLB ベースのクラスタ展開のサンプルトポロジ

このトポロジは、着信と発信の両方のトラフィックフローを示しています。Threat Defense Virtual クラスタは、内部ロードバランサと外部ロードバランサの間に挟まれています。Management Center Virtual インスタンスは、クラスタの管理に使用されます。

インターネットからの着信トラフィックは、外部ロードバランサに送られ、そこから Threat Defense Virtual クラスタにトラフィックが送信されます。トラフィックは、クラスタ内の Threat Defense Virtual インスタンスによって検査された後、アプリケーション VM に転送されます。

アプリケーション VM からの発信トラフィックは、内部ロードバランサに送信されます。その後、トラフィックは Threat Defense Virtual クラスタに転送され、インターネットに送信されます。

NLB を使用して Azure で Threat Defense Virtual クラスタを展開するためのエンドツーエンドのプロセス

テンプレートベースの展開

次のフローチャートは、NLB を使用した Azure での Threat Defense Virtual クラスタのテンプレートベース展開のワークフローを示しています。

ワークスペース

手順

ローカルホスト GitHub からテンプレートとファイルをダウンロードします。
ローカルホスト azure_ftdv_nlb_cluster.json と azure_ftdv_nlb_cluster_parameters.json を必要なパラメータで変更します。
Azure Cloud リソースグループ、仮想ネットワーク、およびサブネットを作成します。
Azure Cloud カスタムテンプレートを展開します。
Azure Cloud インスタンスの詳細を設定します。
クラスタノード クラスタの展開を確認します。
Azure Cloud Function アプリを使用して Management Center にクラスタを登録します。
Azure Cloud FTPS のログイン情報を作成します。
ローカルホスト Cluster_Function.zip ファイルを Function アプリにアップロードします。

手動展開

次のフローチャートは、NLB を使用した Azure での Threat Defense Virtual クラスタの手動展開のワークフローを示しています。

ワークスペース

手順

ローカルホスト Marketplace イメージから VMSS を作成します。
ローカルホスト インターフェイスを接続します。
ローカルホスト [customData] フィールドに Day 0 構成を追加します。
ローカルホスト スケーリングインスタンス数を更新します。
ローカルホスト NLB を設定します。
Management Center 制御ノードを追加します。

テンプレート

以下のテンプレートは GitHub で入手できます。パラメータ値は、テンプレートで指定されたパラメータ名、および値であり、自明です。

前提条件

  • クラスタが Management Center に自動登録できるようにするには、Management Center でネットワーク管理者およびメンテナンスのユーザー権限を持つユーザーを作成します。これらの権限を持つユーザーは、REST API を使用できます。『Cisco Secure Firewall Management Center Administration Guide』を参照してください。

  • テンプレートの展開時に指定するポリシー名と一致するアクセスポリシーを Management Center に追加します。

  • Management Center Virtual が適切にライセンスされていることを確認します。

  • クラスタが Management Center Virtual に追加されたら、次の手順を実行します。

    1. Management Center のプラットフォーム設定でヘルスチェックのポート番号を設定します。この設定の詳細については、「Platform Settings」を参照してください。

    2. 外部および内部インターフェイスからのトラフィックのスタティックルートを作成します。スタティックルートの作成の詳細については、「Add a Static Route」を参照してください。

      外部インターフェイスのスタティックルートの設定例:
      
      Network: any-ipv4
      Interface: outside
      Leaked from Virtual Router: Global
      Gateway: ftdv-cluster-outside
      Tunneled: false
      Metric: 10

      (注)  


      ftdv-cluster-outside は、外部サブネットのゲートウェイ IP アドレスです。


      内部インターフェイスのスタティックルートの設定例:

      
      Network: any-ipv4
      Interface: inside
      Leaked from Virtual Router: Global
      Gateway: ftdv-cluster-inside-gw
      Tunneled: false
      Metric: 11

      (注)  


      ftdv-cluster-inside-gw は、内部サブネットのゲートウェイ IP アドレスです。


    3. データトラフィックの NAT ルールを設定します。NAT ルールの設定の詳細については、「Network Address Translation」を参照してください。

Azure Resource Manager テンプレートを使用した Azure と NLB でのクラスタの展開

カスタマイズされた Azure Resource Manager(ARM)テンプレートを使用して、Azure NLB のクラスタを展開します。以下の手順で説明するテンプレートは、GitHub で入手できることに注意してください。

手順


ステップ 1

テンプレートを準備します。

  1. GitHub リポジトリをローカルフォルダに複製します。https://github.com/CiscoDevNet/cisco-ftdv/tree/master/cluster/azure を参照してください。

  2. azure_ftdv_nlb_cluster.json と azure_ftdv_nlb_cluster_parameters.json を必要なパラメータで変更します。

ステップ 2

Azure ポータルにログイン:https://portal.azure.com。

ステップ 3

リソース グループを作成します。

  1. [基本(Basics)] タブで、ドロップダウンリストから [サブスクリプション(Subscription)] および [リソースグループ(Resource group)] を選択します。

  2. 必須の [リージョン(Region)] を選択します。

ステップ 4

管理、診断、内部、外部、クラスタ制御リンクの 5 つのサブネットを持つ仮想ネットワークを作成します。

  1. 仮想ネットワークを作成します。

    1. [基本(Basics)] タブで、ドロップダウンリストから [サブスクリプション(Subscription)] および [リソースグループ(Resource group)] を選択します。

    2. 必須の [リージョン(Region)] を選択します。[次へ:IPアドレス(Next: IP addresses)] をクリックします。

  2. サブネットを追加します。

    [IPアドレス(IP Addresses)] タブで、[サブネットの追加(Add subnet)] をクリックし、管理、診断、内部、外部、およびクラスタ制御リンクのサブネットを追加します。

ステップ 5

カスタムテンプレートを展開します。

  1. [作成(Create)] > [テンプレートの展開(Template deployment)](カスタムテンプレートを使用して展開) をクリックします。

  2. [エディタで独自のテンプレートを構築する(Build your own template in the editor)] をクリックします。

  3. [ファイルの読み込み(Load File)] をクリックし、azure_ftdv_nlb_cluster.json をアップロードします。

  4. [保存(Save)] をクリックします。

ステップ 6

インスタンスの詳細を設定します。

  1. 必要な値を入力し、[確認して作成(Review + create)] をクリックします。

    (注)  

     

    クラスタ制御リンクの開始アドレスと終了アドレスは、必要な数だけ指定してください(最大 16 個)。範囲を大きくすると、パフォーマンスに影響する可能性があります。

  2. 検証に合格したら、[作成(Create)] をクリックします。

ステップ 7

インスタンスの実行後、いずれかのノードにログインし、show cluster info コマンドを使用して、クラスタの展開を確認します。

図 8. show cluster info
show cluster info

ステップ 8

Azure ポータルで、Function アプリをクリックしてクラスタを Firewall Management Center に登録します。

(注)  

 

Function アプリを使用しない場合は、[追加(Add)] > [デバイス(Device)]([追加(Add)] > [クラスタ(Cluster)] ではない)を使用して、制御ノードを Management Center に直接登録することもできます。その他のクラスタノードは自動的に登録されます。

ステップ 9

[展開センター(Deployment Center)] > [FTPSのログイン情報(FTPS credentials)] > [ユーザースコープ(User scope)] > [ユーザー名とパスワードの設定(Configure Username and Password)]をクリックして FTPS のログイン情報を作成し、[保存(Save)] をクリックします。

ステップ 10

ローカルの端末で次の curl コマンドを実行し、Cluster_Function.zip ファイルを Function アプリにアップロードします。

curl -X POST -u ユーザー名 --data-binary @"Cluster_Function.zip" https:// Function_App_Name.scm.azurewebsites.net/api/zipdeploy

(注)  

 

curl コマンドは、実行が完了するまでに数分(2 分未満~ 3 分)かかる場合があります。

関数が Function アプリにアップロードされます。関数が開始され、ストレージアカウントのアウトキューにログが表示されます。Management Center へのデバイス登録が開始されます。


Azure でのクラスタの手動展開

クラスタを手動で展開するには、Day0 構成を準備し、各ノードを展開してから制御ノードを Firewall Management Center に追加します。

Azure 向け Day 0 構成の作成

固定構成またはカスタマイズ構成のいずれかを使用できます。

Azure 向け固定構成を使用した Day 0 構成の作成

固定構成により、クラスタのブートストラップ構成が自動生成されます。


"Cluster": {
"CclSubnetRange": "ip_address_start ip_address_end",
"ClusterGroupName": "cluster_name",
"HealthProbePort": "port_number",
"GatewayLoadBalancerIP": "ip_address",
"EncapsulationType": "vxlan",
"InternalPort": "internal_port_number",
"ExternalPort": "external_port_number",
"InternalSegId": "internal_segment_id",
"ExternalSegId": "external_segment_id"
}
例

次に、Day 0 構成の例を示します。


"Cluster": {
"CclSubnetRange": "10.45.3.4 10.45.3.30",    //mandatory user input
"ClusterGroupName": "ngfwv-cluster",         //mandatory user input
"HealthProbePort": "7777",                   //mandatory user input
"GatewayLoadBalancerIP": "10.45.2.4",        //mandatory user input
"EncapsulationType": "vxlan",
"InternalPort": "2000",
"ExternalPort": "2001",
"InternalSegId": "800",
"ExternalSegId": "801"
}

(注)  


上記の設定をコピーして貼り付ける場合は、設定から //mandatory user input を必ず削除してください。

Azure ヘルスチェックの設定では、ここで設定した HealthProbePort を必ず指定してください。


CclSubnetRange 変数には、x.x.x.4 から始まる IP アドレスの範囲を指定します。クラスタリングに使用可能な IP アドレスが 16 個以上あることを確認します。開始 IP アドレスと終了 IP アドレスの例を次に示します。


(注)  


すべてのクラスタ インフラストラクチャ サブネットは /27 CIDR を使用する必要があります


表 2. 開始 IP アドレスと終了 IP アドレスの例
CIDR 開始 IP アドレス 終了 IP アドレス
10.1.1.0/27 10.1.1.4 10.1.1.30
10.1.1.32/27 10.1.1.36 10.1.1.62
10.1.1.64/27 10.1.1.68 10.1.1.94
10.1.1.96/27 10.1.1.100 10.1.1.126
10.1.1.128/27 10.1.1.132 10.1.1.158
10.1.1.160/27 10.1.1.164 10.1.1.190
10.1.1.192/27 10.1.1.196 10.1.1.222
10.1.1.224/27 10.1.1.228 10.1.1.254
Azure 向けカスタマイズ構成を使用した Day 0 構成の作成
コマンドを使用して、クラスタのブートストラップ設定をすべて入力できます。

"Cluster": {
"CclSubnetRange": "ip_address_start ip_address_end",
"ClusterGroupName": "cluster_name",
"HealthProbePort": "port_number",
"GatewayLoadBalancerIP": "ip_address",
"EncapsulationType": "vxlan",
"InternalPort": "internal_port_number",
"ExternalPort": "external_port_number",
"InternalSegId": "internal_segment_id",
"ExternalSegId": "external_segment_id"
}

クラスタノードの手動展開:GWLB ベースの展開

クラスタが形成されるようにクラスタノードを展開します。

手順

ステップ 1

Azure ポータル(https://portal.azure.com)にログインします。

ステップ 2

リソース グループを作成します。

  1. [基本(Basics)] タブで、ドロップダウンリストから [サブスクリプション(Subscription)] および [リソースグループ(Resource group)] を選択します。

  2. 必須の [リージョン(Region)] を選択します。

ステップ 3

管理、データ、クラスター制御リンク(CCL)という必要なサブネットを持つ仮想ネットワークを作成します。

(注)  

 

必要に応じて、最小のサブネットマスクで CCL を設定します。サブネットを大きくすると、パフォーマンスに影響する可能性があります。

仮想ネットワークとサブネットの作成については、Azure のドキュメント(https://learn.microsoft.com/en-us/azure/virtual-network/quickstart-create-virtual-network?tabs=portal)を参照してください。

ステップ 4

マーケットプレイスに移動して Cisco Secure Firewall Threat Defense Virtual – BYOL and PAYG を検索し、[作成(Create)] をクリックします。

ステップ 5

必要な詳細を入力し、 [このVMをクラスターの一部にする(Is this VM will be part of Cluster?)] で [はい(Yes)] を選択します。

テキストボックスに次のクラスター関連の設定を貼り付けます。

"Cluster": {
"CclSubnetRange": "ip_address_start ip_address_end",	//mandatory user input
"ClusterGroupName": "cluster_name",	//mandatory user input
"HealthProbePort": "port_number",	//mandatory user input
"GatewayLoadBalancerIP": "ip_address",	 //mandatory user input
"EncapsulationType": "vxlan",
"InternalPort": "internal_port_number",
"ExternalPort": "external_port_number",
"InternalSegId": "internal_segment_id",
"ExternalSegId": "external_segment_id"
}

ステップ 6

[次へ(Next)] をクリックし、[仮想ネットワークおよびサブネット(Virtual Network & Subnets)] を選択します。

ステップ 7

[確認して作成(Review + create)] をクリックします。Threat Defense Virtual の展開が完了するまで待ちます。

ステップ 8

Threat Defense Virtual デバイスに接続し、show cluster info コマンドを使用してクラスターが正常に形成されていることを確認します。

> show cluster info 
Cluster ngfwv-cluster: On
    Interface mode: individual
Cluster Member Limit : 16
    This is "4" in state CONTROL_NODE
        ID        : 0
        Version   : 9.23(1)
        Serial No.: 9AC1VMGJKAQ
        CCL IP    : 169.254.200.4
        CCL MAC   : 6045.bda8.e07b
        Module    : NGFWv
        Resource  : 4 cores / 14336 MB RAM
        Last join : 05:22:55 UTC Jul 14 2025
        Last leave: N/A
Other members in the cluster:
    There is no other unit in the cluster
>

ステップ 9

Azure ゲートウェイロードバランサを設定します。詳細については、「Azure ゲートウェイロードバランサを使用した Auto Scale の導入例」を参照してください。

ステップ 10

Firewall Management Center に制御ノードを追加します。Management Center へのクラスタの追加(手動展開) を参照してください。


クラスタノードの手動展開:NLB ベースの展開

クラスタが形成されるようにクラスタノードを展開します。

手順


ステップ 1

Azure ポータル(https://portal.azure.com)にログインします。

ステップ 2

リソース グループを作成します。

  1. [基本(Basics)] タブで、ドロップダウンリストから [サブスクリプション(Subscription)] および [リソースグループ(Resource group)] を選択します。

  2. 必須の [リージョン(Region)] を選択します。

ステップ 3

管理、内部、外部、クラスター制御リンク(CCL)という必要なサブネットを持つ仮想ネットワークを作成します。

(注)  

 

必要に応じて、最小のサブネットマスクで CCL を設定します。サブネットを大きくすると、パフォーマンスに影響する可能性があります。

仮想ネットワークとサブネットの作成については、Azure のドキュメント(https://learn.microsoft.com/en-us/azure/virtual-network/quickstart-create-virtual-network?tabs=portal)を参照してください。

ステップ 4

マーケットプレイスに移動して Cisco Secure Firewall Threat Defense Virtual – BYOL and PAYG を検索し、[作成(Create)] をクリックします。

ステップ 5

必要な詳細を入力し、 [このVMをクラスターの一部にする(Is this VM will be part of Cluster?)] で [はい(Yes)] を選択します。

テキストボックスに次のクラスター関連の設定を貼り付けます。

"Cluster": {
"CclSubnetRange": "ip_address_start ip_address_end",	//mandatory user input
"ClusterGroupName": "cluster_name"	//mandatory user input
}

ステップ 6

[次へ(Next)] をクリックし、[仮想ネットワークおよびサブネット(Virtual Network & Subnets)] を選択します。

ステップ 7

[確認して作成(Review + create)] をクリックします。Threat Defense Virtual の展開が完了するまで待ちます。

ステップ 8

Threat Defense Virtual デバイスに接続し、show cluster info コマンドを使用してクラスターが正常に形成されていることを確認します。

> show cluster info 
Cluster ngfwv-cluster: On
    Interface mode: individual
Cluster Member Limit : 16
    This is "4" in state CONTROL_NODE
        ID        : 0
        Version   : 9.23(1)
        Serial No.: 9AC1VMGJKAQ
        CCL IP    : 169.254.200.4
        CCL MAC   : 6045.bda8.e07b
        Module    : NGFWv
        Resource  : 4 cores / 14336 MB RAM
        Last join : 05:22:55 UTC Jul 14 2025
        Last leave: N/A
Other members in the cluster:
    There is no other unit in the cluster
>

ステップ 9

Management Center に制御ノードを追加します。Management Center へのクラスタの追加(手動展開) を参照してください。


Azure でのトラブルシューティング クラスタ展開

  • 問題:トラフィックフローがない

    トラブルシューティング:

    • GWLB で展開された Threat Defense Virtual インスタンスの正常性プローブステータスが正常かどうかを確認します。

    • Threat Defense Virtual インスタンスの正常性プローブステータスが異常である場合:

      • Management Center Virtual でスタティックルートが設定されているかどうかを確認します。

      • デフォルトゲートウェイがデータサブネットのゲートウェイ IP であるかどうかを確認します。

      • Threat Defense Virtual インスタンスが正常性プローブトラフィックを受信しているかどうかを確認します。

      • Management Center Virtual で設定されたアクセスリストが正常性プローブトラフィックを許可しているかどうかを確認します。

  • 問題:クラスタが形成されていない

    トラブルシューティング:

    • nve-only クラスタインターフェイスの IP アドレスを確認します。他のノードの nve-only のクラスタインターフェイスにピン可能であることを確認します。

    • nve-only のクラスタインターフェイスの IP アドレスが、オブジェクトグループの一部であることを確認します。

    • NVE インターフェイスがオブジェクトグループで設定されていることを確認します。

    • クラスタグループのクラスタインターフェイスに適切な VNI インターフェイスがあることを確認します。この VNI インターフェイスには、対応するオブジェクトグループを持つ NVE があります。

    • ノードが相互にピン可能であることを確認します。各ノードに独自のクラスタインターフェイス IP があるため、これらは相互にピン可能である必要があります。

    • テンプレート展開中に指定された CCL サブネットの開始アドレスと終了アドレスが正しいかどうかを確認します。開始アドレスは、サブネット内で使用可能な最初の IP アドレスで始まる必要があります。たとえば、サブネットが 192.168.1.0/27 の場合、開始アドレスは 192.168.1.4 である必要があります(最初の 3 つの IP アドレスは Azure によって予約されています)。

    • Management Center Virtual に有効なライセンスがあるかどうかを確認します。

  • 問題:同じリソースグループに再度リソースを展開しているときにロールに関連するエラーが発生する。

    トラブルシューティング:端末で次のコマンドを使用して、以下のロールを削除します。

    エラー メッセージ:
    
    "error": {
    "code": "RoleAssignmentUpdateNotPermitted",
    "message": "Tenant ID, application ID, principal ID, and scope are not allowed to be
    updated.”}
    • az role assignment delete --resource-group <リソースグループ名 > --role "Storage Queue Data Contributor"

    • az role assignment delete --resource-group <リソースグループ名 > --role "Contributor"

Firewall Threat Defense Virtual Azure のクラスタリング自動スケールソリューション

Azure リージョンでの一般的なクラスタ展開には、定義された数の Firewall Threat Defense Virtual インスタンス(ノード)が含まれます。Azure リージョンのトラフィックが変化しても、ノードのダイナミックスケーリング(自動スケール)が行われず、以前からのクラスタ配置のままだと、リソースが十分に活用されなかったり、遅延を引き起こしたりします。Cisco は、Azure リージョンのノードのダイナミックスケーリングをサポートする Firewall Threat Defense Virtual クラスタリング向けに自動スケールソリューションをバージョン 7.7 以降で提供しています。このソリューションにより、ネットワークトラフィックに基づいてクラスタからノードを追加または削除して、スケールインまたはスケールアウトを行えます。CPU やメモリのメトリックなどの Azure VMSS メトリックからのリソース使用率の統計に基づくロジックを使用して、クラスタに対してノードを動的に追加または削除します。

Azure の自動スケールソリューションを使用した Firewall Threat Defense Virtual クラスタリングは、ネットワークロードバランサ(NLB またはサンドイッチトポロジ)とゲートウェイロードバランサ(GWLB)の両方をサポートします。トポロジの例を参照してください。

Cisco では、NLB や GWLB を使用して Firewall Threat Defense Virtual クラスタを Azure に自動スケールして展開するための個別の Azure Resource Manager(ARM)テンプレートと、関数アプリや論理アプリなど、Azure サービスを展開するためのインフラストラクチャ テンプレートと構成テンプレートを提供しています。

トポロジの例

Firewall Threat Defense Virtual サンドイッチトポロジ(ネットワーク ロードバランサ)を使用した Azure での自動スケールのクラスタリング

サンドイッチトポロジ(NLB)を使用する Azure の自動スケール対応 Firewall Threat Defense Virtual クラスタリングのユースケースは、Azure の内部ロードバランサ(ILB)と Azure の外部ロードバランサ(ELB)にサンドイッチされるように Firewall Threat Defense Virtual スケールセットを配置する、自動水平スケーリングソリューションです。

このトポロジでは、Firewall Threat Defense Virtual は、管理、内部、外部、および CCL サブネットの 4 つの インターフェイスのみを使用します。

サンドイッチトポロジ(NLB)を使用した Azure での自動スケールによる Firewall Threat Defense Virtual クラスタリング

以下では、NLB 機能を使用して Azure での自動スケールを行う Firewall Threat Defense Virtual クラスタのフローの概要を示します。

  • ELB は、インターネットからのトラフィックをスケールセット内の Firewall Threat Defense Virtual インスタンスに分散させます。その後、ファイアウォールがアプリケーションにトラフィックを転送します。

  • ILB は、アプリケーションからのアウトバウンド インターネット トラフィックをスケールセット内の Firewall Threat Defense Virtual インスタンスに分散させます。その後、ファイアウォールがインターネットにトラフィックを転送します。

  • ネットワークパケットが、単一の接続で両方(内部および外部)のロードバランサを通過することはありません。

  • スケールセット内の Firewall Threat Defense Virtual インスタンスの数は、負荷条件に基づいて自動的にスケーリングおよび設定されます。

ゲートウェイロードバランサを使用した Azure での自動スケールによる Firewall Threat Defense Virtual クラスタリング

自動スケールソリューションを使用した Azure ゲートウェイロードバランサ(GWLB)と Firewall Threat Defense Virtual クラスタの統合により、クラスタセットアップでのインスタンスの展開、管理、およびスケーリングが簡素化されます。Azure ゲートウェイロードバランサ(GWLB)は、アプリケーションサーバーなどの Azure VM との間のインターネットトラフィックが、ルーティングの変更を必要とせずに Cisco Secure Firewall によって検査されるようにします。また、この統合により、運用の複雑さが軽減され、ファイアウォールでのトラフィックの単一のエントリポイントとエグジットポイントが提供されます。アプリケーションとインフラストラクチャは、送信元 IP アドレスの可視性を維持できます。一部の環境では、この可視性が非常に重要です。

Firewall Threat Defense Virtual は、この使用例では、管理、データ、CCL インターフェイスの 3 つのインターフェイスのみを使用します。


(注)  


  • Azure GWLB を展開する場合、ネットワークアドレス変換(NAT)は必要ありません。

  • IPv4 だけがサポートされます。




以下では、GWLB 機能を使用して、Azure で自動スケールを行う Firewall Threat Defense Virtual クラスターのフローの概要を説明します。

  • インターネットからの着信トラフィックは、GWLB エンドポイントに送られ、そこから GWLB にトラフィックが送信されます。

  • その後、トラフィックは Firewall Threat Defense Virtual クラスタにルーティングされます。

  • トラフィックは、クラスタ内の Firewall Threat Defense Virtual インスタンスによって検査された後、アプリケーション VM に転送されます。

前提条件

  • Azure サブスクリプションの所有者ロールがあることを確認します。

  • Azure リソースグループを作成します。必要なサブネットとともに Azure Virtual Network が作成されていることを確認します。

    • NLB ベースのクラスターのインターフェイス:管理、診断、内部、外部、CCL、および関数アプリ。

    • GWLB ベースのクラスターのインターフェイス:管理、診断、データ、CCL、および関数アプリ。

  • Management Center での作業:

    • Management Center Virtual が適切にライセンスされていることを確認します。

    • アクセス コントロール ポリシーを作成します。

    • インターフェイスのセキュリティゾーン(SZ)オブジェクトを作成します。NLB ベースのクラスターの場合、内部インターフェイスと外部インターフェイスの SZ を作成します。GWLB ベースのクラスターの場合、データインターフェイスの SZ を作成します。

    • Azure 機能用に個別のユーザー名とパスワードを作成して、Threat Defense Virtual インスタンスを Management Center Virtual に追加し、インスタンスを設定します。

  • ローカルシステムに Azure CLI をインストールします。

  • Azure Clustering Auto scale リポジトリを GitHub から、お使いのローカルコンピュータにダウンロードし、コマンド python3 make.py build を実行して Azure 関数の zip ファイルを作成します。

Azure での Firewall Threat Defense Virtual クラスタリングの自動スケールロジック

スケーリングポリシー

自動スケールを備えたクラスタでは、ノードのスケーリングは次のポリシーに基づいて決定されます。

  • スケーリングポリシー 1:1 つのクラスタノードがリソース使用率の制限を超えている。

  • スケーリングポリシー 2:すべてのノードの全体的な平均リソース使用率。

スケールアウト

スケールアウトとは、トラフィック負荷のしきい値がクラスタのいずれかのノードに設定されている CPU またはメモリの制限を超えたときに、クラスタに新しいノードを追加するプロセスです。

次に、スケールアウト中にクラスタに新しいノードを追加するプロセスを示します。

  1. 新しい Firewall Threat Defense Virtual インスタンスが起動します。

  2. Firewall Threat Defense Virtual に適切な設定が適用されます。

  3. 適切なライセンスが適用されます。

  4. 新しい Firewall Threat Defense Virtual インスタンスがクラスタに追加されます。

スケールアウトプロセス中に新しい Firewall Threat Defense Virtual インスタンスの設定が失敗した場合(確率は低い)、失敗したインスタンスは終了し、新しいインスタンスが起動して設定されます。

スケールイン

スケールインは、設定されたスケールインしきい値に達した場合、およびクラスタインスタンスの合計数が最小クラスタサイズを超えた場合に、クラスタからノードを削除するプロセスです。

次に、スケールイン中にクラスタ内のノードを終了するプロセスを示します。

  1. CPU またはメモリ使用率が最も低い Firewall Threat Defense Virtual インスタンスを、VMSS メトリックを使用して識別します。

  2. 使用率が同じ最小のインスタンスが複数ある場合、VMSS の VM インデックスが高いインスタンスがスケールイン用に選択されます。

  3. このインスタンスへの新しい接続は、適切な設定とポリシーによって無効になります。

  4. インスタンスがスマートライセンスから登録解除されます(BYOL に該当)。

  5. インスタンスが終了します。

Azure 関数(Function App)

Function アプリケーションは、Firewall Threat Defense Virtual クラスタを有効化し、Management Center にクラスタを登録するのに役立ちます。Function アプリケーションは、自動スケール展開を使用した Firewall Threat Defense Virtual クラスタリングのホスティングプランを選択するのにも役立ちます。

次の 2 種類のホスティングプランが提供されています。

  • 消費

    • これは、自動スケールを使用した Firewall Threat Defense Virtual クラスタリングのデフォルトのホスティングプランです。

    • このプランでは、リージョンの Azure データセンター IP アドレスへの SSH ポートを開くことにより、Function アプリが Firewall Threat Defense Virtual インスタンスに接続できます。

  • プレミアム

    • 展開時に Function アプリに対してこのホスティングプランを選択できます。

    • このプランでは、Function アプリにネットワークアドレス変換(NAT)ゲートウェイを追加して、Function アプリのアウトバウンド IP アドレスを制御できます。このプランでは、NAT ゲートウェイの固定 IP アドレスからのみ Firewall Threat Defense Virtual インスタンスへの SSH アクセスを許可するため、セキュリティが強化されます。

自動スケールソリューションのコンポーネントの概要については、『Cisco Secure Firewall Threat Defense Virtual Getting Started Guide』の「Auto Scale Solution Components」を参照してください。

GitHub での展開とインフラストラクチャのテンプレート

シスコでは、Function App、Logic App、自動スケーリンググループなどの複数の Azure サービスを使用して Firewall Threat Defense Virtual クラスターの自動スケーリンググループを展開するための Azure Resource Manager(ARM)テンプレートおよびスクリプトを提供しています。

Firewall Threat Defense Virtual クラスターの自動スケールソリューションは、以下を提供する ARM テンプレートベースの展開です。

  • Function App を使用した Management Center における Firewall Threat Defense Virtual インスタンスの登録と登録解除の完全な自動化。

  • スケールアウトされた Threat Defense Virtual インスタンスへの NAT ポリシー、アクセス コントロール ポリシー、ルートの自動適用。

  • GWLB および NLB ロードバランサのサポート。

  • Management Center でのみ機能し、デバイスマネージャはサポートされていません。

自動スケール ソリューション テンプレートを使用した Firewall Threat Defense Virtual クラスタリング

Azure Resource Manager(ARM)テンプレート

クラスタに Azure で使用している(NLB または GWLB)ロードバランサに基づいて、自動スケールソリューション用に 2 セットのテンプレートが用意されています。

GitHub では、次のテンプレートを使用できます。

  • NLB を使用した Firewall Threat Defense Virtual クラスタリングの自動スケール ソリューション テンプレート:arm-templates フォルダにある azure_ftdv_nlb_cluster.json.json。

  • GWLB を使用した Firewall Threat Defense Virtual クラスタリングの自動スケール ソリューション テンプレート:arm-templates フォルダにある azure_ftdv_gwlb_cluster.json。

Azure インフラストラクチャと設定のセットアップ

  • Firewall Threat Defense Virtual インスタンスでクラスターを有効にする Function App:cluster_functions.zip。

  • Firewall Threat Defense Virtual の展開、スケールイン、スケールアウトワークフロー用の Logic App コード:logic_app.txt。

入力パラメータ

次の表に、テンプレート パラメータおよび例を示します。各パラメータの値を決定すると、Azure サブスクリプションに Azure Resource Manager(ARM)テンプレートを展開するときに、それらのパラメータを使用して Firewall Threat Defense Virtual を作成できます。Azure 向けの GWLB を使用した自動スケールソリューションによるクラスタリングでは、テンプレートで追加の入力パラメータを設定する必要があるため、ネットワーキング インフラストラクチャも作成されます。パラメータの意味は一目瞭然なので説明を省略します。

表 3. テンプレートパラメータ

パラメータ名

使用できる値/タイプ

説明

リソースの作成タイプ

resourceNamePrefix

文字列*(3 ~ 10 文字)

すべてのリソースは、このプレフィックスを含む名前で作成されます。

注:小文字のみを使用してください。

例:ftdv

新規作成

virtualNetworkRg

文字列

仮想ネットワークのリソースグループの名前。

例:cisco-virtualnet-rg

既存

virtualNetworkName

文字列

仮想ネットワーク名(作成済み)

例:cisco-virtualnet

既存

virtualNetworkCidr

CIDR 形式

x.x.x.x/y

仮想ネットワークの CIDR(作成済み)

既存

mgmtSubnet

文字列

管理サブネット名(作成済み)

例:cisco-mgmt-subnet

既存

dataSubnet

文字列

データサブネット名(作成済み)

例:cisco-data-subnet

cclSubnet

文字列

クラスタ制御リンクのサブネット名。

例:cisco-ccl-subnet

cclSubnetStartAddr

文字列

CCL サブネット IP アドレスの範囲開始。

例:3.4.5.6

cclSubnetEndAddr

文字列

CCL サブネット IP アドレスの範囲終了。

例:5.6.7.8

gwlbIP

文字列

GWLB は既存のデータサブネットに作成されます。

例:10.0.2.4

dataNetworkGatewayIp

文字列

データサブネットのゲートウェイ IP アドレス。

例:10.0.2.7

outsideSecurityZoneName

文字列

管理センターで作成されたセキュリティ ゾーン オブジェクト名

例:outside-sz

TDvmManagementUserName

文字列

TDv 管理の管理者ユーザー名。

ユーザー名として「admin」を指定することはできません。

diagSubnet

文字列

診断サブネット名(作成済み)

例:cisco-diag-subnet

既存

insideSubnet

文字列

内部サブネット名(作成済み)

例:cisco-inside-subnet

既存

internalLbIp

文字列

内部サブネットの内部ロードバランサの IP アドレス(作成済み)。

例:1.2.3.4

既存

insideNetworkGatewayIp

文字列

内部サブネットのゲートウェイ IP アドレス(作成済み)

既存

outsideSubnet

文字列

外部サブネット名(作成済み)

例:cisco-outside-subnet

既存

outsideNetworkGatewayIp

文字列

外部サブネットゲートウェイ IP(作成済み)

既存

deviceGroupName

文字列

Firewall Management Center のデバイスグループ(作成済み)

既存

insideZoneName

文字列

Firewall Management Center の内部ゾーン名(作成済み)

既存

outsideZoneName

文字列

Firewall Management Center の外部ゾーン名(作成済み)

既存

softwareVersion

文字列

Firewall Threat Defense Virtual バージョン(展開時にドロップダウンリストから選択)。

既存

vmSize

文字列

Firewall Threat Defense Virtual インスタンスのサイズ(展開時にドロップダウンリストから選択)。

該当なし

ftdLicensingSku

文字列

Firewall Threat Defense Virtual ライセンスモード(PAYG/BYOL)

注:PAYG はバージョン 6.5+ でサポートされています。

該当なし

licenseCapability

カンマ区切り文字列

BASE、MALWARE、URLFilter、THREAT

該当なし

tdVmManagementUserName

文字列 *

Firewall Threat Defense Virtual VM 管理の管理者ユーザー名。

これは「admin」にはできません。VM 管理者ユーザー名のガイドラインについては、「Azure」を参照してください。

新規作成

tdVmManagementUserPassword

文字列 *

Firewall Threat Defense Virtual VM 管理の管理者ユーザーのパスワード。

パスワードの長さは 12 〜 72 文字で、小文字、大文字、数字、特殊文字を使用する必要があります。また、文字の繰り返しは 2 回までにする必要があります。

(注)  

 

テンプレートには、このパラメータのコンプライアンスチェック機能はありません。

新規作成

ftdAdminUserPassword

String

Firewall Threat Defense Virtual 管理者ユーザーのパスワード。

(注)  

 

TDvmManagementUserPassword パラメータについて説明されている基準は、このパラメータにも適用されます。

fmcIpAddress

文字列

x.x.x.x

Firewall Management Center のパブリック IP アドレス(作成済み)

既存

fmcUserName

文字列

管理権限を持つ Firewall Management Center ユーザー名(作成済み)

既存

fmcPassword

文字列

前述の Firewall Management Center ユーザー名の Firewall Management Center パスワード(作成済み)

既存

policyName

文字列

Firewall Management Center で作成されたセキュリティポリシー(作成済み)

既存

clusterGroupName

文字列

脅威防御デバイスを管理センターに登録するときに使用されるクラスタグループの名前。

例:tdv-cluster

healthCheckPortNumber

文字列

ゲートウェイロードバランサで正常性プローブを作成するときに使用されるヘルスチェックのポート番号。

例:8080

functionHostingPlan

文字列

機能展開のホスティングプラン(consumption は消費ホスティングプランを使用、premium はプレミアム ホスティング プランを使用)。

デフォルト:consumption

functionAppSubnet

文字列

関数アプリサブネット名(作成済み)。

例:tdv-fapp-subnet

functionAppSubnetCIDR

文字列

関数アプリサブネットの CIDR(作成済み)。

例:10.0.4.0/27

scalingMetricsList

文字列

スケーリングの決定に使用されるメトリック。

許可:CPU および MEMORY

scalingPolicy

POLICY-1/POLICY-2

POLICY-1:設定された期間に、いずれかの Firewall Threat Defense Virtual の平均負荷がスケールアウトしきい値を超えるとスケールアウトがトリガーされます。

POLICY-2:設定された期間に、VMSS のすべての Firewall Threat Defense Virtual デバイスの平均負荷がスケールアウトしきい値を超えるとスケールアウトがトリガーされます。

どちらの場合も、スケールインロジックは同じままです。設定された期間に、すべての Firewall Threat Defense Virtual デバイスの平均負荷がスケールインしきい値を下回るとスケールインがトリガーされます。

該当なし

scalingMetricsList

文字列

スケーリングの決定に使用されるメトリック。

許可:CPU、MEMORY

デフォルト:CPU

該当なし

cpuScaleInThreshold

文字列

CPU メトリックのスケールインしきい値(パーセント単位)。

デフォルト:10

Firewall Threat Defense Virtual メトリックがこの値を下回ると、スケールインがトリガーされます。

Azure での Firewall Threat Defense Virtual クラスタリングの自動スケールロジック を参照してください。

該当なし

cpuScaleOutThreshold

文字列

CPU メトリックのスケールアウトしきい値(パーセント単位)。

デフォルト:80

Firewall Threat Defense Virtualメトリック(CPU 使用率)がこの値を上回ると、スケールアウトがトリガーされます。

「cpuScaleOutThreshold」は、常に「cpuScaleInThreshold」より大きくする必要があります。

「Azure での Firewall Threat Defense Virtual クラスタリングの自動スケールロジック」を参照してください。

該当なし

memoryScaleInThreshold

文字列

メモリメトリックのスケールインしきい値(パーセント単位)。

デフォルト:0

Firewall Threat Defense Virtualメトリック(CPU 使用率)がこの値を下回ると、スケールインがトリガーされます。

「Azure での Firewall Threat Defense Virtual クラスタリングの自動スケールロジック」を参照してください。

該当なし

memoryScaleOutThreshold

文字列

メモリメトリックのスケールアウトしきい値(パーセント単位)。

デフォルト:0

Firewall Threat Defense Virtualメトリック(CPU 使用率)がこの値を上回ると、スケールアウトがトリガーされます。

「memoryScaleOutThreshold」は、常に「memoryScaleInThreshold」より大きくする必要があります。

「Azure での Firewall Threat Defense Virtual クラスタリングの自動スケールロジック」を参照してください。

該当なし

minFtdCount

整数

任意の時点でスケールセットで使用可能な最小 Firewall Threat Defense Virtual インスタンス数。

例:2。

該当なし

maxFtdCount

整数

スケールセットで許可される最大 Firewall Threat Defense Virtual インスタンス数。

例:10

(注)  

 

この数は Firewall Management Center の容量によって制限されます。

Auto Scale ロジックではこの変数の範囲はチェックされないため、慎重に入力してください。

該当なし

metricsAverageDuration

整数

ドロップダウンから選択します。

この数値は、メトリックが平均化される時間(分単位)を表します。

この変数の値が 5(5 分)の場合、Auto Scale Manager がスケジュールされると、メトリックの過去 5 分間の平均がチェックされ、その結果に基づいてスケーリングの判断が行われます。

(注)  

 

Azure の制限により、有効な数値は 1、5、15、および 30 だけです。

該当なし

initDeploymentMode

BULK/STEP

主に最初の展開、またはスケールセットに Firewall Threat Defense Virtual インスタンスが含まれていない場合に適用されます。

BULK:Auto Scale Manager は、「minFtdCount」個の Firewall Threat Defense Virtual インスタンスを同時に展開しようとします。

(注)  

 

起動は並行して行われますが、Firewall Management Center への登録は Firewall Management Center の制限により順次実行されます。

STEP:Auto Scale Manager は、スケジュールされた間隔ごとに「minFtdCount」個の Firewall Threat Defense Virtualデバイスを 1 つずつ展開します。

(注)  

 

STEP オプションでは、「minFtdCount」個のインスタンスが Firewall Management Center で起動および設定されて、動作可能になるまで時間がかかりますが、デバッグに役立ちます。

BULK オプションでは、(並行実行のため)「minFtdCount」個すべての Firewall Threat Defense Virtual を起動するのに 1 つの Firewall Threat Defense Virtual 起動と同じ時間がかかりますが、Firewall Management Center の登録は順次実行されます。

「minFtdCount」個の Firewall Threat Defense Virtual を展開するための合計時間 =(1 つの Firewall Threat Defense Virtual の起動時間 + 1 つの Firewall Threat Defense Virtual 登録および設定時間 * minFtdCount)。

* Azure には、新しいリソースの命名規則に関する制限があります。制限を確認するか、またはすべて小文字を使用してくださいスペースやその他の特殊文字は使用しないでください。

自動スケールを備えた Firewall Threat Defense Virtual クラスタの展開プロセスとリソース

Azure リソース マネージャ テンプレート展開リソース

自動スケールを備えた Firewall Threat Defense Virtual クラスタの Azure での展開プロセスには次の作業が含まれます。

  • ARM テンプレートを展開します。

  • クラスタリング機能を構築して展開します。

  • 論理アプリケーションを更新して有効化します。

サンドイッチトポロジ(NLB)の ARM テンプレート(azure_ftdv_nlb_cluster_autoscale.json)を使用して、Azure に自動スケールを備えた Firewall Threat Defense Virtual クラスターを展開すると、リソースグループ内に次のリソースが作成されます。

  • 仮想マシンスケールセット(VMSS)

  • 外部ロードバランサ

  • 内部ロードバランサ

  • Azure Function App

  • Logic App

  • セキュリティグループ(データインターフェイスおよび管理インターフェイス用)

GWLB の ARM テンプレート(azure_ftdv_gwlb_cluster_autoscale.json)を使用して、Azure に自動スケールを備えた Firewall Threat Defense Virtual クラスターを展開すると、次のリソースがリソースグループ内に作成されます。

  • 仮想マシン(VM)または仮想マシンスケールセット(VMSS)

  • ゲートウェイロードバランサ(GWLB)

  • Azure Function App

  • Logic App

  • ネットワーキング インフラストラクチャ

  • 展開に必要なセキュリティグループおよびその他のコンポーネント。

自動スケールソリューションを使用した Firewall Threat Defense Virtual クラスターの展開

ARM テンプレートを使用して、Azure に自動スケールソリューションを備えた Threat Defense Virtual クラスタリングを展開します。トポロジ、サンドイッチ(NLB)または GWLB のユースケースに基づいて、Azure の自動スケールソリューションを使用して Firewall Threat Defense Virtual クラスタリングを展開するための適切な ARM テンプレートをダウンロードして構成する必要があります。

始める前に

GitHub からの展開パッケージのダウンロード

Azure 向けの NLB ソリューションを使用する Firewall Threat Defense Virtual クラスタリング自動スケールは、Azure Resource Manager(ARM)テンプレートベースの展開であり、Azure が提供するサーバーレス インフラストラクチャ(論理アプリ、Azure 関数、ロードバランサ、仮想マシンスケールセットなど)を使用します。

Azure 向けの GWLB ソリューションを使用する Firewall Threat Defense Virtual クラスタリング自動スケールは、ARM テンプレートベースの展開であり、GWLB、ネットワーキング インフラストラクチャ、脅威防御仮想自動スケーリンググループ、サーバーレスコンポーネント、および他の必要なリソースを作成します。

両方のソリューションの展開手順はほぼ同じです。

Azure 向けの自動スケールソリューションを使用する Firewall Threat Defense Virtual クラスタリングの起動に必要なファイルをダウンロードします。

該当するバージョン用の展開スクリプトとテンプレートは、GitHub リポジトリから入手できます。

手順


ステップ 1

Microsoft アカウントのユーザー名とパスワードを使用して、Microsoft Azure ポータル(https://portal.azure.com)にログインします。

ステップ 2

[Resource Groups] ブレードにアクセスするには、サービスのメニューから [Resource groups] をクリックします。サブスクリプション内のすべてのリソースグループがブレードに一覧表示されます。新しいリソースグループを作成するか、既存の空のリソースグループを選択します。たとえば、threat defense virtual_AutoScale です。

ステップ 3

[リソースの作成(+)(Create a resource (+))] をクリックして、テンプレート展開用の新しいリソースを作成します。[Create Resource Group] ブレードが表示されます。

ステップ 4

サービスのメニューから [Virtual Network] をクリックして、仮想ネットワークブレードにアクセスします。サブネットを含む仮想ネットワークを作成します。

  • GWLB 展開の場合、管理、データ、CCL サブネット、および関数アプリケーションを持つ仮想ネットワークを作成します。

  • NLB 展開の場合、管理、内部、外部、CCL サブネット、および関数アプリケーションを持つ仮想ネットワークを作成します。



ステップ 5

[Search the Marketplace] で、「Template deployment」(カスタムテンプレートを使用した展開)と入力し、Enter を押します。

ステップ 6

[作成(Create)] をクリックします。テンプレートを作成するためのオプションは複数あります。[エディタで独自のテンプレートを作成する(Build your own template in editor)] を選択します。

ステップ 7

[テンプレートの編集(Edit template)] ウィンドウで、すべてのデフォルトコンテンツを削除し、更新した azure_ftdv_gwlb_cluster_custom_image.json または azure_ftdv_nlb_cluster_custom_image.json から(Azure に展開する自動スケールソリューションのタイプに応じて)コンテンツをコピーして、[保存(Save)] をクリックします。または、[Load file] をクリックし、コンピューターからこのファイルを参照してアップロードします。





ステップ 8

パラメータ フィールド セクションで、すべてのパラメータを入力します。各パラメータの詳細については、「入力パラメータ」を参照してください。次に、[レビューと作成(Review+Create)] をクリックします。

ステップ 9

テンプレートの展開が成功すると、Azure 向けの脅威防御仮想 自動スケールソリューションに必要なすべてのリソースが作成されます。次の図のリソースを参照してください。[タイプ(Type)] 列には、論理アプリケーション、VMSS、ロードバランサ、パブリック IP アドレスなどの各リソースが示されます。


次のタスク

Azure Function App の展開。

Azure Function App の展開

ARM テンプレートを展開すると、Azure は <resourceNamePrefix>-function-app という名前で Function App を作成します。

手順


ステップ 1

ARM テンプレートを展開したときに作成した Function App に移動し、次の手順を実行します。

ローカルコンピュータから次のコマンドを実行して、クラスター自動スケール Azure 関数を Function App に展開します。
az functionapp deployment source config-zip -g <Resource Group Name> 
-n <Function App Name> --src  <cluster_functions.zip> --build-remote true

ステップ 2

Azure 関数の展開後、Function App の概要セクションにアップロードされた関数を表示できます。


Azure Logic App の更新

Logic App は、Auto Scale 機能の Orchestrator として機能します。ARM テンプレートによってスケルトン Logic App が作成されます。このアプリケーションを手動で更新して、Auto Scale Orchestrator として機能するために必要な情報を提供する必要があります。

手順


ステップ 1

リポジトリから、LogicApp.txt ファイルをローカルシステムに取得し、次のように編集します。

重要

 

手順をすべて読んで理解してから続行してください。

手動の手順は、ARM テンプレートでは自動化されないため、Logic App のみ後で個別にアップグレードできます。

  1. すべての「SUBSCRIPTION_ID」を検索し、サブスクリプション ID 情報に置き換えます。

  2. すべての「RG_NAME」を検索し、リソースグループ名に置き換えます。

  3. すべての「FUNCTIONAPPNAME」を検索し、Function App 名に置き換えます。

    次の例は、LogicApp.txt ファイルの行の一部を示しています。

    
      "AutoScaleManager": {
          "inputs": {
              "function": {
                  "id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RG_NAME/providers/Microsoft.Web/sites/FUNCTIONAPPNAME/functions/AutoScaleManager"
              }
    .
    .
                          },
                          "Deploy_Changes_to_FTD": {
                              "inputs": {
                                  "body": "@body('AutoScaleManager')",
                                  "function": {
                                      "id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RG_NAME/providers/Microsoft.Web/sites/FUNCTIONAPPNAME/functions/DeployConfiguration"
                                  }
    .
    .
                          "DeviceDeRegister": {
                              "inputs": {
                                  "body": "@body('AutoScaleManager')",
                                  "function": {
                                      "id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/RG_NAME/providers/Microsoft.Web/sites/FUNCTIONAPPNAME/functions/DeviceDeRegister"
                                  }
                              },
                              "runAfter": {
                                  "Delay_For_connection_Draining": [
    
    
  4. (任意) トリガー間隔を編集するか、デフォルト値(5)のままにします。これは、Auto Scale 機能が定期的にトリガーされる時間間隔です。次の例は、LogicApp.txt ファイルの行の一部を示しています。

    
            "triggers": {
                "Recurrence": {
                    "conditions": [],
                    "inputs": {},
                    "recurrence": {
                        "frequency": "Minute",
                        "interval": 5
                    },
    
    
  5. (任意) ドレインする時間を編集するか、デフォルト値(5)のままにします。これは、スケールイン操作中にデバイスを削除する前に、Firewall Threat Defense Virtual から既存の接続をドレインする時間間隔です。次の例は、LogicApp.txt ファイルの行の一部を示しています。

    
             "actions": {
                  "Branch_based_on_Scale-In_or_Scale-Out_condition": {
                      "actions": {
                          "Delay_For_connection_Draining": {
                              "inputs": {
                                  "interval": {
                                      "count": 5,
                                      "unit": "Minute"
                                  }
    
    
  6. (任意) クールダウン時間を編集するか、デフォルト値(10)のままにします。これは、スケールアウト完了後に NO ACTION を実行する時間です。次の例は、LogicApp.txt ファイルの行の一部を示しています。

    
                     "actions": {
                         "Branch_based_on_Scale-Out_or_Invalid_condition": {
                             "actions": {
                                 "Cooldown_time": {
                                     "inputs": {
                                         "interval": {
                                             "count": 10,
                                             "unit": "Second"
                                      }
    
    

(注)  

 

これらの手順は、Azure ポータルからも実行できます。詳細については、Azure のドキュメントを参照してください。

ステップ 2

[Logic Appコードビュー(Logic App code view)] に移動し、デフォルトの内容を削除して、編集した LogicApp.txt ファイルの内容を貼り付け、[保存(Save)] をクリックします。

図 9. Logic App コードビュー

ステップ 3

Logic App を保存すると、[無効(Disabled)] 状態になります。Auto Scale Manager を起動する場合は、[有効化(Enable)] をクリックします。

図 10. Logic App の有効化

ステップ 4

有効にすると、タスクの実行が開始されます。[実行中(Running)] ステータスをクリックしてアクティビティを表示します。

図 11. Logic App の実行ステータス

ステップ 5

Logic App が起動すると、導入関連のすべての手順が完了します。

ステップ 6

Firewall Threat Defense Virtual インスタンスが作成されていることを VMSS で確認します。

図 12. 稼働中のThreat Defense Virtual インスタンス

この例では、ARM テンプレートの展開で「'minFtdCount'」が「3」に設定され、「initDeploymentMode」が「BULK」に設定されているため、3 つの Firewall Threat Defense Virtual インスタンスが起動されます。


Management Center へのクラスタの追加(手動展開)

クラスタを手動で展開した場合は、この手順を使用してクラスタを Firewall Management Center に追加します。テンプレートを使用した場合、クラスタは自動的に Firewall Management Center に登録されます。

クラスタ ユニットのいずれかを新しいデバイスとして Firewall Management Center に追加します。Firewall Management Center は、他のすべてのクラスタ メンバーを自動検出します。

始める前に

  • すべてのクラスタユニットは、Firewall Management Center に追加する前に、正常な形式のクラスタ内に存在している必要があります。また、どのユニットが制御ユニットかを確認することも必要です。Firewall Threat Defense show cluster info コマンドを使用します。

手順


ステップ 1

Firewall Management Center で、[デバイス(Devices)] > [デバイス管理(Device Management)] の順に選択してから、[追加(Add)] > [デバイスの追加(Add Device)] の順に選択し、制御ユニットの管理 IP アドレスを使用して制御ユニットを追加します。

図 13. デバイスの追加
デバイスの追加
  1. [ホスト(Host)] フィールドに、制御ユニットの IP アドレスまたはホスト名を入力します。

    最適なパフォーマンスを得るため、制御ユニットの追加を推奨しますが、クラスタの任意のユニットを追加できます。

    デバイスのセットアップ時に NAT ID を使用した場合は、このフィールドを入力する必要がない可能性があります。

  2. [表示名(Display Name)] フィールドに、Firewall Management Center での制御ユニットの表示名を入力します。

    この表示名はクラスタ用ではありません。追加する制御ユニット専用です。後で、他のクラスタメンバーの名前やクラスタ表示名を変更できます。

  3. [登録キー(Registration Key)] フィールドに、デバイスの設定時に使用したものと同じ登録キーを入力します。登録キーは、1 回限り使用可能な共有シークレットです。

  4. (任意) デバイスをデバイスグループに追加します。

  5. 登録後すぐに、デバイスに展開する最初の [アクセス コントロール ポリシー(Access Control Policy)] を選択するか、新しいポリシーを作成します。

    新しいポリシーを作成する場合は、基本ポリシーのみを作成します。必要に応じて、後でポリシーをカスタマイズできます。

  6. デバイスに適用するライセンスを選択します。

  7. デバイスの設定時に、NAT ID を使用した場合、[詳細(Advanced)] セクションを展開し、[一意の NAT ID(Unique NAT ID)] フィールドに同じ NAT ID を入力します。

  8. [パケットの転送(Transfer Packets)] チェックボックスをオンにし、デバイスで Firewall Management Center にパケットを転送することを許可します。

    このオプションは、デフォルトで有効です。このオプションを有効にして IPS や Snort などのイベントがトリガーされた場合は、デバイスが検査用としてイベント メタデータ情報とパケット データを Firewall Management Center に送信します。このオプションを無効にした場合は、イベント情報だけが Firewall Management Center に送信され、パケット データは送信されません。

  9. [登録(Register)] をクリックします。

    Firewall Management Center は、制御ユニットを識別して登録した後に、すべてのデータユニットを登録します。制御ユニットが正常に登録されていない場合、クラスタは追加されません。クラスタが稼働状態になかった場合や、接続問題などが原因で、登録エラーが発生する場合があります。こうした状況では、クラスタ ユニットを再度追加することをお勧めします。

    [デバイス(Devices)] > [デバイス管理(Device Management)] ページにクラスター名が表示されます。クラスターを展開して、クラスターユニットを表示します。

    図 14. クラスタの管理
    クラスタの管理

    現在登録されているユニットには、ロード アイコンが表示されます。

    図 15. ノードの登録
    ノードの登録

    クラスタユニットの登録をモニターするには、[通知(Notifications)] アイコンをクリックし、[タスク(Tasks)] を選択します。Firewall Management Center は、ユニットの登録ごとにクラスタ登録タスクを更新します。いずれかのユニットの登録に失敗した場合には、クラスタノードの照合 を参照してください。

ステップ 2

クラスタの [編集(Edit)](編集アイコン) をクリックして、デバイス固有の設定を指定します。

ほとんどの設定は、クラスタ内のノードではなく、クラスタ全体に適用できます。たとえば、ノードごとに表示名を変更できますが、インターフェイスはクラスタ全体についてのみ設定できます。

ステップ 3

[デバイス(Devices)] > [デバイス管理(Device Management)] で、[追加(Add)] を選択すると、[クラスター(Cluster)] 画面に [全般(General)]、[ライセンス(License)]、[システム(System)]、[ヘルス(Health)] の設定が表示されます。

次のクラスタ固有の項目を参照してください。

  • [全般(General)] > [名前(Name)]:[編集(Edit)](編集アイコン) をクリックして、クラスタの表示名を変更します。

    その後に、[名前(Name)] フィールドを設定します。

  • [全般(General)] > [クラスタステータスの表示(View cluster status)]:[クラスタステータスの表示(View cluster status)] リンクをクリックして [クラスタステータス(Cluster Status)] ダイアログボックスを開きます。

    [クラスタステータス(Cluster Status)] ダイアログボックスで、[照合(Reconcile)] をクリックしてデータユニットの登録を再試行することもできます。ノードからクラスタ制御リンクに ping を実行することもできます。クラスター制御リンクへの ping の実行を参照してください。

  • [全般(General)] > [トラブルシュート(Troubleshoot)]:トラブルシューティングログを生成およびダウンロードしたり、クラスタ CLI を表示したりできます。クラスターのトラブルシューティングを参照してください。

    図 16. トラブルシューティング
    トラブルシューティング
  • [ライセンス(License)]:[編集(Edit)](編集アイコン) をクリックして、ライセンス付与資格を設定します。

ステップ 4

[デバイス(Devices)] > [デバイス管理(Device Management)] で、[追加(Add)] > [デバイス(Device)] の順にクリックすると、右上のドロップダウンメニューでクラスター内の各メンバーを選択し、次の設定を構成できます。

  • [全般(General)] > [名前(Name)]:[編集(Edit)](編集アイコン) をクリックして、クラスタメンバーの表示名を変更します。

    その後に、[名前(Name)] フィールドを設定します。

  • [管理(Management)] > [ホスト(Host)]:デバイス設定で管理 IP アドレスを変更する場合、Firewall Management Center で新しいアドレスを一致させてネットワーク上のデバイスに到達できるようにし、[管理(Management)] 領域で [ホスト(Host)] アドレスを編集します。


クラスターヘルスモニターの設定の編集

このタスクでは、クラスターヘルスモニターの設定を変更してクラスターノードがシステムの正常性を監視する方法を制御し、障害発生後にクラスターを自動的に再参加させることができます。

[クラスター(Cluster)] ページの [クラスターヘルスモニターの設定(Cluster Health Monitor Settings)] セクションには、クラスターノードの正常性を監視するための設定が表示されます。任意のポートチャネル ID、単一の物理インターフェイス ID、Snort プロセス、disk-full プロセスを監視できます。ヘルス モニタリングは VLAN サブインターフェイス、または VNI や BVI などの仮想インターフェイスでは実行されません。クラスター制御リンクのモニタリングは設定できません。このリンクは常に監視されています。

トポロジ変更(データインターフェイスの追加/削除、ノードやスイッチのインターフェイスの有効化/無効化、VSS、vPC、または VNet を形成するスイッチの追加など)を行うときには、システムのヘルスチェック機能を無効にする必要があります。また、無効化したインターフェイスのインターフェイス モニタリングも無効にします。トポロジの変更が完了して、設定の変更がすべてのノードに同期されたら、システムのヘルスチェック機能を再度有効にてインターフェイスをモニタリングできます。

手順


ステップ 1

[デバイス(Devices)] > [デバイス管理(Device Management)]を選択します。

ステップ 2

変更するクラスタの横にある [編集(Edit)](編集アイコン) をクリックします。

ステップ 3

[クラスター(Cluster)] をクリックします。

ステップ 4

[クラスターヘルスモニターの設定(Cluster Health Monitor Settings)] セクションで、[[編集(Edit)](編集アイコン)] をクリックします。

ステップ 5

[ヘルスチェック(Health Check)] スライダをクリックして、システムのヘルスチェックを無効にします。

図 17. システムヘルスチェックの無効化
システムのヘルスチェックの無効化

何らかのトポロジ変更(データインターフェイスの追加/削除、ノードやスイッチのインターフェイスの有効化/無効化、VSS、vPC、または VNet を形成するスイッチの追加など)を行うときには、システムのヘルスチェック機能を無効にし、無効化したインターフェイスのインターフェイス モニタリングも無効にする必要があります。トポロジの変更が完了して、設定の変更がすべてのノードに同期されたら、システムのヘルスチェック機能を再度有効にてインターフェイスをモニタリングできます。

ステップ 6

ホールド時間とインターフェイスのデバウンス時間を設定します。

  • [ホールド時間(Hold Time)]:ホールド時間を設定してノードのハートビート ステータス メッセージの時間間隔を指定します。指定できる範囲は 0.3 ~ 45 秒です。デフォルトは 3 秒です。

  • [インターフェイスのデバウンス時間(Interface Debounce Time)]:デバウンス時間は 300 ~ 9000 ms の範囲で値を設定します。デフォルトは 500 ms です。値を小さくすると、インターフェイスの障害をより迅速に検出できます。デバウンス時間を短くすると、誤検出の可能性が高くなることに注意してください。インターフェイスのステータス更新が発生すると、ノードはインターフェイスが障害としてマークされるまで指定されたミリ秒数待機し、その後ノードはクラスターから削除されます。EtherChannel がダウン状態からアップ状態に移行する場合(スイッチがリロードされた、または EtherChannel が有効になったなど)、デバウンス時間が長くなることで、別のクラスターノードがポートをより迅速にバンドルする場合に、クラスターノードでインターフェイスが障害として表示されるのを防ぐことができます。

ステップ 7

ヘルス チェック失敗後の自動再結合クラスタ設定をカスタマイズします。

図 18. 自動再参加設定の構成
自動再結合の設定

[クラスターインターフェイス(Cluster Interface)]、[データインターフェイス(Data Interface)]、および [システム(System)] の値を設定します(内部エラーには、アプリケーションの同期タイムアウト、一貫性のないアプリケーションステータスなどがあります)。

  • [試行数(Attempts)]:再結合の試行回数を 0 ~ 65535 の範囲の値に設定します。0 は自動再結合を無効化します。[クラスタインターフェイス(Cluster Interface)] のデフォルト値は -1(無制限)です。 [データインターフェイス(Data Interface)] と [システム(System)] のデフォルト値は 3 です。

  • [試行の間隔(Interval Between Attempts)]:再結合試行の間隔を 2 ~ 60 の分単位で定義します。デフォルト値は 5 分です。クラスタへの再参加をノードが試行する最大合計時間は、最後の障害発生時から 14400 分(10 日)に制限されます。

  • [間隔のバリエーション(Interval Variation)]:間隔を増加させるかどうかを定義します。1 ~ 3 の範囲で値を設定します(1:変更なし、2:直前の間隔の 2 倍、3:直前の間隔の 3 倍)。たとえば、間隔を 5 分に設定し、変分を 2 に設定した場合は、最初の試行が 5 分後、2 回目の試行が 10 分後(2 x 5)、3 階目の試行が 20 分後(2 x 10)となります。デフォルト値は、[クラスタインターフェイス(Cluster Interface)] の場合は 1、[データインターフェイス(Data Interface)] および [システム(System)] の場合は 2 です。

ステップ 8

[モニタリング対象のインターフェイス(Monitored Interfaces)] または [モニタリング対象外のインターフェイス(Unmonitored Interfaces)] ウィンドウでインターフェイスを移動して、モニタリング対象のインターフェイスを設定します。[サービスアプリケーションのモニタリングを有効にする(Enable Service Application Monitoring)] をオンまたはオフにして、Snort プロセスと disk-full プロセスのモニタリングを有効または無効にすることもできます。

図 19. 監視対象インターフェイスの設定
モニタリング対象インターフェイスの設定

インターフェイスのヘルス チェックはリンク障害をモニターします。特定の論理インターフェイスのすべての物理ポートが、特定のノード上では障害が発生したが、別のノード上の同じ論理インターフェイスでアクティブポートがある場合、そのノードはクラスタから削除されます。メンバーをクラスターから削除するのに必要な時間は、インターフェイスのタイプ、およびノードが確立済みであるのかクラスターに参加しようとしているのかによって異なります。デフォルトでは、ヘルスチェックはすべてのインターフェイス、および Snort プロセスと disk-full プロセスで有効になっています。

必須以外のインターフェイスのヘルス モニタリングを無効にできます。

何らかのトポロジ変更(データインターフェイスの追加/削除、ノードやスイッチのインターフェイスの有効化/無効化、VSS、vPC、または VNet を形成するスイッチの追加など)を行うときには、システムのヘルスチェック機能を無効にし、無効化したインターフェイスのインターフェイス モニタリングも無効にする必要があります。トポロジの変更が完了して、設定の変更がすべてのノードに同期されたら、システムのヘルスチェック機能を再度有効にてインターフェイスをモニタリングできます。

ステップ 9

[保存(Save)] をクリックします。

設定変更を展開します。


クラスタノードの管理

クラスタリングを無効にする

ノードの削除に備えて、またはメンテナンスのために一時的にノードを非アクティブ化する場合があります。この手順は、ノードを一時的に非アクティブ化するためのものです。ノードは引き続き Firewall Management Center のデバイスリストに表示されます。ノードが非アクティブになると、すべてのデータインターフェイスがシャットダウンされます。


(注)  


クラスタリングを無効にせずにノードの電源を切らないでください。


手順


ステップ 1

無効にするユニットに対して、[デバイス(Devices)] > [デバイス管理(Device Management)] の順に選択して [[その他(More)](その他アイコン)] をクリックし、[ノードのクラスタリングを無効にする(Disable Node Clustering)] を選択します。

ステップ 2

ノードのクラスタリングを無効にすることを確認します。

ノードは、[デバイス(Devices)] > [デバイス管理(Device Management)] リストの名前の横に [(無効(Disabled))] と表示されます。

ステップ 3

クラスタリングを再び有効にするには、クラスタへの再参加を参照してください。


クラスタへの再参加

(たとえば、インターフェイスで障害が発生したために)ノードがクラスタから削除された場合、または手動でクラスタリングを無効にした場合は、クラスタに手動で再参加する必要があります。クラスタへの再参加を試行する前に、障害が解決されていることを確認します。ノードをクラスタから削除できる理由の詳細については、「クラスタへの再参加」を参照してください。

手順


ステップ 1

再度有効にするユニットに対して、[デバイス(Devices)] > [デバイス管理(Device Management)] の順に選択して [その他(More)](その他アイコン) をクリックし、[ノードのクラスタリングを有効にする(Enable Node Clustering)] を選択します。

ステップ 2

ノードのクラスタリングを有効にすることを確認します。


クラスタノードの照合

クラスタノードの登録に失敗した場合は、デバイスから Firewall Management Center に対してクラスタメンバーシップを照合できます。たとえば、Firewall Management Center が特定のプロセスで占領されているか、ネットワークに問題がある場合、データノードの登録に失敗することがあります。

手順


ステップ 1

クラスターの [デバイス(Devices)] > [デバイス管理(Device Management)] [その他(More)](その他アイコン) を選択し、次に [クラスターのライブステータス(Cluster Live Status)] を選択して [クラスターのステータス(Cluster Status)] ダイアログボックスを開きます。

ステップ 2

[すべてを照合(Reconcile All)] をクリックします。

図 20. すべてを照合
すべてを照合

クラスタ ステータスの詳細については、クラスタのモニタリングを参照してください。


クラスタまたはノードの登録解除と新しい Firewall Management Center への登録

Firewall Management Center からクラスタを登録解除できます。これにより、クラスタはそのまま維持されます。クラスタを新しい Firewall Management Center に追加する場合は、クラスタを登録解除することができます。

クラスタからノードを除外することなく、Firewall Management Center からノードを登録解除することもできます。ノードは Firewall Management Center に表示されていませんが、まだクラスタの一部であり、引き続きトラフィックを渡して制御ノードになることも可能です。現在動作している制御ノードを登録解除することはできません。Firewall Management Center から到達不可能になったノードは登録解除してもかまいませんが、管理接続をトラブルシューティングする間、クラスタの一部として残しておくことも可能です。

クラスタの登録解除:

  • Firewall Management Center とクラスタとの間のすべての通信が切断されます。

  • [デバイス管理(Device Management)] ページからクラスタが削除されます。

  • クラスタのプラットフォーム設定ポリシーで、NTP を使用して Firewall Management Center から時間を受信するように設定されている場合は、クラスタがローカル時間管理に戻されます。

  • 設定はそのままになるため、クラスタはトラフィックの処理を続行します。

    NAT や VPN などのポリシー、ACL、およびインターフェイス構成は維持されます。

同じまたは別の Firewall Management Center にクラスタを再登録すると、設定が削除されるため、クラスタはその時点でトラフィックの処理を停止します。クラスタ設定はそのまま維持されるため、クラスタ全体を追加できます。登録時にアクセス コントロール ポリシーを選択できますが、トラフィックを再度処理する前に、登録後に他のポリシーを再適用してから設定を展開する必要があります。

始める前に

この手順では、いずれかのノードへの CLI アクセスが必要です。

手順


ステップ 1

[デバイス(Devices)] > [デバイス管理(Device Management)] の順に選択し、クラスターまたはノードの [[その他(More)](その他アイコン)] をクリックして、[登録解除(Unregister)] を選択します。

ステップ 2

クラスタかノードを登録解除するよう求められたら、[はい(Yes)] をクリックします。

ステップ 3

クラスタメンバーの 1 つを新しいデバイスとして追加することにより、クラスタを新しい(または同じ)Firewall Management Center に登録できます。

クラスタノードの 1 つをデバイスとして追加するだけで、残りのクラスタノードが検出されます。

  1. 1 つのクラスタノードの CLI に接続し、configure manager add コマンドを使用して新しい Firewall Management Center を識別します。

  2. [デバイス(Devices)] > [デバイス管理(Device Management)] の順に選択してから、[デバイスの追加(Add Device)] をクリックします。

ステップ 4

削除したノードを再度追加する方法については、「クラスタノードの照合」を参照してください。


クラスタのモニタリング

クラスタは、Firewall Management Center と Firewall Threat Defense の CLI でモニターできます。

  • [クラスターステータス(Cluster Status)] ダイアログボックスには、[デバイス(Devices)] > [デバイス管理(Device Management)]、[その他(More)](その他アイコン) アイコンまたは [デバイス(Devices)] > [デバイス管理(Device Management)] からアクセスできます。[追加(Add)] をクリックして [クラスター(Cluster)] ページを選択し、[全般(General)] エリアの [クラスターのライブステータス(Cluster Live Status)] リンクからアクセスします。

    図 21. クラスタのステータス
    クラスタのステータス

    制御ノードには、そのロールを示すグラフィックインジケータがあります。

    クラスタメンバーステータスには、次の状態が含まれます。

    • 同期中(In Sync):ノードは Firewall Management Center に登録されています。

    • 登録の保留中(Pending Registration):ノードはクラスタの一部ですが、まだ Firewall Management Center に登録されていません。ノードの登録に失敗した場合は、[すべてを照合(Reconcile All)] をクリックして登録を再試行できます。

    • クラスタリングが無効(Clustering is disabled):ノードは Firewall Management Center に登録されていますが、クラスタの非アクティブなメンバーです。クラスタリング設定は、後で再有効化する予定がある場合は変更せずに維持できます。また、ノードをクラスタから削除することも可能です。

    • クラスタに参加中...(Joining cluster...):ノードがシャーシ上でクラスタに参加していますが、参加は完了していません。参加後に Firewall Management Center に登録されます。

    ノードごとに [概要(Summary)] と [履歴(History)] を表示できます。

    図 22. ノードの [概要(Summary)]
    ノードの [概要(Summary)]
    図 23. ノードの [履歴(History)]
    ノードの [履歴(History)]
  • [システム(System)](システム歯車アイコン) > [Tasks] ページ。

    [タスク(Tasks)] ページには、ノードが登録されるたびにクラスタ登録タスクの最新情報が表示されます。

  • [デバイス(Devices)] > [デバイス管理(Device Management)]、[追加(Add)] > [デバイス(Device)]、[cluster_name] の順にクリックします。

    デバイスの一覧表示ページでクラスタを展開すると、IP アドレスの横にそのロールが表示されている制御ノードを含む、すべてのメンバーノードを表示できます。登録中のノードには、ロード中のアイコンが表示されます。

  • show cluster {access-list [acl_name] | conn [count] | cpu [usage] | history | interface-mode | memory | resource usage | service-policy | traffic | xlate count}

    クラスタ全体の集約データまたはその他の情報を表示するには、show cluster コマンドを使用します。

  • show cluster info [auto-join | clients | conn-distribution | flow-mobility counters | goid [options] | health | incompatible-config | loadbalance | old-members | packet-distribution | trace [options] | transport { asp | cp}]

    クラスタ情報を表示するには、show cluster info コマンドを使用します。

クラスタ ヘルス モニター ダッシュボード

Firewall Threat Defense がクラスタの制御ノードである場合、Firewall Management Center はデバイス メトリック データ コレクタからさまざまなメトリックを定期的に収集します。

クラスターヘルスモニターは、次のコンポーネントで構成されています。

  • 概要ダッシュボード:クラスタトポロジ、クラスタ統計、およびメトリックチャートに関する情報を表示します。

    • トポロジセクションには、クラスタのライブステータス、個々の脅威防御の状態、脅威防御ノードのタイプ(制御ノードまたはデータノード)、およびデバイスの状態が表示されます。デバイスの状態は、[無効(Disabled)](デバイスがクラスタを離れたとき)、[初期状態で追加(Added out of box)](パブリッククラウドクラスタで Firewall Management Center に属していない追加ノード)、または [標準(Normal)](ノードの理想的な状態)のいずれかです。

    • クラスタの統計セクションには、CPU 使用率、メモリ使用率、入力レート、出力レート、アクティブな接続数、および NAT 変換数に関するクラスタの現在のメトリックが表示されます。


      (注)  


      CPU とメモリのメトリックは、データプレーンと Snort の使用量の個々の平均を示します。


    • メトリックチャート、つまり、CPU 使用率、メモリ使用率、スループット、および接続数は、指定された期間におけるクラスタの統計を図表で示します。

  • 負荷分散ダッシュボード:2 つのウィジェットでクラスタノード全体の負荷分散を表示します。

    • 分布ウィジェットには、クラスタノード全体の時間範囲における平均パケットおよび接続分布が表示されます。このデータは、ノードによって負荷がどのように分散されているかを示します。このウィジェットを使用すると、負荷分散の異常を簡単に特定して修正できます。

    • ノード統計ウィジェットには、ノードレベルのメトリックが表形式で表示されます。クラスタノード全体の CPU 使用率、メモリ使用率、入力レート、出力レート、アクティブな接続数、および NAT 変換数に関するメトリックデータが表示されます。このテーブルビューでは、データを関連付けて、不一致を簡単に特定できます。

  • メンバー パフォーマンス ダッシュボード:クラスタノードの現在のメトリックを表示します。セレクタを使用してノードをフィルタリングし、特定ノードの詳細を表示できます。メトリックデータには、CPU 使用率、メモリ使用率、入力レート、出力レート、アクティブな接続数、および NAT 変換数が含まれます。

  • CCL ダッシュボード:クラスタの制御リンクデータ、つまり入力レートと出力レートをグラフ形式で表示します。

  • トラブルシューティングとリンク: 頻繁に使用されるトラブルシューティングのトピックと手順への便利なリンクを提供します。

  • 時間範囲:さまざまなクラスタ メトリック ダッシュボードやウィジェットに表示される情報を制限するための調整可能な時間枠。

  • カスタムダッシュボード:クラスタ全体のメトリックとノードレベルのメトリックの両方に関するデータを表示します。ただし、ノードの選択は脅威防御メトリックにのみ適用され、ノードが属するクラスタ全体には適用されません。

クラスタ ヘルスの表示

この手順を実行するには、管理者ユーザー、メンテナンスユーザー、またはセキュリティ アナリスト ユーザーである必要があります。

クラスタヘルスモニターは、クラスタとそのノードのヘルスステータスの詳細なビューを提供します。このクラスタヘルスモニターは、一連のダッシュボードでクラスタのヘルスステータスと傾向を提供します。

Before you begin

Firewall Management Center の 1 つ以上のデバイスからクラスタを作成しているかを確認します。

クラスターヘルスモニターを表示するには、次の手順を実行します。

手順

ステップ 1

[システム(System)](システム歯車アイコン) > [ヘルス(Health)] > [モニター(Monitor)] を選択します。

[モニタリング(Monitoring)] ナビゲーションウィンドウを使用して、ノード固有のヘルスモニターにアクセスします。

ステップ 2

デバイスリストで [展開(Expand)](展開アイコン) と [折りたたみ(Collapse)]([折りたたみ(Collapse)] アイコン) をクリックして、管理対象のクラスタデバイスのリストを展開または折りたたみます。

ステップ 3

クラスターヘルス統計を表示するには、クラスター名をクリックします。

デフォルトでは、クラスタモニターは、いくつかの事前定義されたダッシュボードで正常性およびパフォーマンスのメトリックを報告します。メトリックダッシュボードには次のものが含まれます。

  • [概要(Overview)]:他の事前定義されたダッシュボードからの主要なメトリックを表示します。ノード、CPU、メモリ、入力レート、出力レート、接続統計、NAT 変換情報などが含まれます。

  • [負荷分散(Load Distribution)]:クラスターノード間の通信とパケットの分散。

  • [メンバーパフォーマンス(Member Performance)]:CPU 使用率、メモリ使用率、入力スループット、出力スループット、アクティブな接続、NAT 変換に関するノードレベルの統計。

  • [CCL]:インターフェイスのステータスと集約通信の統計。

ラベルをクリックすると、さまざまなメトリックダッシュボードに移動できます。サポートされているクラスターメトリックの包括的なリストについては、「Cisco Secure Firewall Threat Defense Health Metrics」を参照してください。

ステップ 4

右上隅のドロップダウンで時間範囲を設定します。

最短で 1 時間前(デフォルト)から、最長では 2 週間前からの期間を反映できます。ドロップダウンから [Custom] を選択して、カスタムの開始日と終了日を設定します。

更新アイコンをクリックして、自動更新を 5 分に設定するか、自動更新をオフに切り替えます。

ステップ 5

選択した時間範囲について、トレンドグラフの展開オーバーレイの展開アイコンをクリックします。

展開アイコンは、選択した時間範囲内の展開数を示します。垂直の帯は、展開の開始時刻と終了時刻を示します。複数の展開の場合、複数の帯または線が表示されます。展開の詳細を表示するには、点線の上部にあるアイコンをクリックします。

ステップ 6

ページ上部のデバイス名のすぐ右側にあるアラート通知で、ノードの [ヘルスアラート(Health Alerts)] を確認します。

正常性アラートにポインタを合わせると、ノードの正常性の概要が表示されます。ポップアップウィンドウに、上位 5 つの正常性アラートの概要の一部が表示されます。ポップアップをクリックすると、正常性アラート概要の詳細ビューが開きます。

ステップ 7

いくつかの事前定義されたダッシュボードでデバイスモニターヘルスおよびパフォーマンスメトリックを表示します。

メトリックダッシュボードには次のものが含まれます。

  • [概要(Overview)]:CPU、メモリ、インターフェイス、接続統計など、他の定義済みダッシュボードからの主要なメトリックを表示します。ディスク使用量と重要なプロセス情報も含まれます。

  • [CPU]:CPU 使用率。プロセス別および物理コア別の CPU 使用率を含みます。

  • [メモリ(Memory)]:デバイスのメモリ使用率。データプレーンと Snort のメモリ使用率を含みます。

  • [インターフェイス(Interfaces)]:インターフェイスのステータスおよび集約通信統計。

  • [接続(Connections)]:接続統計(エレファントフロー、アクティブな接続数、ピーク接続数など)および NAT 変換カウント。

  • [Snort]:Snort プロセスに関連する統計。

  • [ASPドロップ(ASP drops)]:さまざまな理由でドロップされたパケットに関連する統計。

ラベルをクリックすると、さまざまなメトリックダッシュボードに移動できます。サポートされているデバイスメトリックの包括的なリストについては、「Cisco Secure Firewall Threat Defense Health Metrics」を参照してください。

ステップ 8

ヘルスモニターの右上隅にあるプラス記号([新しいダッシュボードの追加(Add New Dashboard)](新しいダッシュボードの追加アイコン))をクリックして、使用可能なメトリックグループから独自の変数セットを構成し、カスタムダッシュボードを作成します。

クラスタ全体のダッシュボードの場合は、クラスタのメトリックグループを選択してから、メトリックを選択します。


クラスタメトリック

クラスタのヘルスモニターは、クラスタとそのノードに関連する統計情報と、負荷分散、パフォーマンス、および CCL トラフィックの統計データの集約結果を追跡します。

表 4. クラスタメトリック

メトリック

説明

書式

CPU

クラスタノード上の CPU メトリックの平均(データプレーンと snort についてそれぞれ表示)。

パーセンテージ

メモリ

クラスタノード上のメモリメトリックの平均(データプレーンと snort についてそれぞれ表示)。

パーセンテージ

データスループット

クラスタの着信および発信データトラフィックの統計。

バイト

CCL スループット

クラスタの着信および発信 CCL トラフィックの統計。

バイト

接続

クラスタ内のアクティブな接続数。

番号

NAT 変換数

クラスタの NAT 変換数。

番号

分布

1 秒ごとのクラスタ内の接続分布数。

番号

パケット

クラスタ内の 1 秒ごとのパケット配信の件数。

番号

クラスターのトラブルシューティング

デバイスとクラスターをトラブルシュートするには、次の方法を使用します。

  • CCL Ping ツールを使用して、クラスター制御リンクが正しく動作していることを確認します。

  • トラブルシューティング ファイル:ノードがクラスタに参加できない場合、トラブルシューティング ファイルが自動的に生成されます。また、[デバイス(Devices)] > [デバイス管理(Device Management)] からトラブルシューティング ファイルを生成してダウンロードし、[追加(Add)]、[クラスター(Cluster)][全般(General)] の順に選択することもできます。

    [デバイス管理(Device Management)] ページからファイルを生成することもできます。[[その他(More)](その他アイコン)] をクリックし、[トラブルシュートファイル(Troubleshoot Files)] を選択します。

  • CLI 出力:[デバイス(Devices)] > [デバイス管理(Device Management)] の順に選択してから [追加(Add)]、[クラスター(Cluster)][全般(General)] エリアを選択し、クラスターのトラブルシューティングに役立つ一連の定義済み CLI 出力を表示できます。クラスターに対して次のコマンドが自動的に実行されます。

    コマンド

    show running-config cluster

    show cluster info

    show cluster info health

    show cluster info transport cp

    show version

    show asp drop

    show counters

    show arp

    show int ip brief

    show blocks

    show cpu detailed

    show interface ccl_interface

    ping ccl_ip size ccl_mtu repeat 2

    [コマンド(Command)] フィールドに任意の show コマンドを入力することもできます。

クラスタのアップグレード

Firewall Threat Defense Virtual クラスタをアップグレードするには、次の手順を実行します。

始める前に

パブリッククラウドでクラスタをアップグレードする前に、ターゲットバージョンのイメージをクラウドイメージリポジトリにコピーし、クラスタ展開テンプレートのイメージ ID を更新します(実際には、既存のテンプレートを変更したコピーで置き換えることを推奨します)。これにより、アップグレード後に新しいインスタンス(クラスタスケーリング中に起動されたインスタンスなど)が正しいバージョンを使用するようになります。クラスタにパッチが適用されている場合など、必要なイメージがマーケットプレイスにない場合は、インスタンス固有(Day 0)の設定がなく、正しいバージョンを実行しているスタンドアロンの Firewall Threat Defense Virtual インスタンスのスナップショットからカスタムイメージを作成します。

手順


ステップ 1

ターゲット イメージ バージョンをクラウドイメージストレージにアップロードします。

ステップ 2

更新されたターゲット イメージ バージョンでクラスタのクラウド インスタンス テンプレートを更新します。

  1. ターゲット イメージ バージョンを使用してインスタンステンプレートのコピーを作成します。

  2. 新しく作成したテンプレートをクラスタ インスタンス グループにアタッチします。

ステップ 3

ターゲット イメージ バージョンのアップグレードパッケージを Firewall Management Center にアップロードします。

ステップ 4

アップグレードするクラスタで準備状況チェックを実行します。

ステップ 5

準備状況チェックが成功したら、アップグレードパッケージのインストールを開始します。

ステップ 6

Firewall Management Center は、クラスタノードを一度に 1 つずつアップグレードします。

ステップ 7

クラスタのアップグレードが成功すると、Firewall Management Center に通知が表示されます。

アップグレード後のインスタンスのシリアル番号と UUID に変更はありません。


クラスタリングの参考資料

このセクションには、クラスタリングの動作に関する詳細情報が含まれます。

Threat Defense の機能とクラスタリング

Firewall Threat Defense の一部の機能はクラスタリングではサポートされず、一部は制御ユニットだけでサポートされます。その他の機能については適切な使用に関する警告がある場合があります。

サポートされていない機能とクラスタリング

次の各機能は、クラスタリングが有効なときは設定できず、コマンドは拒否されます。


(注)  


クラスタリングでもサポートされていない FlexConfig 機能(WCCP インスペクションなど)を表示するには、ASA の一般的な操作のコンフィギュレーション ガイドを参照してください。FlexConfig では、Firewall Management Center GUI にはない多くの ASA 機能を設定できます。


  • リモート アクセス VPN(SSL VPN および IPsec VPN)

  • パブリッククラウドでは、サイト間 VPN(ポリシーベースおよびルートベース)はサポートされていません。

  • DHCP クライアント、サーバー、およびプロキシ。DHCP リレーはサポートされています。

  • 仮想トンネルインターフェイス(VTI)

  • 高可用性

  • 統合ルーティングおよびブリッジング

  • Firewall Management Center UCAPL/CC モード

クラスタリングの中央集中型機能

これらの機能は、制御ノード上だけでサポートされ、クラスターの場合もスケーリングされません。


(注)  


中央集中型機能のトラフィックは、クラスタ制御リンク経由でメンバーノードから制御ノードに転送されます。

再分散機能を使用する場合は、中央集中型機能のトラフィックが中央集中型機能として分類される前に再分散が行われて、制御ノード以外のノードに転送されることがあります。この場合は、トラフィックが制御ノードに送り返されます。

中央集中型機能については、制御ノードで障害が発生するとすべての接続がドロップされるので、新しい制御ノード上で接続を再確立する必要があります。



(注)  


クラスタリングでも一元化されている FlexConfig 機能(RADIUS インスペクションなど)を表示するには、ASA の一般的な操作のコンフィギュレーションガイドを参照してください。FlexConfig では、Firewall Management Center GUI にはない多くの ASA 機能を設定できます。


  • 次のアプリケーション検査がサポートされています。

    • DCERPC および ESMTP

    • NetBIOS および PPTP

    • RSH

    • SQLNET および SUNRPC

    • TFTP

    • XDMCP

  • スタティック ルート モニタリング

  • サイト間 VPN

  • IGMP マルチキャスト コントロール プレーン プロトコル処理(データ プレーン転送はクラスタ全体に分散されます)

  • PIM マルチキャスト コントロール プレーン プロトコル処理(データ プレーン転送はクラスタ全体に分散されます)

  • ダイナミックルーティング(スパンド EtherChannel モードのみ)

Cisco TrustSec とクラスタリング

制御ノードだけがセキュリティグループタグ(SGT)情報を学習します。その後、制御ノードからデータノードに SGT が渡されるため、データノードは、セキュリティポリシーに基づいて SGT の一致を判断できます。

接続設定とクラスタリング

接続制限は、クラスタ全体に適用されます。各ノードには、ブロードキャストメッセージに基づくクラスタ全体のカウンタの推定値があります。クラスタ全体で接続制限を設定しても、効率性を考慮して、厳密に制限数で適用されない場合があります。各ノードでは、任意の時点でのクラスタ全体のカウンタ値が過大評価または過小評価される可能性があります。ただし、ロードバランシングされたクラスタでは、時間の経過とともに情報が更新されます。

ダイナミック ルーティングおよびクラスタリング

個別インターフェイスモードでは、各ノードがスタンドアロンルータとしてルーティングプロトコルを実行します。ルートの学習は、各ノードが個別に行います。

図 26. 個別インターフェイス モードでのダイナミック ルーティング
個別インターフェイスモードでのダイナミックルーティング

上の図では、ルータ A はルータ B への等コストパスが 4 本あることを学習します。パスはそれぞれ 1 つのノードを通過します。ECMP を使用して、4 パス間でトラフィックのロード バランシングを行います。各ノードは、外部ルータと通信するときに、それぞれ異なるルータ ID を選択します。

管理者は、各ノードに異なるルータ ID が設定されるように、ルータ ID のクラスタプールを設定する必要があります。

FTP とクラスタリング

  • FTP D チャネルとコントロール チャネルのフローがそれぞれ別のクラスタ メンバーによって所有されている場合は、D チャネルのオーナーは定期的にアイドル タイムアウト アップデートをコントロール チャネルのオーナーに送信し、アイドル タイムアウト値を更新します。ただし、コントロール フローのオーナーがリロードされて、コントロール フローが再ホスティングされた場合は、親子フロー関係は維持されなくなります。したがって、コントロール フローのアイドル タイムアウトは更新されません。

NAT とクラスタリング

NAT の使用については、次の制限事項を参照してください。

NAT は、クラスタの全体的なスループットに影響を与えることがあります。インバウンドおよびアウトバウンドの NAT パケットが、それぞれクラスタ内の別の Firewall Threat Defense に送信されることがあります。ロード バランシング アルゴリズムは IP アドレスとポートに依存していますが、NAT が使用されるときは、インバウンドとアウトバウンドとで、パケットの IP アドレスやポートが異なるからです。NAT オーナーではない Firewall Threat Defense に到着したパケットは、クラスタ制御リンクを介してオーナーに転送されるため、クラスタ制御リンクに大量のトラフィックが発生します。NAT オーナーは、セキュリティおよびポリシーチェックの結果に応じてパケットの接続を作成できない可能性があるため、受信側ノードは、オーナーへの転送フローを作成しないことに注意してください。

それでもクラスタリングで NAT を使用する場合は、次のガイドラインを考慮してください。

  • プロキシ ARP なし:個別インターフェイスの場合は、マッピング アドレスについてプロキシ ARP 応答が送信されることはありません。これは、クラスタに存在しなくなった可能性のある ASA と隣接ルータとがピア関係を維持することを防ぐためです。アップストリーム ルータは、メイン クラスタ IP アドレスを指すマッピング アドレスについてはスタティック ルートまたは PBR とオブジェクト トラッキングを使用する必要があります。

  • ポート ブロック割り当てによる PAT:この機能については、次のガイドラインを参照してください。

    • ホストあたりの最大制限は、クラスタ全体の制限ではなく、ノードごとに個別に適用されます。したがって、ホストあたりの最大制限が 1 に設定されている 3 ノードクラスタでは、ホストからのトラフィックが 3 つのノードすべてにロードバランシングされている場合、3 つのブロックを各ノードに 1 つずつ割り当てることができます。

    • バックアッププールからバックアップノードで作成されたポートブロックは、ホストあたりの最大制限の適用時には考慮されません。

    • PAT プールが完全に新しい IP アドレスの範囲で変更される On-the-fly PAT ルールの変更では、新しいプールが有効になっていてもいまだ送信中の xlate バックアップ要求に対する xlate バックアップの作成が失敗します。この動作はポートのブロック割り当て機能に固有なものではなく、プールが分散されトラフィックがクラスタノード間でロードバランシングされるクラスタ展開でのみ見られる一時的な PAT プールの問題です。

    • クラスタで動作している場合、ブロック割り当てサイズを変更することはできません。新しいサイズは、クラスタ内の各デバイスをリロードした後にのみ有効になります。各デバイスのリロードの必要性を回避するために、すべてのブロック割り当てルールを削除し、それらのルールに関連するすべての xlate をクリアすることをお勧めします。その後、ブロックサイズを変更し、ブロック割り当てルールを再作成できます。

  • ダイナミック PAT の NAT プールアドレス配布:PAT プールを設定すると、クラスタはプール内の各 IP アドレスをポートブロックに分割します。デフォルトでは、各ブロックは 512 ポートですが、ポートブロック割り当てルールを設定すると、代わりにユーザのブロック設定が使用されます。これらのブロックはクラスタ内のノード間で均等に分散されるため、各ノードには PAT プール内の IP アドレスごとに 1 つ以上のブロックがあります。したがって、想定される PAT 接続数に対して十分である場合には、クラスタの PAT プールに含める IP アドレスを 1 つだけにすることができます。PAT プールの NAT ルールで予約済みポート 1 ~ 1023 を含めるようにオプションを設定しない限り、ポートブロックは 1024 ~ 65535 のポート範囲をカバーします。

  • スタティック NAT ルールとダイナミック NAT ルールでの同じ変換オブジェクト:クラスター内のスタティック NAT ルールとダイナミック NAT ルールの両方で、変換されたアドレスと同じネットワークオブジェクトまたはオブジェクトグループを使用しないでください。同様に、スタティック NAT ルールとダイナミック NAT ルール間でアドレス範囲が重複するネットワークオブジェクトまたはオブジェクトグループを使用しないようにしてください。静的変換と動的変換には個別のネットワークオブジェクトまたはオブジェクトグループを使用します。これらの設定を混在させると、クラスター内で変換所有権の不整合が生じ、通信のドロップや断続的な接続障害が発生する可能性があります。

  • 複数のルールにおける PAT プールの再利用:複数のルールで同じ PAT プールを使用するには、ルールにおけるインターフェイスの選択に注意を払う必要があります。すべてのルールで特定のインターフェイスを使用するか、あるいはすべてのルールで「任意の」インターフェイスを使用するか、いずれかを選択する必要があります。ルール全般にわたって特定のインターフェイスと「任意」のインターフェイスを混在させることはできません。混在させると、システムがリターントラフィックとクラスタ内の適切なノードを一致させることができなくなる場合があります。ルールごとに固有の PAT プールを使用することは、最も信頼性の高いオプションです。

  • ラウンドロビンなし:PAT プールのラウンドロビンは、クラスタリングではサポートされません。

  • 拡張 PAT なし:拡張 PAT はクラスタリングでサポートされません。

  • 制御ノードによって管理されるダイナミック NAT xlate:制御ノードが xlate テーブルを維持し、データノードに複製します。ダイナミック NAT を必要とする接続をデータノードが受信したときに、その xlate がテーブル内にない場合、データノードは制御ノードに xlate を要求します。データノードが接続を所有します。

  • 旧式の xlates:接続所有者の xlate アイドル時間が更新されません。したがって、アイドル時間がアイドルタイムアウトを超える可能性があります。refcnt が 0 で、アイドルタイマー値が設定されたタイムアウトより大きい場合は、旧式の xlate であることを示します。

  • 次のインスペクション用のスタティック PAT はありません。

    • FTP

    • RSH

    • SQLNET

    • TFTP

    • XDMCP

    • SIP

  • 1 万を超える非常に多くの NAT ルールがある場合は、デバイスの CLI で asp rule-engine transactional-commit nat コマンドを使用してトランザクション コミット モデルを有効にする必要があります。有効にしないと、ノードがクラスタに参加できない可能性があります。

SIP インスペクションとクラスタリング

制御フローは、(ロードバランシングにより)任意のノードに作成できますが、子データフローは同じノードに存在する必要があります。

SNMP とクラスタリング

SNMP ポーリングには、メイン クラスタ IP アドレスではなく、常にローカル アドレスを使用してください。SNMP エージェントがメインクラスタ IP アドレスをポーリングする場合、新しい制御ノードが選択されると、新しい制御ノードのポーリングは失敗します。

syslog とクラスタリング

  • クラスタの各ノードは自身の syslog メッセージを生成します。ロギングを設定して、各ノードの syslog メッセージ ヘッダー フィールドで同じデバイス ID を使用するか、別の ID を使用するかを設定できます。たとえば、ホスト名設定はクラスタ内のすべてのノードに複製されて共有されます。ホスト名をデバイス ID として使用するようにロギングを設定した場合、すべてのノードで生成される syslog メッセージが 1 つのノードから生成されているように見えます。クラスタブートストラップ設定で割り当てられたローカルノード名をデバイス ID として使用するようにロギングを設定した場合、syslog メッセージはそれぞれ別のノードから生成されているように見えます。

パフォーマンススケーリング係数

複数のユニットをクラスタに結合すると、期待できる合計クラスタパフォーマンスは、最大合計スループットの約 80%になります。

スループットの計算

たとえば、モデルが単独稼働で約 10 Gbps のトラフィックを処理できる場合、8 ユニットのクラスタでは、最大合計スループットは 80 Gbps(8 ユニット x 10 Gbps)の約 80% で 64 Gbps になります。

制御ノードの選定

Summary

制御ノードの選定プロセスに関与する主要なコンポーネントは次のとおりです。

  • クラスターノード:クラスター制御リンクを介して通信し、選定プロセスに参加します。

  • 選定要求:クラスタリングが有効になっている場合、ノードごとに 3 秒間隔でブロードキャストします。

  • 優先順位値:1 ~ 100 で設定します。1 が最優先です。

  • 制御ノード:クラスター操作を調整する選定されたノード。

Workflow

次のステージでは、クラスターノードが制御ノードをどのように選定するのかを示します。

  1. ノードに対してクラスタリングを有効にしたとき(または、クラスタリングがすでに有効になっている状態で初めて起動したとき)に、そのノードは選定要求を 3 秒間隔でブロードキャストします。
  2. 優先順位の高い他のノードは、選択要求に応答します。優先順位は 1 ~ 100 で設定され、1 が最優先です。
  3. 45 秒経過しても、プライオリティの高い他のノードからの応答を受信していない場合は、そのノードが制御ノードになります。

    (注)  


    最高のプライオリティを持つノードが複数ある場合は、クラスタノード名、次にシリアル番号を使用して制御ノードが決定されます。


  4. ノードが後で優先順位の高いクラスターに参加した場合、そのノードは自動的に制御ノードにはなりません。既存の制御ノードは、応答を停止しない限り常に制御ノードとして機能し、応答を停止すると新しい制御ノードが選定されます。
  5. 「スプリットブレイン」シナリオで一時的に複数の制御ノードが存在する場合、優先順位が最も高いノードが制御ノードのロールを保持し、他のノードはデータノードのロールに戻ります。

    (注)  


    ノードを手動で強制的に制御ノードにすることができます。中央集中型機能については、制御ノード変更を強制するとすべての接続がドロップされるので、新しい制御ノード上で接続を再確立する必要があります。


クラスタ内のハイアベイラビリティ

クラスタリングは、ノードとインターフェイスの正常性をモニターし、ノード間で接続状態を複製することにより、ハイアベイラビリティを実現します。

ノードヘルスモニタリング

各ノードは、クラスタ制御リンクを介してブロードキャスト ハートビート パケットを定期的に送信します。設定可能なタイムアウト期間内にデータノードからハートビートパケットまたはその他のパケットを受信しない場合、制御ノードはクラスタからデータノードを削除します。データノードが制御ノードからパケットを受信しない場合、残りのノードから新しい制御ノードが選択されます。

スプリットブレインシナリオ

ノードで実際に障害が発生したためではなく、ネットワークの障害が原因で、ノードがクラスタ制御リンクを介して相互に通信できない場合、クラスタは「スプリットブレイン」シナリオに移行する可能性があります。このシナリオでは、分離されたデータノードが独自の制御ノードを選択します。たとえば、2 つのクラスタロケーション間でルータに障害が発生した場合、ロケーション 1 の元の制御ノードは、ロケーション 2 のデータノードをクラスタから削除します。一方、ロケーション 2 のノードは、独自の制御ノードを選択し、独自のクラスタを形成します。このシナリオでは、非対称トラフィックが失敗する可能性があることに注意してください。クラスター制御リンクが復元されると、より優先順位の高い制御ノードが制御ノードのロールを保持します。

インターフェイス モニタリング

各ノードは、使用中のすべての指名されたハードウェア インターフェイスのリンクステータスをモニタし、ステータス変更を制御ノードに報告します。

すべての物理インターフェイスがモニタリングされます。ただし、モニタリングできるのは、名前付きインターフェイスのみです。ヘルス チェックは、インターフェイスごとに、モニターリングをオプションで無効にすることができます。

ノードのモニタ対象のインターフェイスが失敗した場合、そのノードはクラスタから削除されます。ノードは 500 ミリ秒後に削除されます。

障害後のステータス

制御ノードで障害が発生した場合、そのクラスタの他のメンバーのうち、優先順位が最高(番号が最小)のメンバーが制御ノードになります。

障害イベントに応じて、Firewall Threat Defense は自動的にクラスタへの再参加を試みます。


(注)  


Firewall Threat Defense が非アクティブになり、クラスタへの自動再参加に失敗すると、すべてのデータインターフェイスがシャットダウンされ、管理インターフェイスのみがトラフィックを送受信できます。


クラスタへの再参加

クラスタ メンバがクラスタから削除された後、クラスタに再参加するための方法は、削除された理由によって異なります。

  • 最初に参加するときに障害が発生したクラスタ制御リンク:クラスタ制御リンクの問題を解決した後、クラスタリングを再び有効にして、手動でクラスタに再参加する必要があります。

  • クラスタに参加した後に障害が発生したクラスタ制御リンク:FTD は、無限に 5 分ごとに自動的に再参加を試みます。

  • データ インターフェイスの障害:Firewall Threat Defense は自動的に最初は 5 分後、次に 10 分後、最終的に 20 分後に再参加を試みます。20 分後に参加できない場合、Firewall Threat Defense アプリケーションはクラスタリングを無効にします。データ インターフェイスの問題を解決した後、手動でクラスタリングを有効にする必要があります。

  • ノードの障害:ノードがヘルスチェック失敗のためクラスタから削除された場合、クラスタへの再参加は失敗の原因によって異なります。たとえば、一時的な電源障害の場合は、クラスタ制御リンクが稼働している限り、ノードは再起動するとクラスタに再参加します。Firewall Threat Defense アプリケーションは 5 秒ごとにクラスタへの再参加を試みます。

  • 内部エラー:内部エラーには、アプリケーション同期のタイムアウト、一貫性のないアプリケーション ステータスなどがあります。 問題の解決後、クラスタリングを再度有効にして手動でクラスタに再参加する必要があります。

  • 障害が発生した設定の展開:FMC から新しい設定を展開し、展開が一部のクラスタメンバーでは失敗したものの、他のメンバーでは成功した場合、失敗したノードはクラスタから削除されます。クラスタリングを再度有効にして手動でクラスタに再参加する必要があります。制御ノードで展開が失敗した場合、展開はロールバックされ、メンバーは削除されません。すべてのデータノードで展開が失敗した場合、展開はロールバックされ、メンバーは削除されません。

データ パス接続状態の複製

どの接続にも、1 つのオーナーおよび少なくとも 1 つのバックアップ オーナーがクラスタ内にあります。バックアップ オーナーは、障害が発生しても接続を引き継ぎません。代わりに、TCP/UDP のステート情報を保存します。これは、障害発生時に接続が新しいオーナーにシームレスに移管されるようにするためです。バックアップ オーナーは通常ディレクタでもあります。

トラフィックの中には、TCP または UDP レイヤよりも上のステート情報を必要とするものがあります。この種類のトラフィックに対するクラスタリングのサポートの可否については、次の表を参照してください。

表 5. クラスタ全体で複製される機能

トラフィック

状態のサポート

注

アップ タイム

対応

システム アップ タイムをトラッキングします。

ARP テーブル

対応

トランスペアレントモードのみ 。

MAC アドレス テーブル

対応

トランスペアレントモードのみ 。

ユーザ アイデンティティ

対応

—

ダイナミック ルーティング

対応

—

SNMP エンジン ID

なし

—

クラスタが接続を管理する方法

接続をクラスタの複数のノードにロードバランシングできます。接続のロールにより、通常動作時とハイ アベイラビリティ状況時の接続の処理方法が決まります。

接続のロール

接続ごとに定義された次のロールを参照してください。

  • オーナー:通常、最初に接続を受信するノード。オーナーは、TCP 状態を保持し、パケットを処理します。1 つの接続に対してオーナーは 1 つだけです。元のオーナーに障害が発生すると、新しいノードが接続からパケットを受信したときにディレクタがそれらのノードの新しいオーナーを選択します。

  • バックアップオーナー:オーナーから受信した TCP/UDP ステート情報を格納するノード。障害が発生した場合、新しいオーナーにシームレスに接続を転送できます。バックアップ オーナーは、障害発生時に接続を引き継ぎません。オーナーが使用不可能になった場合、(ロードバランシングに基づき)その接続からのパケットを受信する最初のノードがバックアップオーナーに問い合わせて、関連するステート情報を取得し、そのノードが新しいオーナーになります。

    ディレクタ(下記参照)がオーナーと同じノードでない限り、ディレクタはバックアップオーナーでもあります。オーナーが自分をディレクタとして選択した場合は、別のバックアップ オーナーが選択されます。

  • ディレクタ:フォワーダからのオーナールックアップ要求を処理するノード。オーナーは、新しい接続を受信すると、送信元/宛先 IP アドレスおよびポートのハッシュに基づいてディレクタを選択し、新しい接続を登録するためにそのディレクタにメッセージを送信します。パケットがオーナー以外のノードに到着した場合、そのノードはどのノードがオーナーかをディレクタに問い合わせることで、パケットを転送できます。1 つの接続に対してディレクタは 1 つだけです。ディレクタが失敗すると、オーナーは新しいディレクタを選択します。

    ディレクタがオーナーと同じノードでない限り、ディレクタはバックアップオーナーでもあります(上記参照)。オーナーがディレクタとして自分自身を選択すると、別のバックアップ オーナーが選択されます。

    ICMP/ICMPv6 ハッシュの詳細:

    • エコーパケットの場合、送信元ポートは ICMP 識別子で、宛先ポートは 0 です。

    • 応答パケットの場合、送信元ポートは 0 で、宛先ポートは ICMP 識別子です。

    • 他のパケットの場合、送信元ポートと宛先ポートの両方が 0 です。

  • フォワーダ:パケットをオーナーに転送するノード。フォワーダが接続のパケットを受信したときに、その接続のオーナーが自分ではない場合は、フォワーダはディレクタにオーナーを問い合わせてから、そのオーナーへのフローを確立します。これは、この接続に関してフォワーダが受信するその他のパケット用です。ディレクタは、フォワーダーになることもできます。フォワーダが SYN-ACK パケットを受信した場合、フォワーダはパケットの SYN クッキーからオーナーを直接取得できるので、ディレクタに問い合わせる必要がないことに注意してください。(TCP シーケンスのランダム化を無効にした場合は、SYN Cookie は使用されないので、ディレクタへの問い合わせが必要です)。存続期間が短いフロー(たとえば DNS や ICMP)の場合は、フォワーダは問い合わせの代わりにパケットを即座にディレクタに送信し、ディレクタがそのパケットをオーナーに送信します。1 つの接続に対して、複数のフォワーダが存在できます。最も効率的なスループットを実現できるのは、フォワーダが 1 つもなく、接続のすべてのパケットをオーナーが受信するという、優れたロードバランシング方法が使用されている場合です。


    (注)  


    クラスタリングを使用する場合は、TCP シーケンスのランダム化を無効にすることは推奨されません。SYN/ACK パケットがドロップされる可能性があるため、一部の TCP セッションが確立されない可能性があります。


  • フラグメントオーナー:フラグメント化されたパケットの場合、フラグメントを受信するクラスタノードは、フラグメントの送信元と宛先の IP アドレス、およびパケット ID のハッシュを使用してフラグメントオーナーを特定します。その後、すべてのフラグメントがクラスタ制御リンクを介してフラグメント所有者に転送されます。スイッチのロードバランスハッシュで使用される 5 タプルは、最初のフラグメントにのみ含まれているため、フラグメントが異なるクラスタノードにロードバランシングされる場合があります。他のフラグメントには、送信元ポートと宛先ポートは含まれず、他のクラスタノードにロードバランシングされる場合があります。フラグメント所有者は一時的にパケットを再アセンブルするため、送信元/宛先 IP アドレスとポートのハッシュに基づいてディレクタを決定できます。新しい接続の場合は、フラグメントの所有者が接続所有者として登録されます。これが既存の接続の場合、フラグメント所有者は、クラスタ制御リンクを介して、指定された接続所有者にすべてのフラグメントを転送します。その後、接続の所有者はすべてのフラグメントを再構築します。

ポートアドレス変換接続

新しい接続の所有権

新しい接続がロードバランシング経由でクラスタのノードに送信される場合は、そのノードがその接続の両方向のオーナーとなります。接続のパケットが別のノードに到着した場合は、そのパケットはクラスタ制御リンクを介してオーナーノードに転送されます。逆方向のフローが別のノードに到着した場合は、元のノードにリダイレクトされます。

トラフィックのリダイレクトは、このリリースではサポートされていません。新しい接続がロードバランシング経由でクラスタのノードに送信される場合は、そのノードがその接続の両方向のオーナーとなります。同じ接続の後続のパケットは、すべて同じノードに到着する必要があります。接続パケットが別のノードに到着した場合、それらは破棄されます。逆方向のフローが別のノードに到着した場合もドロップされます。中央集中型機能では、接続が制御ノードに到達しない場合、接続はドロップされます。

TCP のサンプルデータフロー

次の例は、新しい接続の確立を示します。

  1. SYN パケットがクライアントから発信され、Firewall Threat Defense の 1 つ(ロード バランシング方法に基づく)に配信されます。これがオーナーとなります。オーナーはフローを作成し、オーナー情報をエンコードして SYN Cookie を生成し、パケットをサーバに転送します。

  2. SYN-ACK パケットがサーバから発信され、別の Firewall Threat Defense(ロード バランシング方法に基づく)に配信されます。この Firewall Threat Defense はフォワーダです。

  3. フォワーダはこの接続を所有してはいないので、オーナー情報を SYN Cookie からデコードし、オーナーへの転送フローを作成し、SYN-ACK をオーナーに転送します。

  4. オーナーはディレクタに状態アップデートを送信し、SYN-ACK をクライアントに転送します。

  5. ディレクタは状態アップデートをオーナーから受信し、オーナーへのフローを作成し、オーナーと同様に TCP 状態情報を記録します。ディレクタは、この接続のバックアップオーナーとしての役割を持ちます。

  6. これ以降、フォワーダに配信されたパケットはすべて、オーナーに転送されます。

  7. パケットがその他のノードに配信された場合、そのノードはディレクタに問い合わせてオーナーを特定し、フローを確立します。

  8. フローの状態が変化した場合は、状態アップデートがオーナーからディレクタに送信されます。

ICMP および UDP のサンプルデータフロー

次の例は、新しい接続の確立を示します。

  1. 図 27. ICMP および UDP データフロー
    ICMP および UDP データフロー
    UDP パケットがクライアントから発信され、1 つの Firewall Threat Defense(ロードバランシング方法に基づく)に配信されます。
  2. 最初のパケットを受信したノードは、送信元/宛先 IP アドレスとポートのハッシュに基づいて選択されたディレクタノードをクエリします。

  3. ディレクタは既存のフローを検出せず、ディレクタフローを作成して、以前のノードにパケットを転送します。つまり、ディレクタがこのフローのオーナーを選択したことになります。

  4. オーナーはフローを作成し、ディレクタに状態アップデートを送信して、サーバーにパケットを転送します。

  5. 2 番目の UDP パケットはサーバーから発信され、フォワーダに配信されます。

  6. フォワーダはディレクタに対して所有権情報をクエリします。存続期間が短いフロー(DNS など)の場合、フォワーダはクエリする代わりにパケットを即座にディレクタに送信し、ディレクタがそのパケットをオーナーに送信します。

  7. ディレクタは所有権情報をフォワーダに返信します。

  8. フォワーダは転送フローを作成してオーナー情報を記録し、パケットをオーナーに転送します。

  9. オーナーはパケットをクライアントに転送します。

Azure での Threat Defense Virtual クラスタリングの履歴

表 6.

機能

最小 Firewall Management Center

最小 Firewall Threat Defense

詳細

ノード参加時のデータノードからの MTU ping テスト

7.6.0

7.6.0

クラスターに参加したノードは、クラスター制御リンク MTU と一致するパケットサイズで制御ノードに ping を送信することで MTU の互換性をチェックします。以前は、制御ノードのみが ping を送信していました。ping が失敗すると、通知が生成されるため、接続スイッチの MTU 不一致を修正して再試行することができます。

次のコマンドが追加/変更されました。show cluster history

クラスタ制御リンク ping ツール。

7.4.1

任意

ping を実行して、すべてのクラスタノードがクラスタ制御リンクを介して相互に到達できることを確認できます。ノードがクラスタに参加できない主な原因の 1 つは、クラスタ制御リンクの設定が正しくないことです。たとえば、クラスタ制御リンクの MTU が、接続しているスイッチの MTU よりも大きい値に設定されている可能性があります。

新規/変更された画面:[デバイス(Devices)] > [デバイス管理(Device Management)] > [その他(More)] > [クラスタのライブステータス(Cluster Live Status)]

トラブルシューティング ファイルの生成とダウンロードは、[デバイス(Device)] および [クラスタ(Cluster)] ページから実行できます。

7.4.1

7.4.1

[デバイス(Device)] ページの各デバイス、および [クラスタ(Cluster)] ページのすべてのクラスタノードのトラブルシューティング ファイルを生成およびダウンロードできます。クラスタの場合、すべてのファイルを単一の圧縮ファイルとしてダウンロードできます。クラスタノードのクラスタのクラスタログを含めることもできます。または、[デバイス(Devices)] > [デバイス管理(Device Management)] > [その他(More)] > > [トラブルシューティングファイル(Troubleshoot Files)] メニューからファイル生成をトリガーできます。

新規/変更された画面:

  • [デバイス(Devices)] > [デバイス管理(Device Management)] > [デバイス(Device)] > [全般(General)]

  • [デバイス(Devices)] > [デバイス管理(Device Management)] > [クラスタ(Cluster)] > [全般(General)]

デバイスまたはデバイスクラスタの CLI 出力を表示します。

7.4.1

任意

デバイスまたはクラスタのトラブルシューティングに役立つ一連の定義済み CLI 出力を表示できます。また、任意の show コマンドを入力して、出力を確認できます。

新規/変更された画面:[デバイス(Devices)] > [デバイス管理(Device Management)] > [クラスタ(Cluster)] > [全般(General)]

クラスタのヘルスモニターの設定

7.3.0

任意(Any)

クラスタのヘルスモニター設定を編集できるようになりました。

新規/変更された画面:[デバイス(Devices)] > [デバイス管理(Device Management)] > クラスタ(Cluster) > [クラスタのヘルスモニターの設定(Cluster Health Monitor Settings)]

(注)  

 

以前に FlexConfig を使用してこれらの設定を行った場合は、展開前に必ず FlexConfig の設定を削除してください。削除しなかった場合は、FlexConfig の設定によって Management Center の設定が上書きされます。

クラスタ ヘルス モニター ダッシュボード

7.3.0

任意(Any)

クラスタのヘルス モニター ダッシュボードでクラスタの状態を表示できるようになりました。

新規/変更された画面:[システム(System)] > [正常性(Health)] > [モニター(Monitor)]

Azure での Threat Defense Virtual のクラスタリング

7.3.0

7.3.0

Azure ゲートウェイロードバランサまたは外部のロードバランサについて、Azure の Firewall Threat Defense Virtual で最大 16 ノードのクラスタリングを構成できるようになりました。

新規/変更された画面:

  • [デバイス(Devices)] > [デバイス管理(Device Management)] > [クラスタの追加(Add Cluster)]

  • [デバイス(Devices)] > [デバイス管理(Device Management)] > [詳細(More)]メニュー

  • [Devices] > [Device Management] > [Cluster]