この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章の内容は、次のとおりです。
テナントは相互に分離することも、リソースを共有することもできます。テナントに含まれる主要な要素は、フィルタ、コントラクト、外部ネットワーク、ブリッジ ドメイン、仮想ルーティングおよび転送(VRF)インスタンス、エンドポイント グループ(EPG)を含むアプリケーション プロファイルです。テナントのエンティティはそのポリシーを継承します。VRF はコンテキストとも呼ばれ、それぞれを複数のブリッジ ドメインに関連付けることができます。
(注) | APIC GUI のテナント ナビゲーション パスでは、VRF(コンテキスト)はプライベート ネットワークと呼ばれます。 |
テナントはアプリケーション ポリシーの論理コンテナです。ファブリックには複数のテナントを含めることができます。レイヤ 4 ~ 7 のサービスを展開する前に、テナントを設定する必要があります。ACI ファブリックは、テナント ネットワークに対して IPv4、IPv6、およびデュアル スタック構成をサポートします。
アプリケーション セントリック インフラストラクチャ(ACI)のファブリックでは、テナントのデフォルト ゲートウェイ機能が提供され、ファブリックの Virtual Extensible Local Area(VXLAN)ネットワーク間のルーティングが行えます。各テナントについて、APIC でサブネットが作成されるたびに、ファブリックは仮想デフォルト ゲートウェイまたはスイッチ仮想インターフェイス(SVI)を提供します。これは、そのテナント サブネットの接続エンドポイントがあるすべてのスイッチにわたります。各入力インターフェイスはデフォルトのゲートウェイ インターフェイスをサポートし、ファブリック全体のすべての入力インターフェイスは任意のテナント サブネットに対する同一のルータの IP アドレスと MAC アドレスを共有します。
ACI ファブリックは、ACI ファブリック VXLAN ネットワーク間のルーティングを実行するテナントのデフォルト ゲートウェイ機能を備えています。各テナントに対して、ファブリックはテナントに割り当てられたすべてのリーフ スイッチにまたがる仮想デフォルト ゲートウェイを提供します。これは、エンドポイントに接続された最初のリーフ スイッチの入力インターフェイスで提供されます。各入力インターフェイスはデフォルト ゲートウェイ インターフェイスをサポートします。ファブリック全体のすべての入力インターフェイスは、特定のテナント サブネットに対して同一のルータの IP アドレスと MAC アドレスを共有します。
ACI ファブリックは、エンドポイントのロケータまたは VXLAN トンネル エンドポイント(VTEP)アドレスで定義された場所から、テナント エンドポイント アドレスとその識別子を切り離します。ファブリック内の転送は VTEP 間で行われます。次の図は、ACI で切り離された ID と場所を示します。
VXLAN は VTEP デバイスを使用してテナントのエンド デバイスを VXLAN セグメントにマッピングし、VXLAN のカプセル化およびカプセル化解除を実行します。各 VTEP 機能には、次の 2 つのインターフェイスがあります。
ブリッジングを介したローカル エンドポイント通信をサポートするローカル LAN セグメントのスイッチ インターフェイス
転送 IP ネットワークへの IP インターフェイス
IP インターフェイスには一意の IP アドレスがあります。これは、インフラストラクチャ VLAN として知られる、転送 IP ネットワーク上の VTEP を識別します。VTEP デバイスはこの IP アドレスを使用してイーサネット フレームをカプセル化し、カプセル化されたパケットを、IP インターフェイスを介して転送ネットワークへ送信します。また、VTEP デバイスはリモート VTEP で VXLAN セグメントを検出し、IP インターフェイスを介してリモートの MAC Address-to-VTEP マッピングについて学習します。
ACI の VTEP は分散マッピング データベースを使用して、内部テナントの MAC アドレスまたは IP アドレスを特定の場所にマッピングします。VTEP はルックアップの完了後に、宛先リーフ スイッチ上の VTEP を宛先アドレスとして、VXLAN 内でカプセル化された元のデータ パケットを送信します。宛先リーフ スイッチはパケットをカプセル化解除して受信ホストに送信します。このモデルにより、ACI はスパニングツリー プロトコルを使用することなく、フル メッシュでシングル ホップのループフリー トポロジを使用してループを回避します。
VXLAN セグメントは基盤となるネットワーク トポロジに依存しません。逆に、VTEP 間の基盤となる IP ネットワークは、VXLAN オーバーレイに依存しません。これは発信元 IP アドレスとして開始 VTEP を持ち、宛先 IP アドレスとして終端 VTEP を持っており、外部 IP アドレス ヘッダーに基づいてパケットをカプセル化します。
次の図は、テナント内のルーティングがどのように行われるかを示します。
ACI はファブリックの各テナント VRF に単一の L3 VNID を割り当てます。ACI は、L3 VNID に従ってファブリック全体にトラフィックを転送します。出力リーフ スイッチでは、ACI によって L3 VNID からのパケットが出力サブネットの VNID にルーティングされます。
ACI のファブリック デフォルト ゲートウェイに送信されてファブリック入力に到達したトラフィックは、レイヤ 3 VNID にルーティングされます。これにより、テナント内でルーティングされるトラフィックはファブリックで非常に効率的に転送されます。このモデルを使用すると、たとえば同じ物理ホスト上の同じテナントに属し、サブネットが異なる 2 つの VM 間では、トラフィックが(最小パス コストを使用して)正しい宛先にルーティングされる際に経由する必要があるは入力スイッチ インターフェイスのみです。
ACI ルート リフレクタは、ファブリック内での外部ルートの配布にマルチプロトコル BGP(MP-BGP)を使用します。ファブリック管理者は自律システム(AS)番号を提供し、ルート リフレクタにするスパイン スイッチを指定します。
ピアリングによって学習されるルートは、スパイン スイッチに送信されます。スパイン スイッチはルート リフレクタとして動作し、外部ルートを同じテナントに属するインターフェイスを持つすべてのリーフ スイッチに配布します。これらのルートは、最長プレフィクス照合(LPM)により集約されたアドレスで、外部ルータが接続されているリモートのリーフ スイッチの VTEP IP アドレスが含まれるリーフ スイッチの転送テーブルに配置されます。WAN ルートには転送プロキシはありません。WAN ルートがリーフ スイッチの転送テーブルに適合しない場合、トラフィックはドロップされます。外部ルータがデフォルト ゲートウェイではないため、テナントのエンドポイント(EP)からのパケットは ACI ファブリックのデフォルト ゲートウェイに送信されます。
ACI ファブリックは、外部ルータの存在を認識せず、APIC はリーフ スイッチのインターフェイスを EPG に静的に割り当てます。
ACI ファブリックのルート リフレクタは、マルチプロトコル BGP(MP-BGP)を使用してファブリック内に外部ルートを配布します。ACI ファブリックでルート リフレクタをイネーブルにするには、ファブリックの管理者がルート リフレクタになるスパイン スイッチを選択して、自律システム(AS)番号を提供する必要があります。ルート リフレクタが ACI ファブリックでイネーブルになると、管理者は次の項で説明するように、外部ネットワークへの接続を設定できます。
ACI ファブリックに外部ルータを接続するには、ファブリック インフラストラクチャの管理者がボーダー ゲートウェイ プロトコル(BGP)のルート リフレクタとしてスパイン ノードを設定します。冗長性のために、複数のスパインがルータ リフレクタ ノードとして設定されます(1 台のプライマリ リフレクタと 1 台のセカンダリ リフレクタ)。
テナントが ACI ファブリックに WAN ルータを接続する必要がある場合は、インフラストラクチャの管理者が WAN ルータが WAN のトップ オブ ラック(ToR)として接続されるリーフ ノードを(以下の通りに)設定し、この WAN ToR を BGP ピアとしてルート リフレクタ ノードの 1 つと組み合わせます。ルート リフレクタが WAN ToR に設定されていると、ファブリックにテナント ルートをアドバタイズできます。
各リーフ ノードには最大 4000 のルートを保存できます。WAN ルータが 4000 を超えるルートをアドバタイズしなければならない場合、複数のリーフ ノードとピアリングする必要があります。インフラストラクチャの管理者は、ペアになったリーフ ノードそれぞれをアドバタイズできるルート(またはルート プレフィクス)で設定します。
インフラストラクチャの管理者は、次のようにファブリックに接続されている外部 WAN ルータを設定する必要があります。
スタティック ルートをアプリケーション セントリック インフラストラクチャ(ACI)ファブリック上の他のリーフ スイッチに配布する前に、マルチプロトコル BGP(MP-BGP)プロセスが最初に動作していて、スパイン スイッチが BGP ルート リフレクタとして設定されている必要があります。
ACI ファブリックを外部ルーテッド ネットワークに統合するために、管理テナントのレイヤ 3 接続に対し Open Shortest Path First(OSPF)を設定できます。
ステップ 1 | メニュー バーで、 を選択します。 | ||
ステップ 2 | [Navigation] ペインで、 を展開し、[BGP Route Reflector default] を右クリックし、[Create Route Reflector Node Policy EP] をクリックします。 | ||
ステップ 3 | [Create Route Reflector Node Policy EP] ダイアログボックスで、[Spine Node] ドロップダウン リストから、適切なスパイン ノードを選択します。[Submit] をクリックします。
| ||
ステップ 4 | [BGP Route Reflector default] プロパティ領域で、[Autonomous System Number] フィールドで、適切な番号を選択します。[Submit] をクリックします。
| ||
ステップ 5 | [Navigation] ペインで、[Policy Groups] を展開して右クリックし、[Create POD Policy Group] をクリックします。 | ||
ステップ 6 | [Create POD Policy Group] ダイアログボックスで、[Name] フィールドに、ポッド ポリシー グループの名前を入力します。 | ||
ステップ 7 | [BGP Route Reflector Policy] ドロップダウン リストで、適切なポリシー(デフォルト)を選択します。[Submit] をクリックします。 BGP ルート リフレクタのポリシーは、ルート リフレクタのポッド ポリシー グループに関連付けられ、BGP プロセスはリーフ スイッチでイネーブルになります。 | ||
ステップ 8 | [Navigation] ペインで、 の順に選択します。[Work] ペインで、[Fabric Policy Group] ドロップダウン リストから、前に作成されたポッド ポリシーを選択します。[Submit] をクリックします。 ポッド ポリシー グループが、ファブリック ポリシー グループに適用されました。 |
ACI ファブリック内のルートを配布するために、MP-BGP プロセスを最初に実行し、スパイン スイッチを BGP ルート リフレクタとして設定する必要があります。
次に、MP-BGP ルート リフレクタの設定例を示します。
(注) | この例では、BGP ファブリック ASN は 100 です。スパイン スイッチ 104 と 105 が MP-BGP ルート リフレクタとして選択されます。 |
apic1(config)# bgp-fabric apic1(config-bgp-fabric)# asn 100 apic1(config-bgp-fabric)# route-reflector spine 104,105
ステップ 1 | スパイン スイッチをルート リフレクタとしてマークします。 例: POST https://apic-ip-address/api/policymgr/mo/uni/fabric.xml <bgpInstPol name="default"> <bgpAsP asn="1" /> <bgpRRP> <bgpRRNodePEp id=“<spine_id1>”/> <bgpRRNodePEp id=“<spine_id2>”/> </bgpRRP> </bgpInstPol> |
ステップ 2 | 次のポストを使用してポッド セレクタをセットアップします。 例: FuncP セットアップの場合: POST https://apic-ip-address/api/policymgr/mo/uni.xml <fabricFuncP> <fabricPodPGrp name="bgpRRPodGrp”> <fabricRsPodPGrpBGPRRP tnBgpInstPolName="default" /> </fabricPodPGrp> </fabricFuncP> 例: PodP セットアップの場合: POST https://apic-ip-address/api/policymgr/mo/uni.xml <fabricPodP name="default"> <fabricPodS name="default" type="ALL"> <fabricRsPodPGrp tDn="uni/fabric/funcprof/podpgrp-bgpRRPodGrp"/> </fabricPodS> </fabricPodP> |
ステップ 1 | メニュー バーで、 ペインで、VRF を導入するリーフ スイッチをクリックします。 の順にクリックします。[Navigation] |
ステップ 2 | [Configure VRF] を右クリックしてクリックします。 |
ステップ 3 | [Configure VRF] ダイアログボックスで、次の操作を実行します。 |
ステップ 4 | [Prefix List] 領域を展開します。 |
ステップ 5 | [Configure VRF with Leaf] ダイアログボックスで、[OSPF Configuration] 領域を展開します。
|
ステップ 6 | [Navigation] ペインで、 の順に展開します。 |
ステップ 7 | レイヤ 3 を設定する目的のインターフェイスを選択し、次の操作を実行します。 |
管理テナントの OSPF 外部ルーテッド ネットワークが作成されます。
ステップ 1 | メニュー バーで、 を選択します。 |
ステップ 2 | [Navigation] ペインで、 を展開します。 |
ステップ 3 | [External Routed Networks] を右クリックし、[Create Routed Outside] をクリックします。 |
ステップ 4 | [Create Routed Outside] ダイアログボックスで、次の操作を実行します。 |
ステップ 5 | [Create Node Profile] ダイアログボックスで、次の操作を実行します。 |
ステップ 6 | [Create Node Profile] ダイアログボックスで、[OSPF Interface Profiles] 領域の [+] アイコンをクリックします。 |
ステップ 7 | [Create Interface Profile] ダイアログボックスで、次のタスクを実行します。 |
ステップ 8 | [Create Node Profile] ダイアログボックスで、[OK] をクリックします。 |
ステップ 9 | [Create Routed Outside] ダイアログボックスで、[Next] をクリックします。 [Step 2 External EPG Networks] 領域が表示されます。 |
ステップ 10 | [External EPG Networks] 領域で、[+] アイコンをクリックします。 |
ステップ 11 | [Create External Network] ダイアログボックスで、次の操作を実行します。 |
外部ルーテッド ネットワーク接続の設定には、次のステップがあります。
テナントの下に VRF を作成します。
外部ルーテッド ネットワークに接続された境界リーフ スイッチの VRF の L3 ネットワーキング構成を設定します。この設定には、インターフェイス、ルーティング プロトコル(BGP、OSPF、EIGRP)、プロトコル パラメータ、ルートマップが含まれています。
テナントの下に外部 L3 EPG を作成してポリシーを設定し、これらの EPG を境界リーフ スイッチに導入します。ACI ファブリック内で同じポリシーを共有する VRF の外部ルーテッド サブネットが、1 つの「外部 L3 EPG」または 1 つの「プレフィクス EPG」を形成します。
設定は、2 つのモードで実現されます。
次の手順は、テナントの OSPF 外部ルーテッド ネットワークを作成するためのものです。テナントの OSPF 外部ルーテッド ネットワークを作成するには、テナントを選択してからテナント用の VRF を作成する必要があります。
(注) | この項の例では、テナント「exampleCorp」の「OnlineStore」アプリケーションの「web」epg に外部ルーテッド接続を提供する方法について説明します。 |
ステップ 1 | VLAN ドメインを設定します。 例: apic1(config)# vlan-domain dom_exampleCorp apic1(config-vlan)# vlan 5-1000 apic1(config-vlan)# exit | ||
ステップ 2 | テナント VRF を設定し、VRF のポリシーの適用を有効にします。 例: apic1(config)# tenant exampleCorp apic1(config-tenant)# vrf context exampleCorp_v1 apic1(config-tenant-vrf)# contract enforce apic1(config-tenant-vrf)# exit | ||
ステップ 3 | テナント BD を設定し、ゲートウェイ IP を「public」としてマークします。エントリ「scope public」は、このゲートウェイ アドレスを外部 L3 ネットワークのルーティング プロトコルによるアドバタイズに使用できるようにします。 例: apic1(config-tenant)# bridge-domain exampleCorp_b1 apic1(config-tenant-bd)# vrf member exampleCorp_v1 apic1(config-tenant-bd)# exit apic1(config-tenant)# interface bridge-domain exampleCorp_b1 apic1(config-tenant-interface)# ip address 172.1.1.1/24 scope public apic1(config-tenant-interface)# exit | ||
ステップ 4 | リーフの VRF を設定します。 例: apic1(config)# leaf 101 apic1(config-leaf)# vrf context tenant exampleCorp vrf exampleCorp_v1 | ||
ステップ 5 | OSPF エリアを設定し、ルート マップを追加します。 例: apic1(config-leaf)# router ospf default apic1(config-leaf-ospf)# vrf member tenant exampleCorp vrf exampleCorp_v1 apic1(config-leaf-ospf-vrf)# area 0.0.0.1 route-map map100 out apic1(config-leaf-ospf-vrf)# exit apic1(config-leaf-ospf)# exit | ||
ステップ 6 | VRF をインターフェイス(この例ではサブインターフェイス)に割り当て、OSPF エリアを有効にします。 例:
apic1(config-leaf)# interface ethernet 1/11 apic1(config-leaf-if)# no switchport apic1(config-leaf-if)# vlan-domain member dom_exampleCorp apic1(config-leaf-if)# exit apic1(config-leaf)# interface ethernet 1/11.500 apic1(config-leaf-if)# vrf member tenant exampleCorp vrf exampleCorp_v1 apic1(config-leaf-if)# ip address 157.10.1.1/24 apic1(config-leaf-if)# ip router ospf default area 0.0.0.1 | ||
ステップ 7 | 外部 L3 EPG ポリシーを設定します。これは、外部サブネットを特定し、epg 「web」と接続する契約を消費するために一致させるサブネットが含まれます。 例: apic1(config)# tenant t100 apic1(config-tenant)# external-l3 epg l3epg100 apic1(config-tenant-l3ext-epg)# vrf member v100 apic1(config-tenant-l3ext-epg)# match ip 145.10.1.0/24 apic1(config-tenant-l3ext-epg)# contract consumer web apic1(config-tenant-l3ext-epg)# exit apic1(config-tenant)#exit | ||
ステップ 8 | リーフ スイッチの外部 L3 EPG を導入します。 例: apic1(config)# leaf 101 apic1(config-leaf)# vrf context tenant t100 vrf v100 apic1(config-leaf-vrf)# external-l3 epg l3epg100 |
テナント、VRF、およびブリッジ ドメインの作成
テナントには、承認されたユーザのドメインベースのアクセス コントロールをイネーブルにするポリシーが含まれます。承認されたユーザは、テナント管理やネットワーキング管理などの権限にアクセスできます。
ユーザは、ドメイン内のポリシーにアクセスしたりポリシーを設定するには読み取り/書き込み権限が必要です。テナント ユーザは、1 つ以上のドメインに特定の権限を持つことができます。
マルチテナント環境では、リソースがそれぞれ分離されるように、テナントによりグループ ユーザのアクセス権限が提供されます(エンドポイント グループやネットワーキングなどのため)。これらの権限では、異なるユーザが異なるテナントを管理することもできます。
テナントには、最初にテナントを作成した後に作成できるフィルタ、契約、ブリッジ ドメイン、およびアプリケーション プロファイルなどのプライマリ要素が含まれます。
テナントの VRF およびブリッジ ドメインを作成および指定できます。定義されたブリッジ ドメイン要素のサブネットは、対応するレイヤ 3 コンテキストを参照します。
IPv6 ネイバー探索を有効にする方法については、『Cisco APIC Layer 3 Networking Guide』の「IPv6 and Neighbor Discovery」を参照してください。
外部ルーテッドを設定するときにパブリック サブネットがある場合は、ブリッジ ドメインを外部設定と関連付ける必要があります。
ステップ 1 | メニュー バーで、 の順にクリックします。 |
ステップ 2 | [Create Tenant] ダイアログボックスで、次のタスクを実行します。 |
ステップ 3 | [Navigation] ペインで、 の順に展開し、[Work] ペインで、[VRF] アイコンをキャンバスにドラッグして [Create VRF] ダイアログボックスを開き、次のタスクを実行します。 |
ステップ 4 | [Networking] ペインで、[BD] アイコンを [VRF] アイコンにつなげながらキャンバスにドラッグします。[Create Bridge Domain] ダイアログボックスが表示されたら、次のタスクを実行します。 |
ステップ 5 | [Networks] ペインで、[L3] アイコンを [VRF] アイコンにつなげながらキャンバスにドラッグします。[Create Routed Outside] ダイアログボックスが表示されたら、次のタスクを実行します。
|
アプリケーション ポリシーの展開
トラフィックは前面パネルのインターフェイスからリーフ スイッチに入り、パケットは送信元 EPG の EPG でマーキングされます。リーフ スイッチはその後、テナント エリア内のパケットの宛先 IP アドレスでフォワーディング ルックアップを実行します。ヒットすると、次のシナリオのいずれかが発生する可能性があります。
ユニキャスト(/32)ヒットでは、宛先エンドポイントの EPG と宛先エンドポイントが存在するローカル インターフェイスまたはリモート リーフ スイッチの VTEP IP アドレスが提供されます。
サブネット プレフィクス(/32 以外)のユニキャスト ヒットでは、宛先サブネット プレフィクスの EPG と宛先サブネット プレフィクスが存在するローカル インターフェイスまたはリモート リーフ スイッチの VTEP IP アドレスが提供されます。
マルチキャスト ヒットでは、ファブリック全体の VXLAN カプセル化とマルチキャスト グループの EPG で使用するローカル レシーバのローカル インターフェイスと外側の宛先 IP アドレスが提供されます。
(注) | マルチキャストと外部ルータのサブネットは、入力リーフ スイッチでのヒットを常にもたらします。セキュリティ ポリシーの適用は、宛先 EPG が入力リーフ スイッチによって認識されるとすぐに発生します。 |
転送テーブルの誤りにより、パケットがスパイン スイッチの転送プロキシに送信されます。転送プロキシはその後、転送テーブル検索を実行します。これが誤りである場合、パケットはドロップされます。これがヒットの場合、パケットは宛先エンドポイントを含む出力リーフ スイッチに送信されます。出力リーフ スイッチが宛先の EPG を認識するため、セキュリティ ポリシーの適用が実行されます。出力リーフ スイッチは、パケット送信元の EPG を認識する必要があります。ファブリック ヘッダーは、入力リーフ スイッチから出力リーフ スイッチに EPG を伝送するため、このプロセスをイネーブルにします。スパイン スイッチは、転送プロキシ機能を実行するときに、パケット内の元の EPG を保存します。
出力リーフ スイッチでは、送信元 IP アドレス、送信元 VTEP、および送信元 EPG 情報は、学習によってローカルの転送テーブルに保存されます。ほとんどのフローが双方向であるため、応答パケットがフローの両側で転送テーブルに入力し、トラフィックが両方向で入力フィルタリングされます。
ACI セキュリティ モデルでは、コントラクトに EPG 間の通信を管理するポリシーが含まれます。コントラクトは通信内容を指定し、EPG は通信の送信元と宛先を指定します。コントラクトは次のように EPG をリンクします。
EPG 1 --------------- コントラクト --------------- EPG 2
コントラクトで許可されていれば、EPG 1 のエンドポイントは EPG 2 のエンドポイントと通信でき、またその逆も可能です。このポリシーの構造には非常に柔軟性があります。たとえば、EPG 1 と EPG 2 間には多くのコントラクトが存在でき、1 つのコントラクトを使用する EPG が 3 つ以上存在でき、コントラクトは複数の EPG のセットで再利用できます。
また EPG とコントラクトの関係には方向性があります。EPG はコントラクトを提供または消費できます。コントラクトを提供する EPG は通常、一連のクライアント デバイスにサービスを提供する一連のエンドポイントです。そのサービスによって使用されるプロトコルはコントラクトで定義されます。コントラクトを消費する EPG は通常、そのサービスのクライアントである一連のエンドポイントです。クライアント エンドポイント(コンシューマ)がサーバ エンドポイント(プロバイダー)に接続しようとすると、コントラクトはその接続が許可されるかどうかを確認します。特に指定のない限り、そのコントラクトは、サーバがクライアントへの接続を開始することを許可しません。ただし、EPG 間の別のコントラクトが、その方向の接続を簡単に許可する場合があります。
この提供/消費の関係は通常、EPG とコントラクト間を矢印を使って図で表されます。次に示す矢印の方向に注目してください。
EPG 1 <------- 消費 -------- コントラクト <------- 提供 -------- EPG 2
これらの同じ構造は、仮想マシンのハイパーバイザを管理するポリシーにも適用されます。EPG が Virtual Machine Manager(VMM)のドメイン内に配置されると、APIC は EPG に関連付けられたすべてのポリシーを VMM ドメインに接続するインターフェイスを持つリーフ スイッチにダウンロードします。VMM ドメインの完全な説明については、『Application Centric Infrastructure Fundamentals』の「Virtual Machine Manager Domains」の章を参照してください。このポリシーが作成されると、APIC は EPG のエンドポイントへの接続を可能にするスイッチを指定する VMM ドメインにそれをプッシュ(あらかじめ入力)します。VMM ドメインは、EPG 内のエンドポイントが接続できるスイッチとポートのセットを定義します。エンドポイントがオンラインになると、適切な EPG に関連付けられます。パケットが送信されると、送信元 EPG および宛先 EPG がパケットから取得され、対応するコントラクトで定義されたポリシーでパケットが許可されたかどうかが確認されます。許可された場合は、パケットが転送されます。許可されない場合は、パケットはドロップされます。
コントラクトは 1 つ以上のサブジェクトで構成されます。各サブジェクトには 1 つ以上のフィルタが含まれます。各フィルタには 1 つ以上のエントリが含まれます。各エントリは、アクセス コントロール リスト(ACL)の 1 行に相当し、エンドポイント グループ内のエンドポイントが接続されているリーフ スイッチで適用されます。
詳細には、コントラクトは次の項目で構成されます。
名前:テナントによって消費されるすべてのコントラクト(common テナントまたはテナント自体で作成されたコントラクトを含む)にそれぞれ異なる名前が必要です。
サブジェクト:特定のアプリケーションまたはサービス用のフィルタのグループ。
フィルタ:レイヤ 2 ~ レイヤ 4 の属性(イーサネット タイプ、プロトコル タイプ、TCP フラグ、ポートなど)に基づいてトラフィックを分類するために使用します。
アクション:フィルタリングされたトラフィックで実行されるアクション。次のアクションがサポートされます。
トラフィックの許可(通常のコントラクトのみ)
トラフィックのマーク(DSCP/CoS)(通常のコントラクトのみ)
トラフィックのリダイレクト(サービス グラフによる通常のコントラクトのみ)
トラフィックのコピー(サービス グラフまたは SPAN による通常のコントラクトのみ)
トラフィックのブロック(タブー コントラクトのみ)
トラフィックのロギング(タブー コントラクトのみ)
エイリアス:(任意)変更可能なオブジェクト名。オブジェクト名は作成後に変更できませんが、エイリアスは変更できるプロパティです。
このように、コントラクトによって許可や拒否よりも複雑なアクションが可能になります。コントラクトは、所定のサブジェクトに一致するトラフィックをサービスにリダイレクトしたり、コピーしたり、その QoS レベルを変更したりできることを指定可能です。具象モデルでアクセス ポリシーをあらかじめ入力すると、APIC がオフラインまたはアクセスできない場合でも、エンドポイントは移動でき、新しいエンドポイントをオンラインにでき、通信を行うことができます。APIC は、ネットワークの単一の障害発生時点から除外されます。ACI ファブリックにパケットが入力されると同時に、セキュリティ ポリシーがスイッチで実行している具象モデルによって適用されます。
フィルタは、フィルタを含むコントラクトにより許可または拒否されるデータ プロトコルを指定します。コントラクトには、複数のサブジェクトを含めることができます。サブジェクトは、単方向または双方向のフィルタを実現するために使用できます。単方向フィルタは、コンシューマからプロバイダー(IN)のフィルタまたはプロバイダーからコンシューマ(OUT)のフィルタのどちらか一方向に使用されるフィルタです。双方向フィルタは、両方の方向で使用される同一フィルタです。これは、再帰的ではありません。
コントラクトは、エンドポイント グループ間(EPG 間)の通信をイネーブルにするポリシーです。これらのポリシーは、アプリケーション層間の通信を指定するルールです。コントラクトが EPG に付属していない場合、EPG 間の通信はデフォルトでディセーブルになります。EPG 内の通信は常に許可されているので、EPG 内の通信にはコントラクトは必要ありません。
アプリケーション プロファイルでは、APIC がその後ネットワークおよびデータセンターのインフラストラクチャで自動的にレンダリングするアプリケーション要件をモデル化することができます。アプリケーション プロファイルでは、管理者がインフラストラクチャの構成要素ではなくアプリケーションの観点から、リソース プールにアプローチすることができます。アプリケーション プロファイルは、互いに論理的に関連する EPG を保持するコンテナです。EPG は同じアプリケーション プロファイル内の他の EPG および他のアプリケーション プロファイル内の EPG と通信できます。
アプリケーション ポリシーを展開するには、必要なアプリケーション プロファイル、フィルタ、および契約を作成する必要があります。通常、APIC ファブリックは、テナント ネットワーク内の Three-Tier アプリケーションをホストします。この例では、アプリケーションは 3 台のサーバ(Web サーバ、アプリケーション サーバ、およびデータベース サーバ)を使用して実行されます。Three-Tier アプリケーションの例については、次の図を参照してください。
Web サーバには HTTP フィルタがあり、アプリケーション サーバには Remote Method Invocation(RMI)フィルタがあり、データベース サーバには Structured Query Language(SQL)フィルタがあります。アプリケーション サーバは、SQL コントラクトを消費してデータベース サーバと通信します。Web サーバは、RMI コントラクトを消費して、アプリケーション サーバと通信します。トラフィックは Web サーバから入り、アプリケーション サーバと通信します。アプリケーション サーバはその後、データベース サーバと通信し、トラフィックは外部に通信することもできます。
この例での http 用のフィルタを作成するパラメータは次のとおりです。
パラメータ名 | http のフィルタ |
---|---|
名前 |
http |
エントリの数 |
2 |
エントリ名 |
Dport-80 Dport-443 |
Ethertype |
IP |
プロトコル |
tcp tcp |
宛先ポート |
http https |
この例での rmi および sql 用のフィルタを作成するパラメータは次のとおりです。
パラメータ名 | rmi のフィルタ | sql のフィルタ |
---|---|---|
名前 |
rmi |
sql |
エントリの数 |
1 |
1 |
エントリ名 |
Dport-1099 |
Dport-1521 |
Ethertype |
IP |
IP |
プロトコル |
tcp |
tcp |
宛先ポート |
1099 |
1521 |
この例のアプリケーション プロファイル データベースは次のとおりです。
EPG | 提供される契約 | 消費される契約 |
---|---|---|
web |
web |
rmi |
app |
rmi |
sql |
db |
sql |
-- |
GUI を使用したアプリケーション プロファイルの導入
3 つの個別のフィルタを作成します。この例では、HTTP、RMI、SQL です。このタスクでは、HTTP フィルタを作成する方法を示します。このタスクは、他のフィルタを作成するタスクと同じです。
テナント、ネットワーク、およびブリッジ ドメインが作成されていることを確認します。
ステップ 1 | メニュー バーで、[TENANTS] を選択します。[Navigation] ペインで、 を展開し、[Filters] を右クリックして、[Create Filter] をクリックします。
| ||
ステップ 2 | [Create Filter] ダイアログボックスで、次の操作を実行します。 | ||
ステップ 3 | [Name] フィールドの [Entries] を展開します。同じプロセスを実行して、別のエントリを宛先ポートとして HTTPS で追加し、[Update] をクリックします。 この新しいフィルタ ルールが追加されます。 | ||
ステップ 4 | さらに 2 つのフィルタ(rmi および sql)を作成し、rmi および sql 用のフィルタを作成するパラメータに示すパラメータを使用するには、上記手順の同じプロセスを実行します。 |
EPG が使用するポートは、VM マネージャ(VMM)ドメインまたは EPG に関連付けられた物理ドメインのいずれか 1 つに属している必要があります。
ステップ 1 | メニュー バーで、[Tenants]、EPG を作成するテナントの順に選択します。 |
ステップ 2 | ナビゲーション ペインで、テナントのフォルダ、[Application Profiles] フォルダ、アプリケーション プロファイルのフォルダの順に展開します。 |
ステップ 3 | [Application EPG] フォルダを右クリックし、[Create Application EPG] ダイアログボックスで次の操作を実行します。 |
ステップ 4 | [Create Application Profile] ダイアログボックスで、EPG をさらに 2 つ作成します。3 つの EPG は、同じブリッジ ドメインおよびデータセンター内の db、app、および web である必要があります。 |
EPG 間のポリシー関係を作成するために、前に作成した契約を関連付けることができます。
提供するコントラクトと使用するコントラクトに名前を付けるときは、提供するコントラクトと使用するコントラクトの両方に同じ名前を付けてください。
ステップ 1 |
[Add Consumed Contract] ダイアログボックスが表示されます。 | ||
ステップ 2 | [Name] フィールドで、ドロップダウン リストから、sql 契約を選択します。[OK] をクリックします。 この手順により、db EPG は sql 契約を提供でき、app EPG は sql 契約を消費することができます。 | ||
ステップ 3 | APIC GUI 画面 をクリックして、app ePG から web EPG にドラッグします。 [Add Consumed Contract] ダイアログボックスが表示されます。 | ||
ステップ 4 | [Name] フィールドで、ドロップダウン リストから、rmi 契約を選択します。[OK] をクリックします。 この手順により、app EPG は rmi 契約を提供でき、web EPG は rmi 契約を消費することができます。 | ||
ステップ 5 | web EPG のアイコンをクリックし、[Provided Contracts] 領域の [+] 記号をクリックします。 [Add Provided Contract] ダイアログボックスが表示されます。 | ||
ステップ 6 | [Name] フィールドで、ドロップダウン リストから、web 契約を選択します。[OK] をクリックします。[Submit] をクリックします。 OnlineStore と呼ばれる 3 層アプリケーション プロファイルが作成されました。 | ||
ステップ 7 | 確認するには、[Navigation] ペインで、[Application Profiles] 下の [OnlineStore] に移動してクリックします。 [Work] ペインで、3 つの EPG app、db および web が表示されていることを確認できます。 | ||
ステップ 8 | [Work] ペインで、 を選択します。 消費/提供される順番で表示された EPG と契約を確認できます。 |
このトピックでは、Cisco APIC を使用しているときに特定のポートに EPG を静的に導入する方法の典型的な例を示します。
EPG を導入するテナントがすでに作成されていること。
ステップ 1 | メニュー バーで、[TENANTS] をクリックします。 |
ステップ 2 | [with APIC] ペインで、 の順に適切に展開します。 |
ステップ 3 | [Application Profiles] を右クリックし、[Create Application Profile] をクリックします。 |
ステップ 4 | [Create Application Profile] ダイアログボックスで、次の操作を実行します。 |
ステップ 5 | [Navigation] ペインで、[Application Profiles] を展開して、新しいアプリケーション プロファイルを表示します。 |
ステップ 6 | [Application EPGs] を展開して、新しい EPG を表示します。 |
ステップ 7 | EPG を展開して [Static Bindings (Paths)] をクリックし、[Properties] ペインで、確立されたスタティック バインディング パスの詳細を表示します。 |
ステップ 1 | VLAN ドメインを設定します。 例: apic1(config)# vlan-domain dom1 apic1(config-vlan)# vlan 10-100
| ||
ステップ 2 | テナントを作成します。 例: apic1# configure apic1(config)# tenant t1
| ||
ステップ 3 | プライベート ネットワーク/VRF を作成します。 例: apic1(config-tenant)# vrf context ctx1 apic1(config-tenant-vrf)# exit
| ||
ステップ 4 | ブリッジ ドメインを作成します。 例: apic1(config-tenant)# bridge-domain bd1 apic1(config-tenant-bd)# vrf member ctx1 apic1(config-tenant-bd)# exit
| ||
ステップ 5 | アプリケーション プロファイルおよびアプリケーション EPG を作成します。 例: apic1(config-tenant)# application AP1 apic1(config-tenant-app)# epg EPG1 apic1(config-tenant-app-epg)# bridge-domain member bd1 apic1(config-tenant-app-epg)# exit apic1(config-tenant-app)# exit apic1(config-tenant)# exit
| ||
ステップ 6 | EPG を特定のポートに関連付けます。 例: apic1(config)# leaf 1017 apic1(config-leaf)# interface ethernet 1/13 apic1(config-leaf-if)# vlan-domain member dom1 apic1(config-leaf-if)# switchport trunk allowed vlan 20 tenant t1 application AP1 epg EPG1
|
EPG を導入するテナントが作成されていること。
例: <fvTenant name="<tenant_name>" dn="uni/tn-test1" > <fvCtx name="<network_name>" pcEnfPref="enforced" knwMcastAct="permit"/> <fvBD name="<bridge_domain_name>" unkMcastAct="flood" > <fvRsCtx tnFvCtxName="<network_name>"/> </fvBD> <fvAp name="<application_profile>" > <fvAEPg name="<epg_name>" > <fvRsPathAtt tDn="topology/pod-1/paths-1017/pathep-[eth1/13]" mode="regular" instrImedcy="immediate" encap="vlan-20"/> </fvAEPg> </fvAp> </fvTenant> |
このトピックでは、特定のポートに EPG を導入する場合に必須である物理ドメイン、接続エンティティ プロファイル(AEP)、および VLAN を作成する方法の典型的な例を示します。
(注) | すべてのエンドポイント グループ(EPG)にドメインが必要です。また、インターフェイス ポリシー グループを接続エンティティ プロファイル(AEP)に関連付ける必要があり、AEP と EPG が同じドメインに存在する必要がある場合は、AEP をドメインに関連付ける必要があります。EPG とドメイン、およびインターフェイス ポリシー グループとドメインの関連付けに基づいて、EPG が使用するポートと VLAN が検証されます。以下のドメイン タイプが EPG に関連付けられます。
APIC は、これらのドメイン タイプのうち 1 つまたは複数に EPG が関連付けられているかどうかを確認します。EPG が関連付けられていない場合、システムは設定を受け入れますが、エラーが発生します。ドメインの関連付けが有効でない場合、導入された設定が正しく機能しない可能性があります。たとえば、VLAN のカプセル化を EPG で使用することが有効でない場合、導入された設定が正しく機能しない可能性があります。 |
ステップ 1 | メニュー バーで、 をクリックします。 |
ステップ 2 | [Navigation] ペインで、[Quick Start] をクリックします。 |
ステップ 3 | [Work] ペインで、[Configure an interface, PC, and vPC] をクリックします。 |
ステップ 4 | [Configure Interface, PC, and vPC] ダイアログボックスで、[+] アイコンをクリックしてスイッチを選択し、次の操作を実行します。 |
ステップ 5 | メニュー バーで、[TENANTS] をクリックします。[Navigation] ペインで、 の順に適切に展開し、次の操作を実行します。 スイッチ プロファイルとインターフェイス プロファイルが作成されます。インターフェイス プロファイルのポート ブロックにポリシー グループが作成されます。AEP が自動的に作成され、ポート ブロックおよびドメインに関連付けられます。ドメインは VLAN プールに関連付けられ、テナントはドメインに関連付けられます。 |
ステップ 1 | VLAN ドメインを作成し、VLAN 範囲を割り当てます。 例: apic1(config)# vlan-domain domP apic1(config-vlan)# vlan 10 apic1(config-vlan)# vlan 25 apic1(config-vlan)# vlan 50-60 apic1(config-vlan)# exit |
ステップ 2 | インターフェイス ポリシー グループを作成し、そのポリシー グループに VLAN ドメインを割り当てます。 例: apic1(config)# template policy-group PortGroup apic1(config-pol-grp-if)# vlan-domain member domP |
ステップ 3 | リーフ インターフェイス プロファイルを作成し、そのプロファイルにインターフェイス ポリシー グループを割り当てて、そのプロファイルを適用するインターフェイス ID を割り当てます。 例: apic1(config)# leaf-interface-profile InterfaceProfile1 apic1(config-leaf-if-profile)# leaf-interface-group range apic1(config-leaf-if-group)# policy-group PortGroup apic1(config-leaf-if-group)# interface ethernet 1/11-13 apic1(config-leaf-if-profile)# exit |
ステップ 4 | リーフ プロファイルを作成し、そのリーフ プロファイルにリーフ インターフェイス プロファイルを割り当てて、そのプロファイルを適用するリーフ ID を割り当てます。 例: apic1(config)# leaf-profile SwitchProfile-1019 apic1(config-leaf-profile)# leaf-interface-profile InterfaceProfile1 apic1(config-leaf-profile)# leaf-group range apic1(config-leaf-group)# leaf 1019 apic1(config-leaf-group)# |
ステップ 1 | インターフェイス プロファイル、スイッチ プロファイル、および接続エンティティ プロファイル(AEP)を作成します。 例: <infraInfra> <infraNodeP name="<switch_profile_name>" dn="uni/infra/nprof-<switch_profile_name>" > <infraLeafS name="SwitchSeletor" descr="" type="range"> <infraNodeBlk name="nodeBlk1" descr="" to_="1019" from_="1019"/> </infraLeafS> <infraRsAccPortP tDn="uni/infra/accportprof-<interface_profile_name>"/> </infraNodeP> <infraAccPortP name="<interface_profile_name>" dn="uni/infra/accportprof-<interface_profile_name>" > <infraHPortS name="portSelector" type="range"> <infraRsAccBaseGrp tDn="uni/infra/funcprof/accportgrp-<port_group_name>" fexId="101"/> <infraPortBlk name="block2" toPort="13" toCard="1" fromPort="11" fromCard="1"/> </infraHPortS> </infraAccPortP> <infraAccPortGrp name="<port_group_name>" dn="uni/infra/funcprof/accportgrp-<port_group_name>" > <infraRsAttEntP tDn="uni/infra/attentp-<attach_entity_profile_name>"/> <infraRsHIfPol tnFabricHIfPolName="1GHifPol"/> </infraAccPortGrp> <infraAttEntityP name="<attach_entity_profile_name>" dn="uni/infra/attentp-<attach_entity_profile_name>" > <infraRsDomP tDn="uni/phys-<physical_domain_name>"/> </infraAttEntityP> <infraInfra> |
ステップ 2 | ドメインを作成する。 例: <physDomP name="<physical_domain_name>" dn="uni/phys-<physical_domain_name>"> <infraRsVlanNs tDn="uni/infra/vlanns-[<vlan_pool_name>]-static"/> </physDomP> |
ステップ 3 | VLAN 範囲を作成します。 例: <fvnsVlanInstP name="<vlan_pool_name>" dn="uni/infra/vlanns-[<vlan_pool_name>]-static" allocMode="static"> <fvnsEncapBlk name="" descr="" to="vlan-25" from="vlan-10"/> </fvnsVlanInstP> |
ステップ 4 | ドメインに EPG を関連付けます。 例: <fvTenant name="<tenant_name>" dn="uni/tn-" > <fvAEPg prio="unspecified" name="<epg_name>" matchT="AtleastOne" dn="uni/tn-test1/ap-AP1/epg-<epg_name>" descr=""> <fvRsDomAtt tDn="uni/phys-<physical_domain_name>" instrImedcy="immediate" resImedcy="immediate"/> </fvAEPg> </fvTenant> |
APIC の拡張 GUI と REST API を使用して、接続エンティティ プロファイルをアプリケーション EPG に直接関連付けることができます。これにより、単一の構成の接続エンティティ プロファイルに関連付けられたすべてのポートに、関連付けられたアプリケーション EPG を導入します。
APIC REST API または NX-OS スタイルの CLI を使用し、インターフェイス ポリシー グループを介して複数のポートにアプリケーション EPG を導入できます。
短時間でアプリケーションを接続エンティティ プロファイルに関連付けて、その接続エンティティ プロファイルに関連付けられたすべてのポートに EPG を迅速に導入することができます。
ステップ 1 | ターゲットの接続エンティティ プロファイルに移動します。 | ||||||||||
ステップ 2 | [Show Usage] ボタンをクリックして、この接続エンティティ プロファイルに関連付けられたリーフ スイッチとインターフェイスを表示します。
この接続エンティティ プロファイルに関連付けられたアプリケーション EPG が、この接続エンティティ プロファイルに関連付けられたすべてのスイッチ上のすべてのポートに導入されます。 | ||||||||||
ステップ 3 | [Application EPGs] テーブルを使用して、この接続エンティティ プロファイルにターゲット アプリケーション EPG を関連付けます。アプリケーション EPG エントリを追加するには、[+] をクリックします。各エントリに次のフィールドがあります。
| ||||||||||
ステップ 4 | [Submit] をクリックします。 この接続エンティティ プロファイルに関連付けられたアプリケーション EPG が、この接続エンティティ プロファイルに関連付けられたすべてのスイッチ上のすべてのポートに導入されます。 |
NX-OS CLI では、接続エンティティ プロファイルを EPG に関連付けることによる迅速な導入が明示的に定義されていません。代わりにインターフェイス ポリシー グループが定義されてドメインが割り当てられます。このポリシー グループは、VLAN に関連付けられたすべてのポートに適用され、その VLAN を介して導入されるアプリケーション EPG を含むように設定されます。
ステップ 1 | ターゲット EPG をインターフェイス ポリシー グループに関連付けます。
このコマンド シーケンスの例では、VLAN ドメイン domain1 と VLAN 1261 に関連付けられたインターフェイス ポリシー グループ pg3 を指定します。このポリシー グループに関連付けられたすべてのインターフェイスに、アプリケーション EPG epg47 が導入されます。 例: apic1# configure terminal apic1(config)# template policy-group pg3 apic1(config-pol-grp-if)# vlan-domain member domain1 apic1(config-pol-grp-if)# switchport trunk allowed vlan 1261 tenant tn10 application pod1-AP epg epg47 |
ステップ 2 | ターゲット ポートで、アプリケーション EPG に関連付けられたインターフェイス ポリシー グループのポリシーが導入されたことを確認します。
次の show コマンド シーケンスの出力例は、ポリシー グループ pg3 がリーフ スイッチ 1017 上のイーサネット ポート 1/20 に導入されていることを示しています。 例: apic1# show run leaf 1017 int eth 1/20 # Command: show running-config leaf 1017 int eth 1/20 # Time: Mon Jun 27 22:12:10 2016 leaf 1017 interface ethernet 1/20 policy-group pg3 exit exit ifav28-ifc1# |
AEP のインターフェイス セレクタを使用して、AEPg の複数のパスを設定できます。以下を選択できます。
ノードまたはノード グループ
インターフェイスまたはインターフェイス グループ
インターフェイスは、インターフェイス ポリシー グループ(および infra:AttEntityP)を使用します。
infra:AttEntityP を AEPg に関連付けることで、使用する VLAN を指定する。
infra:AttEntityP は、VLAN が異なる複数の AEPg に関連付けることができます。
3 のように infra:AttEntityP を AEPg に関連付けた場合、1 で選択したノード上の 2 のインターフェイスに、3 で指定した VLAN を使用して AEPg が導入されます。
この例では、AEPg uni/tn-Coke/ap-AP/epg-EPG1 が、ノード 101 および 102 のインターフェイス 1/10、1/11、および 1/12 に vlan-102 で導入されます。
例: <infraInfra dn="uni/infra"> <infraNodeP name=“NodeProfile"> <infraLeafS name=“NodeSelector" type="range"> <infraNodeBlk name=“NodeBlok" from_="101" to_=“102”/> <infraRsAccPortP tDn="uni/infra/accportprof-InterfaceProfile"/> </infraLeafS> </<infraNodeP> <infraAccPortP name="InterfaceProfile"> <infraHPortS name="InterfaceSelector" type="range"> <infraPortBlk name=“ InterfaceBlock" fromCard="1" toCard="1" fromPort="10" toPort=“12"/> <infraRsAccBaseGrp tDn="uni/infra/funcprof/accportgrp-PortGrp" /> </infraHPortS> </infraAccPortP> <infraFuncP> <infraAccPortGrp name="PortGrp”> <infraRsAttEntP tDn="uni/infra/attentp-AttEntityProfile"/> </infraAccPortGrp> </infraFuncP> <infraAttEntityP name=“AttEntityProfile” > <infraGeneric name=“default” > <infraRsFuncToEpg tDn=“uni/tn-Coke/ap-AP/epg-EPG1” encap=“vlan-102"/> </infraGeneric> </infraAttEntityP> </infraInfra> |
Cisco APIC を使用して Cisco ACI でのマイクロセグメンテーションを設定し、ネットワーク ベースの属性、MAC アドレス、または 1 つ以上の IP アドレスを使用した新しい属性ベースの EPG を作成できます。ネットワークベースの属性を使用して Cisco ACI でのマイクロセグメンテーションを設定し、単一のベース EPG または複数の EPG 内で VM または物理エンドポイントを分離できます。
IP ベースのフィルタを使用して、単一のマイクロセグメントで単一 IP アドレス、サブネット、または多様な非連続 IP アドレスを分離できます。ファイアウォールの使用と同様に、セキュリティ ゾーンを作成するための迅速かつ簡単な方法として、IP アドレスに基づいて物理エンドポイントを分離できます。
MAC ベースのフィルタを使用して、単一 MAC アドレスまたは複数の MAC アドレスを分離できます。不適切なトラフィックをネットワークに送信するサーバがある場合はこの方法を推奨します。MAC ベースのフィルタを使用してマイクロセグメントを作成することで、このサーバを分離できます。
Cisco APIC を使用してマイクロセグメンテーションを設定し、異なる複数のベース EPG または同一の EPG に属する物理エンドポイント デバイスを新しい属性ベースの EPG に配置できます。
注意:シスコでは、コンフィギュレーション モード(拡張または基本)を混在させないことをお勧めします。いずれかのモードで設定を作成し、他方のモードを使用して設定を変更すると、意図しない変更が発生する可能性があります。たとえば、拡張モードを使用して 2 つのポートにインターフェイス ポリシーを適用し、次に基本モードを使用して 1 つのポートの設定を変更すると、変更内容が両方のポートに適用される可能性があります。
(注) | Cisco ACI でのマイクロセグメンテーションを設定する手順は、拡張モードとベーシック モードで同じです。 |
ステップ 1 | Cisco APIC にログインし、[Advanced] モードまたは [Basic] モードを選択します。 | ||||||
ステップ 2 | [TENANTS] を選択し、マイクロセグメントを作成するテナントを選択します。 | ||||||
ステップ 3 | テナントのナビゲーション ウィンドウで、テナント フォルダ、[Application Profiles] フォルダ、[Profile] フォルダ、および [Application EPGs] フォルダを展開します。 | ||||||
ステップ 4 | 次のいずれかを実行します。 ベース EPG のプロパティが作業ウィンドウに表示されます。 | ||||||
ステップ 5 | 作業ウィンドウで、画面の右上にある [OPERATIONAL] タブをクリックします。 | ||||||
ステップ 6 | [OPERATIONAL] タブの下の [Client End-Points] タブがアクティブになっていることを確認します。 作業ウィンドウに、ベース EPG に属するすべての物理エンドポイントが表示されます。 | ||||||
ステップ 7 | 新しいマイクロセグメントに配置するエンドポイント デバイス(複数可)の IP アドレスまたは MAC アドレスを書き留めます。 | ||||||
ステップ 8 | 異なる複数のベース EPG のエンドポイント デバイスを新しい属性ベースの EPG に配置する場合は、各ベース EPG に対してステップ 4 ~ 7 を繰り返します。 | ||||||
ステップ 9 | テナントのナビゲーション ウィンドウで、[uSeg EPGs] フォルダを右クリックし、[Create uSeg EPG] を選択します。 | ||||||
ステップ 10 | 以下の一連の手順を実行し、エンドポイント デバイス グループの 1 つに対して属性ベースの EPG の作成を開始します。 | ||||||
ステップ 11 | フィルタを設定するには、次のいずれかの一連の手順を実行します。
| ||||||
ステップ 12 | 次の手順を実行して uSeg EPG を物理ドメインに関連付けます。
| ||||||
ステップ 13 | uSeg EPG を適切なリーフ スイッチに関連付けます。 | ||||||
ステップ 14 | 作成するその他のネットワーク属性ベースの EPG すべてに対してステップ 9 ~ 13 を繰り返します。 |
属性ベースの EPG が正しく作成されたことを確認します。
IP ベースまたは MAC ベースの属性を設定する場合は、新しいマイクロセグメントに配置したエンドポイント デバイスでトラフィックが動作していることを確認します。
ここでは、ベアメタル環境のベース EPG 内で、ネットワークベースの属性(IP アドレスまたは MAC アドレス)を使用して Cisco ACI でマイクロセグメンテーションを設定する方法について説明します。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | CLI で、コンフィギュレーション モードに入ります。 例: apic1# configure apic1(config)# | |
ステップ 2 | マイクロセグメントを作成します。 例:この例では、IP アドレスに基づいてフィルタを使用します。 apic1(config)# tenant cli-ten1 apic1(config-tenant)# application cli-a1 apic1(config-tenant-app)# epg cli-uepg1 type micro-segmented apic1(config-tenant-app-uepg)# bridge-domain member cli-bd1 apic1(config-tenant-app-uepg)# attribute cli-upg-att match ip <X.X.X.X> #Schemes to express the ip A.B.C.D IP Address A.B.C.D/LEN IP Address and mask 例:この例では、MAC アドレスに基づいてフィルタを使用します。 apic1(config)# tenant cli-ten1 apic1(config-tenant)# application cli-a1 apic1(config-tenant-app)# epg cli-uepg1 type micro-segmented apic1(config-tenant-app-uepg)# bridge-domain member cli-bd1 apic1(config-tenant-app-uepg)# attribute cli-upg-att match mac <FF-FF-FF-FF-FF-FF> #Schemes to express the mac E.E.E MAC address (Option 1) EE-EE-EE-EE-EE-EE MAC address (Option 2) EE:EE:EE:EE:EE:EE MAC address (Option 3) EEEE.EEEE.EEEE MAC address (Option 4) 例:この例では、MAC アドレスに基づいてフィルタを使用し、この uSeg EPG のすべてのメンバー間に EPG 間分離を適用します。 apic1(config)# tenant cli-ten1 apic1(config-tenant)# application cli-a1 apic1(config-tenant-app)# epg cli-uepg1 type micro-segmented apic1(config-tenant-app-uepg)# isolation enforced apic1(config-tenant-app-uepg)# bridge-domain member cli-bd1 apic1(config-tenant-app-uepg)# attribute cli-upg-att match mac <FF-FF-FF-FF-FF-FF> #Schemes to express the mac E.E.E MAC address (Option 1) EE-EE-EE-EE-EE-EE MAC address (Option 2) EE:EE:EE:EE:EE:EE MAC address (Option 3) EEEE.EEEE.EEEE MAC address (Option 4) | |
ステップ 3 | EPG を導入します。 例:この例では、EPG を導入してリーフを指定します。 apic1(config)# leaf 101 apic1(config-leaf)# deploy-epg tenant cli-ten1 application cli-a1 epg cli-uepg1 type micro-segmented | |
ステップ 4 | マイクロセグメントの作成を確認します。 例: apic1(config-tenant-app-uepg)# show running-config # Command: show running-config tenant cli-ten1 application cli-app1 epg cli-uepg1 type micro-segmented # Time: Thu Oct 8 11:54:32 2015 tenant cli-ten1 application cli-app1 epg cli-esx1bu type micro-segmented bridge-domain cli-bd1 attribute cli-uepg-att match mac 00:11:22:33:44:55 exit exit exit |
ここでは、REST API を使用してベアメタル環境の Cisco ACI でネットワーク属性のマイクロセグメンテーションを設定する方法について説明します。
ステップ 1 | Cisco APIC にログインします。 |
ステップ 2 | https://apic-ip-address/api/node/mo/.xml にポリシーをポストします。 例: A:次の例では、IP ベースの属性を使用して 41-subnet という名前のマイクロセグメントを設定します。 <polUni> <fvTenant dn="uni/tn-User-T1" name="User-T1"> <fvAp dn="uni/tn-User-T1/ap-Base-EPG" name="Base-EPG"> <fvAEPg dn="uni/tn-User-T1/ap-Base-EPG/epg-41-subnet" name="41-subnet" pcEnfPref="enforced” isAttrBasedEPg="yes" > <fvRsBd tnFvBDName="BD1" /> <fvCrtrn name="Security1"> <fvIpAttr name="41-filter" ip="12.41.0.0/16"/> </fvCrtrn> </fvAEPg> </fvAp> </fvTenant> </polUni> 例: 次の例は、例 A のベース EPG です。 <polUni> <fvTenant dn="uni/tn-User-T1" name="User-T1"> <fvAp dn="uni/tn-User-T1/ap-Base-EPG" name="Base-EPG"> <fvAEPg dn="uni/tn-User-T1/ap-Base-EPG/baseEPG” name=“baseEPG” pcEnfPref="enforced” > <fvRsBd tnFvBDName="BD1" /> </fvAEPg> </fvAp> </fvTenant> </polUni> 例:B:次の例では、MAC ベースの属性を使用して useg-epg という名前のマイクロセグメントを設定します。 <polUni> <fvTenant name="User-T1"> <fvAp name="customer"> <fvAEPg name="useg-epg" isAttrBasedEPg="true"> <fvRsBd tnFvBDName="BD1"/> <fvRsDomAtt instrImedcy="immediate" resImedcy="immediate" tDn="uni/phys-phys" /> <fvRsNodeAtt tDn="topology/pod-1/node-101" instrImedcy="immediate" /> <fvCrtrn name="default"> <fvMacAttr name="mac" mac="00:11:22:33:44:55" /> </fvCrtrn> </fvAEPg> </fvAp> </fvTenant> </polUni> |
IP アドレスベースのマイクロセグメント EPG を VRF(この EPG が配置されている)の内外からアクセスできるリソースとして設定できます。この場合は、既存の IP アドレスベースのマイクロセグメント EPG にサブネット(ユニキャスト IP アドレスが割り当てられている)を設定し、そのサブネットをこの EPG が属する VRF 以外の VRF にあるデバイスでアドバタイズおよび共有できるようにします。次に、EPG を共有サブネットの IP アドレスに関連付けるオプションを有効にした状態で IP 属性を定義します。
VRF および現在のファブリック外のクライアントがアクセス可能な共有サービスとして、32 ビット マスクの IP アドレスを持つマイクロセグメント EPG を設定できます。
設定に関する次の GUI の説明では、サブネット マスクが /32 に設定された IP アドレスベースのマイクロセグメント EPG が事前設定されていることを前提としています。
(注) |
|
設定に関する次の GUI の説明では、サブネット マスクが /32 に設定された IP アドレスベースのマイクロセグメント EPG が事前設定されていることを前提としています。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | EPG をサブネットの IP アドレスに関連付けることで、共有サービスに対して IP アドレスのマイクロセグメント EPG を有効にします。 例: apic-1(config)# tenant t0 apic-1(config-tenant-app)# epg cli-epg type micro-segmented apic-1(config-tenant-app-uepg)# bridge-domain member b0 apic-1(config-tenant-app-uepg)# attribute ip match ip-use-epg-subnet apic-1(config-tenant-app-uepg)# show run # Command: show running-config tenant t0 application a0 epg cli-epg type micro-segmented # Time: Thu Sep 22 00:17:07 2016 tenant t0 application a0 epg cli-epg type micro-segmented bridge-domain member b0 attribute ip match ip-use-epg-subnet exit exit Exit |
この例では、マイクロセグメント EPG(cli epg)に ip-use-epg-subnet オプション(useFvSubnet)が設定され、その結果、EPG はサブネットの IP アドレスに関連付けられます。次に APIC がそのサブネット アドレスをアドバタイズし、EPG が属する VRF 以外にあるデバイスがサービスとして EPG にアクセスできるようになります。 |
ステップ 2 | EPG をリーフに導入します。 |
この例では、マイクロセグメント EPG(cli epg)をリーフ 102 に導入します。 apic-1(config)# leaf 102 apic-1(config-leaf)# deploy-epg tenant t0 application a0 epg cli-epg type micro-segmented apic-1(config-leaf)# show run # Command: show running-config leaf 102 # Time: Thu Sep 22 00:18:46 2016 leaf 102 deploy-epg tenant t0 application a0 epg cli-epg type micro-segmented |
VRF および現在のファブリック外のクライアントがアクセス可能な共有サービスとして、32 ビット マスクの IP アドレスを持つマイクロセグメント EPG を設定できます。
例: <fvAEPg descr="" dn="uni/tn-t0/ap-a0/epg-epg3" fwdCtrl="" isAttrBasedEPg="yes" matchT="AtleastOne" name="epg3" pcEnfPref="unenforced" prefGrMemb="exclude"prio="unspecified"> <fvRsCons prio="unspecified" tnVzBrCPName="ip-epg"/> <fvRsNodeAtt descr="" encap="unknown" instrImedcy="immediate" mode="regular" tDn="topology/pod-2/node-106"/> <fvSubnet ctrl="" descr="" ip="56.4.0.2/32" name="" preferred="no" scope="public,shared" virtual="no"/> <fvRsDomAtt classPref="encap" delimiter="" encap="unknown" encapMode="auto" instrImedcy="immediate" primaryEncap="unknown" resImedcy="immediate" tDn="uni/phys-vpc"/> <fvRsCustQosPol tnQosCustomPolName=""/> <fvRsBd tnFvBDName="b2"/> <fvCrtrn descr="" match="any" name="default" ownerKey="" ownerTag="" prec="0"> <fvIpAttr descr="" ip="1.1.1.3" name="ipv4" ownerKey="" ownerTag="" usefvSubnet="yes”/> </fvCrtrn> <fvRsProv matchT="AtleastOne" prio="unspecified" tnVzBrCPName="ip-epg"/> <fvRsProv matchT="AtleastOne" prio="unspecified" tnVzBrCPName="shared-svc"/> </fvAEPg> |
共有サービスとして設定された IP アドレスベースのマイクロセグメント EPG を設定解除するには、共有サブネットを削除し、さらにそのサブネットを共有リソースとして使用するオプションを無効にする必要があります。
共有サービスとして設定された IP アドレスベースのマイクロセグメント EPG を設定解除するには、次の情報を確認しておく必要があります。
共有サービスとして設定された IP アドレスベースのマイクロセグメント EPG を設定解除するには、その EPG の ip-use-epg-subnet オプションを無効にします。
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 | ip-use-epg-subnet オプションを無効にします。 例: apic-1(config)# tenant t0 apic-1(config-tenant-app)# epg cli-epg type micro-segmented apic-1(config-tenant-app-uepg)# no attribute ip match ip-use-epg-subnet apic-1(config-tenant-app-uepg)# exit apic-1(config-tenant-app)# exit |
このコード例では、マイクロセグメント EPG「cli epg」の ip-use-epg-subnet オプションを無効にします。 |
usefvSubnet プロパティを「no」に設定することで、IP アドレスベースのマイクロセグメント EPG を無効にすることができます。
この例では、IP アドレスベースのマイクロセグメント EPG「epg3」が共有サービスとして無効になります。 例: <fvAEPg descr="" dn="uni/tn-t0/ap-a0/epg-epg3" fwdCtrl="" isAttrBasedEPg="yes" matchT="AtleastOne" name="epg3" pcEnfPref="unenforced" prefGrMemb="exclude"prio="unspecified"> <fvRsCons prio="unspecified" tnVzBrCPName="ip-epg"/> <fvRsNodeAtt descr="" encap="unknown" instrImedcy="immediate" mode="regular" tDn="topology/pod-2/node-106"/> <fvSubnet ctrl="" descr="" ip="56.4.0.2/32" name="" preferred="no" scope="public,shared" virtual="no"/> <fvRsDomAtt classPref="encap" delimiter="" encap="unknown" encapMode="auto" instrImedcy="immediate" primaryEncap="unknown" resImedcy="immediate" tDn="uni/phys-vpc"/> <fvRsCustQosPol tnQosCustomPolName=""/> <fvRsBd tnFvBDName="b2"/> <fvCrtrn descr="" match="any" name="default" ownerKey="" ownerTag="" prec="0"> <fvIpAttr descr="" ip="1.1.1.3" name="ipv4" ownerKey="" ownerTag="" usefvSubnet="no”/> </fvCrtrn> <fvRsProv matchT="AtleastOne" prio="unspecified" tnVzBrCPName="ip-epg"/> <fvRsProv matchT="AtleastOne" prio="unspecified" tnVzBrCPName="shared-svc"/> </fvAEPg> |