ACI
以前に Cisco ACI のイベントをリアルタイムで検知する Node.js サンプルスクリプト というメモを書きました。 このメモの Python バージョンを作ったので、改めてメモしておきます。
Cisco ACI で Contract Preferred Groups を使うと EPG を優先グループ / 非優先グループに分けることが出来ます。 Preferred Group 設定には「include」と「exclude」があり、各々以下のように「通信する際に Contract を必要とするか? 否か?」という違い…
Cisco ACI で ExtEpg (External EPG) と AppEpg (Application EPG) を Contract した場合に作成される Zoning-Rule は AppEpg 同士を Contract した場合と、特に変わりありません。 今回は実際に ExtEpg と AppEpg を Contract し、作成される Zoning-Rule …
Cisco ACI では Quota 設定を行うことにより、「特定のオブジェクトの作成上限数を制限する」ことが可能です。
Cisco ACI ではログインバナーをカスタマイズすることが可能です。 設定は System → System Settings → System Alias and Banners から実施することが可能です。 今回はバージョン 5.0(2h) 環境で「何を設定すると → どこに反映されるか?」を確認してみまし…
Cisco ACI では Policy CAM の消費量は「SrcEPG 数 x DstEPG 数 x Filter Entry 数 x 1 (both direction なら 2)」で算出出来る、とされています。 ですが、Filter Entry は TCP/UDP のポートを Range (範囲) 設定することが可能です。 幾つかのパターンで R…
Cisco ACI で EPG 間の通信許可/拒否ルールを定義するには Contract 設定が必要になります。 Contract は「Contract → Subject → Filter」という三階層構造を取ります。 Contract の配下に作成する Subject には以下、ふたつの設定が存在します。 Apply Both…
Cisco ACI では Contract に同じ接続をする EPG が複数存在する場合、Master と呼ばれる「親 EPG」を作成し、「子 EPG」からは Master を参照させる、という機能があります。 この機能は EPG Contract Inheritance と呼ばれています。 EPG Contract Inherita…
Cisco ACI では同一 VRF 内での通信時に「Contract 設定が必要か?」「不必要か?」を定義する Policy Control Enforcement Preference という設定があります。 この設定はプライベート ネットワークの設定パラメータ に下記と記載されています。 Policy Con…
Cisco ACI に関する情報を読んでいると「EPG 同士は Contract されていない限り、通信出来ない」という記載を目にすることがあります。 VRF の Policy Control Enforcement Preference 設定が Unenforced で無い限り、この記載は概ね正しいのですが、厳密に…
Cisco ACI で TCAM (Policy CAM) の使用状況を確認するには GUI の Capacity Dashboard から確認するのが簡単ですが CLI から確認することも出来ます。 今回は 5.0(2h) 環境で確認してみます。 おそらく ACI 4.0 以前や第一世代 Leaf では見え方・確認コマン…
以前に Cisco ACI で Policy CAM の利用状況を確認する というメモを書きました。 ACI では (個々の EPG に対してでは無く) VRF 全体に対して Contract を設定する、いわゆる「vzAny」と呼ばれている設定方法があります。 今回は vzAny を利用した場合の Pol…
従来の機器でも「ACL を設定すると TCAM 領域を消費」すると思います。 Cisco ACI でも ACI に相当する「Contract」を設定すると TCAM (Policy CAM) を消費していきます。 スイッチごとの最大 Policy CAM 数は概ね、以下の要素で決定されます。 スイッチの型…
Cisco ACI において、EPGへのDomainマッピング時のパラメータについて で言及されているように EPG へ Domain を設定する際、Deployment や Resolution といった設定があります。 ACI 5.x 系時点で VMM Domain には以下の設定があります。 今回は VMM Domain…
Cisco ACI では GUI / CLI など設定方法を問わず、__ui で始まる設定名を利用すると、GUI 上で該当の設定が表示されないようです??
Cisco ACI では通信させたい EPG 同士を Contract で接続するのが基本です。 しかし、Contract へ接続していても、例外設定をすることで指定した EPG を「Contract 制御の対象外」にすることが出来ます。 今回は 5.0(2h) で検証を実施しました。 尚、今回は …
Cisco ACI で通信の許可 / 拒否を制御するには Contract を利用しますが、特に「拒否」を制御するには Taboo Contract を利用する方法があります。 しかし、Taboo Contract は「必ず Provider 側にしか設定出来ない」や「特定の EPG との間にだけ、設定する…
Cisco ACI で通常、AppEpg より「先に」ルーティングさせることは出来ません。 ですが、AppEpg Subnet に Behind Subnet を作成することで「AppEpg より先にあるネットワーク」へ通信させることが出来ます。
従来のスイッチデバイスであれば、一時的に通信を行えないようにしたい場合は「SVI を Shutdown する」という手法が取れました。 Cisco ACI の場合、近い手法として以下が考えられます。 AppEpg を Shutdown する BD Subnet で No Default SVI Gateway を設…
Cisco ACI は GUI や REST API など、様々な方法で設定することが出来ます。 今回は CLI で設定する方法をメモしておきます。 尚、実際の検証は 5.0(2h) で行いました。 設定モードへの移行方法 Tenant VRF BD (Bridge Domain) BD Subnet Application Profil…
Cisco ACI において、異なる VRF 間で Route Leak する設定方法をメモしておきます。
Cisco ACI でコントローラ (APIC) やスイッチ (Leaf/Spine) のバージョンを確認する方法は幾つかあります。 今回は幾つかのバージョン確認方法をメモしておきます。
(3.x 系までと異なり) Cisco ACI 4.x 系以降では vPC のスイッチペアを設定する設定が移動しました。 設定内容自体は変わらないのですが、設定箇所をメモしておきます。
Cisco ACI では APIC が外部と通信を行う際、通信の出口として下記ふたつの選択肢のうち、「どちらを優先するか?」設定で制御することが出来ます。 In-band (APIC には 10GbE x 2 のポートがある) Out-band (APIC には 1GbE x 2 のポートがある)
Cisco ACI では初期状態でコンフィグをバックアップしても パスワード系のフィールドがコンフィグに含まれません。 これは Global AES Passphrase Encryption という設定がデフォルトでは無効になっている為です。 この設定は通常は常に有効化しておき、パス…
以前に Cisco ACI でコンフィグの定期バックアップ設定をするというメモを書きました。 この記事では Remote Location へのアクセス時にパスワード認証することを前提にしていたのですが、今回は鍵交換方式で認証する場合の設定例をメモします。 尚、ACI 4.2…
Cisco ACI では Capacity Dashboard 画面から様々なリソースの消費量を確認することが出来ます。 「消費量が分かる」ということは、逆の表現をすると「あと、どのくらい設定できるのか?が分かる」ので、キャパシティ計画を立てることが出来ます。 Capacity …
今回は Cisco ACI の設定を Ansible で自動化する手順をメモしておきます。 尚、サンプルとして理解しやすいよう、Playbook は「ひとつの機能毎に分割」しています。
Cisco ACI のスナップショット機能に関して、以前に以下のメモを書きました。 Cisco ACI のスナップショット機能でコンフィグをバックアップする Cisco ACI で Snaphost が保存されるディレクトリ スナップショット機能は実装当初から使いやすい機能で、最新…
C# で ACI へログインするサンプルを書いてみました。 ACI 4.2(2e) で検証しましたが、ACI 側のバージョンに依存する部分はありません。 .NET Framework は 4.7.2 を使いました。 サンプルとしての分かりやすさを優先すべく、出来るだけコンパクトに書いてい…