■ACIとHypervisor
Application Centric Infrastructure (ACI)は、特定のHypervisorやContainerの仕組みに依存しないSDNとVXLAN Fabricが融合したネットワーク基盤ですが、Hypervisor等との連携によって管理が一元化するメリットを提供するために、連携してご利用頂くことも可能となっています(従来のHypervisorと物理スイッチの関係と同様に、VLANなどの情報を基に「連携せずに」ご利用頂くことももちろん可能です)。
ACIが連携に対応しているHypervisorは以下のとおりです。
- VMware vSphere (5.1以降)
- Microsoft Hyper-V / SCVMM (2012 Update Rollup 9以降)
- Red Hat Virtualization (4.1.6以降)
その他、OpenStackやWindows Azure Pack、Kubernetes、Cloud Foundry等、幅広い仮想化およびコンテナソリューションとの連携が可能となっていますが、本ページではHypervisorに依存しないACI連携仮想スイッチであるACI Virtual Edgeについて解説します。
■ACI Virtual Edge概要
ACI Virtual Edge (以下、AVE)は、Hypervisorに依存しない実装となっていますが、2018/12時点では VMware vSphere 6.0以降に対応したAVEのみが提供されています(vSphere 6.7でももちろんご利用頂けます)。以下ではVMware vSphereを前提としてAVEについて解説します。また、AVE同様にHypervisorに依存しない仮想スイッチとしてはAVEと共通のNexus仮想スイッチソフトウェアに基づいた "Nexus 1000VE" をご提供しておりますが、本ページでは扱いません。Nexus 1000VEについては、こちらのページ等をご参照ください。
なお、AVEの正式なガイドについては、以下を参照下さい。
また、ACIとAVEの互換性情報については、以下を参照下さい。本ページでは2018年12月時点の推奨構成であるACI 4.0 + AVE 2.0の組み合わせで紹介していますが、ACI 4.0は以前のバージョンのAVEとも組み合わせてご利用頂くことが可能です。
https://www.cisco.com/c/dam/en/us/td/docs/Website/datacenter/aveavsmatrix/index.html
なお、AVEを利用することによるシスコおよびVMwareのサポートに関しては、以下を参照下さい。
Cisco Support Statement for Cisco ACI VMM and Cisco ACI Virtual Edge
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/kb/Support-Statement-Cisco-ACI-Virtual-Edge.html
"On 8 October 2018, Cisco received official communication from VMware stating that vendors do not require partner certification for the APIs used for Cisco ACI VMM integration or Cisco ACI Virtual Edge." だそうです。vCenterが標準で公開しているAPIを通じて連携しているだけですから、結果として構成される分散仮想スイッチやポートグループはVMware標準そのもので、何ら特殊な操作や勝手な拡張・改変が行われているわけではありません。VMM Domain連携によって構成されたvDSについても、もちろんVMwareによるサポートが提供されます。
■AVEの仕組み
AVEの実態はACIと連携してスイッチ機能を提供する仮想アプライアンスです。ACI 3.1(1)以降においてご利用頂けます。AVEはACIのネットワークファブリックにおいて、いわばAPICによって統合管理されたVirtual Leafとして動作します。各ESXiホスト毎にAVEを配置してご利用頂く形となりますが、各AVEを個別に管理頂く必要はありません。ACIファブリックを構成するNexus 9000スイッチと同様にAPICによって統合管理することが可能です。AVEはVLANもしくはVXLANのいずれか(もしくはその両方)で通信が可能となっていますが、内部的な通信隔離にPrivate VLANを用いるため、VMM Domain連携したvDS上に配置する必要があります。
AVEは現在、[Local Switching Mode]と[No Local Switching Mode]の2種類の動作モードで構成することが可能です。以下の表が、動作モードによる動作の違いとなります。

<Local Switching Mode> ※同一EPG内の通信はAVEによってスイッチング処理されます

<No Local Switching Mode> ※同一EPG内通信を含む全ての通信は直上のLeafスイッチにおいてスイッチング処理されます

AVEを用いたネットワークを管理する場合、ネットワークに対する構成は全てAPICから行うことが可能となっていますが、以下の組合せで連携しています。


AVE 1.xではAVEに構成されるインターフェイスは管理/External/Internalの3つのみでしたが、AVE 2.0からは、配下に構成したEPGに紐付いたポートグループからのVXLAN通信経路を2つに分散(複数VTEP構成、複数vmxnet3アップリンクインターフェイス)させるためのExternal / Internalのインターフェイス等、合計6ポートが構成されます。また、AVEの動作に問題が発生した場合にvCenterと連携して配下の仮想マシンを別のESXiホストに退避させるProactive HAの構成などがサポートされる様になりました。

■AVEの展開手順
AVEはOVF形式で提供されているため、手動操作での展開も可能ですが、AVEを利用する全てのESXiホストに対して展開が必要となるため、一般的には以下のいずれかの方法を用いて展開を行います。
- ACI vCenter Plug-in を用いたGUI経由での展開
- VMware PowerCLI を用いた PowerShellベースでの展開
- Python での展開
以下では、vCenter Plug-inを利用したケースでご説明します。
※従来提供していた (vSphere 6.5 U2以前までの環境に対しては現在及び今後もご利用頂けます) Application Virtual Switch (AVS)からの移行や、VMware 分散仮想スイッチ(vDS)からの移行もGUI, CLI および APIで実施することが可能です。
AVEの展開手順は以下のとおりです。
1. 前提となる環境の構成
- ACIファブリック(APIC及びACIファブリック構成スイッチ群)の基本的な構成
※本ページでは、ACI 4.0(1) + AVE 2.0(1)の組合せを利用しています - vSphere仮想化基盤の基本的な構成
※本ページでは、vCenter 6.5U2 + ESXi 6.5 U2の組合せを利用しています - [必要に応じて] vCenterサーバに対する ACI Plug-in の導入
※インストール手順についてはこちらを参考ください - AVE管理対象となるESXiホストが必要とするFabric Access Policy周りの構成
※AVEはOpFlexによる管理連携とVXLAN通信のためのUnderlay VLANとして、ACI Fabricで構成したInfra VLANを利用します。AVE管理対象となるESXiホストのためのAccess Policyが利用するAEPでは[Enable Infrastructure VLAN]のチェックボックスが有効となっている必要があります。

※VLAN Poolについては、動作モードにより必要となる構成が以下の通り異なります。VLANモードを利用する場合は、1つのプールの中にExternalがRoleとして指定されたVLANレンジと、InternalがRoleとして指定されたVLANレンジの両方を含めておく必要があります。VXLANモードを利用する場合は、Internal用のRoleが指定されたVLANレンジのみで構いません。


2. 必要となるコンポーネントの入手と展開
AVEのバイナリファイルは、Cisco.comよりダウンロード頂けます。ダウンロードしたzipファイルを展開し、含まれているOVFファイル群をvCenterサーバ経由でContent Libraryにアップロードしてください。


3. AVE連携のための VMM Domain の構成 (=vDSの構成)
AVEはVMM Domain連携したvDS上に展開するため、まずはvDSを構成する必要があります。AVEでの利用を指定してVMM Domain連携したvDSを構成すると、AVEが必要とするポートグループを含めて自動的にvCenter経由でvDSが構成されます。展開時に必要とする各パラメータについては、モードにより異なりますので、Installation Guideを参照してください。

本ページの参考例では、[Local Switching]構成かつ[VXLAN mode]での構成例となっています。

以下のようにAVE展開のためのvDSが構成されていることをvSphere Client等で確認してください。vDSにAVEを利用するESXiホストを紐付ける構成を行ってください。
※以下はAVE2.0の場合の展開例です。

vDSの展開が行われない場合は、特にVLAN Poolの構成が正しく必要な設定となっているかを確認してください。繰り返しの記載となりますが、VLAN/VXLANいずれを利用する場合でも必ずInternal用のVLANレンジの指定が必要となります。また、VLANを利用する場合はExternal用のVLANレンジの指定も必要となります。
4. AVEの展開と構成
AVEの展開はAVEを利用する全てのESXiホスト毎に必要となるため、手作業でのOVFの展開を行っていたのでは大変です。そのため、vCenterに導入したACI Plug-in経由か、AVEのバイナリと合わせて提供されている PowerCLI / Python 用のスクリプトファイルを利用する展開を利用する方法を利用可能です。
ACI Plug-inを用いる場合、以下のように[Infrastructure]メニュー画面においてAVEの展開先ESXiホストを選択し、展開するAVEのバージョン(※事前にvCenterのContent LibraryにOVFが展開されていることが前提)の選択、管理通信用のポートグループの指定、Adminアカウントのパスワードを指定するだけで、複数のESXiホストに対して同時にAVEを展開・初期構成することが可能です。ExternalやInternalなど、仮想マシンの通信経路となるポートグループとインターフェイスの紐付けについては、自動的に構成を行ってくれます。

正しく展開できた場合、以下のようにACI Plug-inの画面でAVEがオンラインステータスであることが表示されます(onlineステータスの表示となるまでには時間がかかる場合があります)。

また、APIC側ではInfra VLANにおいてAVEのOutboundインターフェイスが認識され、APICからTEP用のIPアドレスが割り当てられていることを確認できます。

5. 動作確認
AVEの展開後は、特にAVEを利用していることを意識することなく、vDS利用の場合やAVS利用の場合と同様にEPGに対してVMM Domainを紐付けると自動的にvCenterサーバを通してポートグループが用意されますので、そこに仮想マシンを接続して利用することが可能です。

上記画面キャプチャのように、EPGでは物理サーバやvDS / AVS / AVEなど異なる仮想スイッチを利用したEndpoint、その他様々な種類のHypervisor / コンテナなどのEndpointを混在して利用頂くことが可能です。
※上記例ではAVEが用いているVXLANに加えて、vDS連携の仮想マシンのポートグループが利用しているVLANなど、Endpoint毎に様々なパケットヘッダでの通信が1つのEPGに紐付けられています。このように、ACIではVLANやVXLANに依存しないEPGによるグルーピングが可能となっています。
■AVE利用のメリット
vDSではなくAVEを利用することのメリットの1つは、AVS同様にStatefullなL4通信制御が可能となる点です。また、No Switching Modeを選択した場合には同一ESXiホスト上のVM間通信を含むすべての通信がLeafスイッチを経由することとなるため、Leaf側での通信記録を取得や複製(SPAN等)も行いやすくなります。
ただ、これらの要件がなければAVEをご選択頂く必要性が強くはないと思われるかもしれません。しかし、AVE - Leaf間通信でVXLANを用いる構成を選択した場合には、AVE - Leaf間で疎通が可能なVLANは Infra VLAN のみとなるため、間に多段のL2スイッチ等が挟まる構成の場合等でも対応が容易となるなどのメリットもあります。下図のようにUCS Fabric Interconnectを経由したブレードサーバを利用している場合や、ACI管理下ではないNexus等のスイッチを経由してサーバが接続されている場合等でも、利用するネットワークが増加するたびにこれらのスイッチ等の構成も行わなければならない必要性はありません(Infra VLAN用のVLAN上のVXLANで複数のセグメントが通信可能であるため)。


また、物理的なLeaf/SpineスイッチとしてNexus 9000スイッチを配置することが困難な環境(既存環境やコロケーション、ベアメタルクラウド等)に対してACIの管理性を提供するVirtual Pod (vPod)ではAVEがデータプレーンとして利用されるため、AVEのご理解を深めていただくことは重要となります。vPod構成ではないAVEの利用には、特に追加のライセンスなどは必要ありません。
(vPodについては、別に情報を取りまとめて公開予定です)