■はじめに (Managed ModeとUnmanaged Mode)
Cisco ACI の Service Graph は 様々な連携要素をContractに付加する機能ですが、連携する対象となる側の構成まで連携の一部として管理する方式 (Device Package を使用="Managed Mode") と、連携する対象となる側の構成は連携しない方式の2種類を利用することが可能です。
Device Packageを利用しない=連携対象の構成変更などは行わない方式を、"Unmanaged Mode" と呼びます。Unmanaged Modeの場合、Service Graphの設定に従って通信を対象となるADCやFWに折り曲げたり、仮想アプライアンスの場合には、仮想アプライアンスの仮想アダプタを適切なネットワーク(ポートグループなど)に接続させたりなどの処理はACI側で行いますが、「受け取った通信をどう処理するのか」を定義するADCやFW側の構成自体はACI側からは一切制御しません。
よって、Unmanaged Modeの場合は、ACI連携によるService Graphの構成や適用とは別に、ADCやFW側の構成は別途何らかの方法(手動構成や、ACI以外の何らかの構成管理ツール等で自動構成する等)で構成する必要があります。しかし、Unmanaged Modeの場合はDevice Packageが不要となるため、Device Packageの有無などと関係なくあらゆるADCやFWなどを利用することが可能となります。たとえば、既存のFWをそのまま利用したり、Device Packageを提供していないベンダーのADC/FWなどを利用したり、Device Packageではサポートされないバージョンの組合せを選択したりすることなども可能となります。Unmanaged Modeを利用する上で、連携対象側のADCやFWについて、一切の制限はありません。これは、特に既存ネットワークをACIに移行する場合にADC/FWなどの設定をそのまま利用する際や、ADCの設定がかなり詳細なパラメータまで使用している場合などに有用といえます。
ここでは、Device Packageを利用したACI + ASAv Configuration (PBR) と同じ構成を、Device Packageを利用しないUnmanaged Modeで構成する例を紹介します。
なお、Single ContextのASAvなどを Managed Mode と Unmanaged Mode の両方で同時に利用することはできません。
■全体の流れ
ACIにおけるL4-L7連携構成をUnmanaged Modeで構成する際に必要となる項目は以下のとおりです。Device Packageを使用しませんので、Device Packageを通じた設定内容を定義するFunction Profileの定義も不要となります。
- APICでの事前準備
- テナント毎の事前準備
- L4-L7 Devices:使用するL4-L7デバイスの情報をUnmanaged Modeとして構成する
- Function Profile:不要
- L4-L7 Service Graph Template:L4-L7サービスを構成する(Contractに対してどのようにService Graphを挿入するかを指定する)
- 連携対象ADC/FWなどでの事前準備
■ACI + ASAv (PBR) 使用上の注意点
ACI + ASAv (PBR) 構成を使用する上では、以下の注意点について確認して下さい。これはDevice Packageの使用・不使用とは関係ありません。
- PBR機能の使用はACIは2.0以降である必要があります
- -EXより前のモデルのNexus 9000スイッチをLeafスイッチとして使用している場合、PBR機能を用いてL4-L7サービスを構成するASAvは、Service Graphを挿入するContractで結ばれているConsumer側およびProvider側の両EPGのメンバーとなっているVMや物理サーバとは別のLeafスイッチ配下のESXiホスト上で動作している必要があります。つまり、この場合では同一ESXiホスト上にASAv自身と、そのASAvがFirewall機能を提供するサービス利用側VMおよびサービス提供側VMが存在する構成は使用できません。-EXモデル以降のLeafスイッチを使用している場合、この制限はありません。
■ACI + ASAv (PBR) の事前構成
ACI + ASAv (PBR) を構成するテナントでは、以下の構成が準備されている必要があります。IPアドレスや命名は本ページにおける説明例となっていますので、環境に合わせて適宜読み替えてください。
- VRF - VRF2 ※2がついているのは単なる説明例環境上の都合です…。
- BD1 - Gateway 192.168.1.254/24
- BD2 - Gateway 192.168.2.254/24
- BD200 - Gateway 192.168.200.254/24 ※紐付くEPGの構成などは不要
- BD201 - Gateway 192.168.201.254/24 ※紐付くEPGの構成などは不要
- EPG1 → BD1を使用、サービスを「利用」する側のエンドポイントを接続 (本ページ例ではVMM Domain連携でVM "Web1" (192.168.1.222) を接続)
- EPG2 → BD2を使用、サービスを「提供」する側のエンドポイントを接続 (本ページ例ではVMM Domain連携でVM "Web2" (192.168.2.222) を接続)
- Contract - contract_unspecified (※命名は単なる例です…) → EPG1側ではConsumed Contractとして構成、EPG2側ではProvided Contractとして構成
※少なくともDestinationとしてHTTP通信を許可するFilterが含まれる必要があります。Firewall動作を確認するためにICMPなども含めると確認がし易くなります。
■L4-L7 Deviceの構成 (Unmanaged Modeの場合)
L4-L7 Deviceの定義を行います。
[Managed]のチェックボックスのチェックを外すと、Unmanaged Modeとしての定義となります。
Single / HA / Cluster など、構成はDevice Packageの使用有無とは無関係ですが、Device Packageで定義されたFunction Profileにおける管理名と紐付ける必要はないため、適宜適当な名前とインターフェイスを紐付ける必要があります。
Device側でインターフェイスと紐付けた名前と、Service Graphにおける構成を紐付けます。Unmanaged Modeとして構成する場合、連携先のADC/FWなどに対する構成はありませんので、これで構成は完了となります。
Unmanaged Modeの場合、ACI側は通信を連携先に指定されたADC/FWなどに折り曲げるのみで連携先の構成自体には関与しないため、接続ステータスなどはありません。
■Service Graph Templateの構成
Service Graph Templateの構成は、Device Packageの使用有無とは関係なく定義します。ここではASAvを連携対象とした例としているため、RoutedかつPBRを使用する構成例となっています。適宜環境に合わせて指定を行って下さい。
■Service Graphの適用
EPG間の通信ルールを定義したContractに対して、Service GraphとしてL4-L7サービスを適用します。これにより、Contractにおいて許可されているFilterルールにマッチする通信がService Graphによって定義されているL4-L7サービスが適用される対象となるようになります。
PBRを使用する場合は、Redirect先となるIPアドレス・MACアドレスを指定する必要があります。
■Service Graphの適用確認
Service Graphに利用されるASAvの構成が正しく行えているかどうかは、以下の確認を行って下さい。
1. APIC
2. 分散仮想スイッチ
3. ASAv仮想アプライアンスの実体としての仮想マシン

■ASAv側の構成
Unmanaged Modeの場合、ASAv側の構成は別途手動もしくは何らかの手段で行う必要があります。
■動作確認
Service Graphの構成と連携先ADC/FWの構成が完了したら、動作確認を行います。
