ACIではVLANもEndpointの識別子の1つとして扱われます。つまり、どのLeafスイッチの、どのPortに届いたVLAN付きのEthernetフレームを、どのテナントの、どのEPGにマッピングするのかを指定する際にVLAN情報を識別子として使用することができます。この仕組みによって、ACIは同じVLAN IDであっても、Leafスイッチ単位もしくはポート単位でどのEPGにマッピングするのかを指定することが可能です。例としては、Leaf1におけるVLAN10と、Leaf2におけるVLAN10をそれぞれ別のEPGにマッピングすることが可能である、ということとなります。
VLANを識別子として使用可能な単位は、デフォルトではLeafスイッチ単位となります。この状態を "Global Scope" と呼びます。この場合、あるLeafスイッチにおいてすでにVLAN10が当該Leaf上で使用されているEPGに対してマッピングされていた場合、別のEPGに対してVLAN10を識別子としてマッピングすることはできません。ただし、別のLeafスイッチでVLAN10を別のEPGのための識別子として使用することは可能です。
同一のLeafスイッチのPort単位でVLANを識別子として使用可能としたい場合は、L2 Interface PolicyのVLAN Scopeパラメータをデフォルトの "Global Scope" から "Port Local Scope" へと変更する必要があります。この設定変更を行うと、同一Leafスイッチの Port 1/1におけるVLAN10と、Port 1/2におけるVLAN10をそれぞれ別のものとして扱い、それぞれ別のEPGに対して識別子として使用することが可能となります。ただし、下図のように同じVLANを紐付けた各EPGはそれぞれ異なるBDに紐付く必要があります。同一BD内の別EPGに対して同じVLANをアサインすることはできません(というか、その場合はVLANを分ければいいので特にこれが問題になることはないかと思いますが)。
ただし、この Port Local Scope を使用した場合、当該Leafスイッチのロジカルポート数は 10,000 に制限されることになるため、基本的には可能な限り使用しない構成とすることを推奨します(ACI 2.2時点)。
また、Port Local Scopeを使用して同じVLAN IDを別のEPGのための識別子として使用したい場合には、VLAN Poolは分ける必要があります。VLAN Poolは特定のPhysical DomainもしくはVMM Domainと連携しますので、結果的にEPGに紐付けるDomainを分ける必要があります。つまり、EPG "App"とEPG "DB"で同じLeafスイッチの別のポートで同じVLANを使用したい場合には、EPG "App" 用として使用するDomainと、EPG "DB"用として使用するDomainは別にする必要があるということです。
Port Local Scopeを使用する場合には、重複するVLANを使用するInterfaceのPolicy Groupすべてに対して L2 Interface Policy としてVLAN Scopeを Port Local Scope に指定する必要がります。一方のPolicy GroupではGlobal Scope、他方のPolicy GroupではPort Local Scopeを構成した状態で使用すると、Global Scopeとなっている側のEPGをにおける構成に問題があるとされてHealth Scoreの低下が起こります。
以下はEPG demo-epg1 に対してPod-1/Node-103/eth1/40 の VLAN 235 をStatic Portとしてマッピングすると同時に、EPG demo-epg2 に対してPod-1/Node-103/eth1/39のVLAN 235をStatic Portとしてマッピングした例となります。この場合、EPG demo-epg1とEPG demo-epg2のそれぞれに対して紐付けるPhysical Domainは、それぞれ別である必要があります。
Global Scopeとなっている状態ですでに別のEPGに対して同じVLAN IDが紐付けられている状態で、別のEPGに対して同じVLAN IDを紐付けようとすると、以下のFaultログが出力されます。