らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

Cisco ACI で Deployment 設定によって Zoning-rule がDeploy されるタイミングの違い

Cisco ACI において、EPGへのDomainマッピング時のパラメータについて で言及されているように EPG へ Domain を設定する際、DeploymentResolution といった設定があります。 ACI 5.x 系時点で VMM Domain には以下の設定があります。

f:id:sig9:20200823223335p:plain

今回は VMM Domain おける Deployment 設定ごとに「Zoning-rule が Deploy されるタイミングがどう変化するのか?」を観察してみます。

前提コンフィグ

前提として、以下が設定されているものとします。

tenant Tenant1
  access-list Any
    match raw Entry1
    exit
  contract Contract1
    subject Subject1
      access-group Any both
      exit
    exit
  vrf context Vrf1
    exit
  bridge-domain Bd1
    arp flooding
    vrf member Vrf1
    exit
  bridge-domain Bd2
    arp flooding
    vrf member Vrf1
    exit
  application Ap1
    epg Epg1
      bridge-domain member Bd1
      contract consumer Contract1
      set qos-class level3
      exit
    epg Epg2
      bridge-domain member Bd2
      contract provider Contract1
      set qos-class level3
      exit
    exit
  exit

Depoyment = Imeediate 設定の場合

以下のように EPG の VMM Domain の Deployment 設定を Immediate に設定したとします。

tenant Tenant1
  application Ap1
    epg Epg1
      vmware-domain member Vmm1 deploy immediate
        exit
      exit
    epg Epg2
      vmware-domain member Vmm1 deploy immediate
        exit
      exit
    exit
  exit

f:id:sig9:20200823223338p:plain

この状態であれば EndPoint が存在しなくても Zoning-rule が Deploy されていることが分かります。

leaf# contract_parser.py --sepg tn-Tenant1/ap-Ap1/epg-Epg1
Key:
[prio:RuleId] [vrf:{str}] action protocol src-epg [src-l4] dst-epg [dst-l4] [flags][contract:{str}] [hit=count]

[9:4145] [vrf:Tenant1:Vrf1] permit any tn-Tenant1/ap-Ap1/epg-Epg1(49155) tn-Tenant1/ap-Ap1/epg-Epg2(16386) [contract:uni/tn-Tenant1/brc-Contract1] [hit=0]

Depoyment = On-Demain 設定の場合

以下のように EPG の VMM Domain の Deployment 設定を On-Demand に設定したとします。

tenant Tenant1
  application Ap1
    epg Epg1
      vmware-domain member Vmm1 deploy on-demand
        exit
      exit
    epg Epg2
      vmware-domain member Vmm1 deploy on-demand
        exit
      exit
    exit
  exit

f:id:sig9:20200823223341p:plain

この状態では EndPoint が存在しないと Zoning-rule が Deploy されません。

leaf# contract_parser.py --sepg tn-Tenant1/ap-Ap1/epg-Epg1
Key:
[prio:RuleId] [vrf:{str}] action protocol src-epg [src-l4] dst-epg [dst-l4] [flags][contract:{str}] [hit=count]

leaf#

EPGVM を 1 台 Deploy すると、以下のように Zoning-rule が Deploy されました。

leaf# contract_parser.py --sepg tn-Tenant1/ap-Ap1/epg-Epg1
Key:
[prio:RuleId] [vrf:{str}] action protocol src-epg [src-l4] dst-epg [dst-l4] [flags][contract:{str}] [hit=count]

[9:4145] [vrf:Tenant1:Vrf1] permit any tn-Tenant1/ap-Ap1/epg-Epg1(49155) tn-Tenant1/ap-Ap1/epg-Epg2(16386) [contract:uni/tn-Tenant1/brc-Contract1] [hit=0]

この状態から EndPont Table 上から EndPoint が全て Age Out しても、一度 Deploy された Zoning-rule はそのまま残るようです。

まとめ

つまり、VMM Domain の Deployment 設定によって Zoning-rule が Deploy されるタイミングには以下の違いある、と言えます。

  • Immediate
    • EndPoint の 有無に関わらず、設定直後に Deploy される
    • EndPoint が存在しなくても Zoning-rule を Deploy する 為、Policy CAM をより多く消費する可能性がある
  • On-Demand
    • EndPoing の 存在が確認出来て初めて Deploy される
    • EndPoiut が存在しなければ Zoning-rule を Deploy しない 為、Policy CAM を節約出来る可能性がある