AWS での FTDv の Auto Scale ソリューション
次のセクションでは、Auto Scale ソリューションのコンポーネントが AWS の FTDv でどのように機能するか説明します。
Auto Scale ソリューションについて
シスコでは、Lambda、Auto Scaling グループ、Elastic Load Balancing(ELB)、Amazon S3 バケット、SNS、CloudWatch などの複数の AWS サービスを使用して、FTDv ファイアウォールの Auto Scaling グループを導入するための CloudFormation テンプレートとスクリプトを提供しています。
AWS の FTDv Auto Scale は、AWS 環境の FTDv インスタンスに水平 Auto Scaling 機能を追加する、完全なサーバーレス実装です(つまり、この機能の自動化に関与するヘルパー VM はありません)。
FTDv Auto Scale ソリューションは、以下の内容を提供する CloudFormation テンプレートベースの導入です。
-
FMC による FTDv インスタンスの登録と登録解除の完全な自動化。
-
スケールアウトされた FTDv インスタンスへの NAT ポリシー、アクセスポリシー、およびルートの自動適用。
-
ロードバランサとマルチ可用性ゾーンのサポート。
-
Auto Scale 機能の有効化と無効化のサポート。
-
FMC でのみ動作。Firepower Device Manager はサポートされていません。
Auto Scale の機能拡張(バージョン 6.7)
-
カスタム指標パブリッシャ:新しい Lambda 関数は、Auto Scale グループ内のすべての FTDv インスタンスのメモリ消費量について FMC を 2 分ごとにポーリングし、その値を CloudWatch メトリックにパブリッシュします。詳細については、入力パラメータを参照してください。
-
メモリ消費に基づく新しいスケーリングポリシーを使用できます。
-
FMC への SSH およびセキュアトンネル用の FTDv プライベート IP 接続。
-
FMC の設定検証。
-
ELB でより多くのリスニングポートを開くためのサポート。
-
シングルスタック展開に変更。すべての Lambda 関数と AWS リソースは、合理化された展開のためにシングルスタックから展開されます。
サポートされるソフトウェア プラットフォーム
FTDv Auto Scale ソリューションは、FMC によって管理される FTDv に適用可能で、ソフトウェアバージョンに依存しません。『Cisco Firepower Compatibility Guide』を参照してください。このガイドには、オペレーティング システムとホスティング環境の要件を含む、Cisco Firepower ソフトウェアとハードウェアの互換性が記載されています。
-
Firepower Management Centers: Virtual 表には、AWS 上の FMCv における Firepower の互換性および仮想ホスティング環境の要件が一覧表示されています。
-
Firepower Threat Defense Virtual Compatibility 表には、AWS 上の FTDv における Firepower の互換性および仮想ホスティング環境の要件が一覧表示されています。
(注) |
AWS Auto Scale ソリューションを導入するために、AWS 上の FTDv でサポートされる Firepower の最小バージョンはバージョン 6.4 です。 メモリベースのスケーリングを使用するには、FMC がバージョン 6.6 以降を実行している必要があります。 |
Auto Scale の導入例
この FTDv AWS Auto Scale ソリューションの導入例は、FTDv Auto Scale の導入例の図に示されています。AWS ロードバランサはインバウンドで開始された接続のみを許可するため、外部で生成されたトラフィックのみが Cisco FTDv ファイアウォール経由で内部を通過できます。
(注) |
前提条件のSSL サーバー証明書で説明されているように、セキュアなポートには SSL/TLS 証明書が必要です。 |
インターネットに面したロードバランサは、ネットワークロードバランサまたはアプリケーション ロードバランサです。いずれの場合も、AWS のすべての要件と条件が適用されます。導入例の図に示されているように、点線の右側部分は FTDv テンプレートを介して展開されます。左側は完全にユーザー定義の部分です。
(注) |
アプリケーションが開始したアウトバウンドトラフィックは FTDv を通過しません。 |
トラフィックのポートベースの分岐が可能です。この分岐は、NAT ルールによって実現できます。FMC でのオブジェクト、デバイスグループ、NAT ルール、アクセスポリシーの設定を参照してください。たとえば、インターネットに面した LB DNS、ポート:80 のトラフィックは、アプリケーション 1 にルーティングでき、ポート:88 のトラフィックはアプリケーション 2 にルーティングできます。
Auto Scale ソリューションの仕組み
FTDv インスタンスをスケールインおよびスケールアウトするには、Auto Scale Manager と呼ばれる外部エンティティがメトリックをモニターし、Auto Scale グループに FTDv インスタンスの追加または削除を指示し、FTDv デバイスを管理 FMC に登録および登録解除して、FTDv インスタンスを設定します。
Auto Scale Manager は、AWS サーバーレスアーキテクチャを使用して実装され、AWS リソース、FTDv、および FMC と通信します。シスコでは、Auto Scale Manager コンポーネントの導入を自動化する CloudFormation テンプレートを提供しています。このテンプレートにより、包括的なソリューションが機能するために必要なその他のリソースも展開されます。
(注) |
サーバーレス Auto Scale スクリプトは CloudWatch イベントによってのみ呼び出されるため、インスタンスの起動時にのみ実行されます。 |
Auto Scale ソリューションのコンポーネント
Auto Scale ソリューションは、次のコンポーネントで構成されています。
CloudFormation テンプレート
CloudFormation テンプレートは、AWS の Auto Scale ソリューションに必要なリソースを展開するために使用されます。テンプレートの構成は次のとおりです。
-
Auto Scale グループ、ロードバランサ、セキュリティグループ、およびその他のコンポーネント。
-
展開をカスタマイズするためのユーザー入力を取り込むテンプレート。
(注)
テンプレートのユーザー入力の検証には限界があるため、展開時に入力を検証するのはユーザーの責任です。
Lambda 関数
Auto Scale ソリューションは、Python で開発された一連の Lambda 関数で、ライフサイクルフック、SNS、CloudWatch イベントやアラームイベントからトリガーされます。基本的な機能は次のとおりです。
-
インスタンスに対して Diag、Gig0/0、および Gig 0/1 インターフェイスを追加/削除します。
-
ロードバランサのターゲットグループに Gig0/1 インターフェイスを登録します。
-
新しい FTDv を FMC に登録します。
-
FMC を介して新しい FTDv を設定し展開します。
-
スケールインした FTDv を FMC から登録解除(削除)します。
-
FMC からメモリメトリックをパブリッシュします。
Lambda 関数は、Python パッケージの形式でお客様に提供されます。
ライフサイクルフック
-
ライフサイクルフックは、インスタンスに関するライフサイクルの変更通知を取得するために使用されます。
-
インスタンス起動の場合、ライフサイクルフックを使用して、FTDv インスタンスにインターフェイスを追加し、ターゲットグループに外部インターフェイス IP を登録できる Lambda 関数をトリガーします。
-
インスタンス終了の場合、ライフサイクルフックを使用して Lambda 関数をトリガーし、ターゲットグループから FTDv インスタンスを登録解除します。
Simple Notification Service(SNS)
-
AWS の Simple Notification Service(SNS)を使用してイベントが生成されます。
-
AWS にはサーバーレス Lambda 関数に適した Orchestrator がないという制限があるため、ソリューションは、イベントに基づいて Lambda 関数をオーケストレーションするための一種の関数チェーンとして SNS を使用します。