Cisco ACI 製品概要
Cisco ACIとは
「Cisco Application Centric Infrastructure(以降Cisco ACI)」とは、シスコシステムズが提供する次世代のSDN製品です。
Cisco ACIはCisco UCS(Unified Computing System)のService Profileの概念のように、ネットワークの設定や機能を抽象化(プール化)します。そして、それぞれの設定値を組み合わせたプロファイルを作成します。そのプロファイルをCisco ACIのコントローラーである「Application Policy Infrastructure Controller(以降APIC)」からACIファブリックを形成しているNexus 9000シリーズへ適用することで、ネットワークエンジニアでなくとも、迅速且つ簡単にネットワークを構築することができてしまいます。
また、ACIはプロファイルという概念を持つことで、物理と仮想のネットワークを同時に制御することができる次世代のSDN製品なのです。
「Cisco ACI」を形成するACIファブリック
Cisco ACIはネットワークの一般的なファブリック構造である「SpineとLeaf」で形成されます。
Cisco ACIのSpineスイッチはACIファブリックに接続される機器の情報をキャッシュしており、LeafスイッチはACIファブリックに接続されるサーバ、ネットワーク機器、ストレージなどに対して物理的なポートを提供する、といった役割を持っています。また、
ACIファブリック全体をコントロールするAPICを使用することで、一元的にACIファブリックを管理・制御することができます。
従来のネットワークの問題
従来のネットワークにはさまざまな問題があり、環境によっては解決できない状況が起きています。先ずは現状の問題点を以下にあげてみます。
ネットワークの設定に時間がかかる
ネットワーク機器の設定は1台づつ管理コンソールからアクセスし、CLI、GUIを使って設定を行いますので、台数が多くなればなるほど作業時間が長くなってしまいます。
マルチベンダー環境への対応
L2スイッチはBrocade、L3コアスイッチはCisco、ロードバランサーはF5、FirewallはJuniperで構成したマルチベンダ環境というのは珍しくないかと思います。 しかし、各メーカー製品の機器によってOSもコマンド体系も設定方法も違います。これにより、設定、運用、保守を行うエンジニアの技術力が不足し、構築作業に時間がかかってしまいます。
管理が困難
ネットワーク機器が数台の環境であれば管理は容易です。しかし、大規模な仮想環境やクラウド環境にあるネットワーク機器は数十台、数百台とあります。このような環境になると、管理を行うのも非常に時間がかかってしまいます。
仮想、クラウド環境への対応
今現在、サーバ仮想化が一般的になり、大多数の仮想サーバをインターネット経由で提供する「クラウドサービス」が一般的になってきました。クラウドサービスでは迅速に仮想マシンとネットワークをデプロイし、顧客に提供できる状態にする事がインフラ環境に求められています。
VLANの限界
大規模な仮想環境の上に展開しているクラウドサービスは顧客ごとに仮想的なL2ネットワークが必要になります。従来であればVLANを使用してネットワークを分割していたのですが、VLANの最大数が4096となっており、これ以上の仮想ネットワークが必要な環境になると対応できなくなってしまいます。
SDNの誕生
上記の理由から、数年前からSDN(Software Defined Network)が誕生しました。SDNには2つの種類があり、それぞれに特長があります。
ホップ・バイ・ホップ
ホップ・バイ・ホップは一般的には「OpenFlow」と言われています。OpenFlowとは、従来のスイッ チの役割である「管理・制御・転送」の部分を「管理・制御」と「転送」に分割し、全てのスイッチの「管理・制御」を外部の「OpenFlowコントローラー」が担い、「転送」のみを「OpenFlowスイッチ」が行います。これにより、ネットワークの「管理・制御」を一元化することができます。また、 OpenFlowプロトコルは「Open Networking Foundation(ONF)」で規定・標準化されており、OpenFlowプロトコルに対応しているOpenFlowスイッチであれば、ベンダーを問わずにOpenFlowコントローラーから一元的に管理・制御を行うことが可能です。
オーバーレイ
オーバーレイは「VMware NSX」などに代表されるSDNです。仮想ネットワークを制御し、複数の仮想ホストで構成されている仮想環境の仮想スイッチ間をVXLANやNVGRE等のトンネリング技術を使って、既存の物理環境を意識せずに仮想L2ネットワークを延伸することができます。イメージとしては、パケットが仮想スイッチ間を飛行機で移動する感じに似ています。これにより、既存の物理環境にあるネットワーク機器の大幅な設定変更を行う必要がありません。また、大規模な仮想環境やVDI環境の問題となっているVLANのスケーラビリティをVXLAN、NVGREを使用することで、約1677万の仮想ネットワークを作成して問題を解消することができます。
SDNの誕生により従来のネットワークを見直す機会が増え、新たなネットワーク技術のSDNに対しての期待も高まりました。しかし、「未だ構築できるSIerが少ない」「価格が高い」「SDN製品が乱立していてどの製品が良いのか分からない」「ホップ・バイ・ホップ、オーバーレイ共に長所短所があり導入に踏み込めない」「ネットワークエンジニアの仕事が無くなるのではないか、という不安」など、さまざまな懸念点があり、導入に躊躇している企業が多い状況です。
現状のネットワーク問題を解決する「Cisco ACI」の特長
上記のように、従来のネットワークを解決するために生まれたSDN。しかし、SDNでも解決するまでには至らない現状で、Cisco ACIは全ての問題を解決することが出来る機能を搭載しています。以下に代表的な特長を記載します。
アプリケーション・ネットワーク・プロファイル
アプリケーション・ネットワーク・プロファイルとは、ネットワーク関連の設定に関わる項目を抽象化しておく機能です。具体的には、論理的なネットワーク、ACL、QoS、Firewall、ロードバランサー、IPアドレスなどの設定をポリシーとして定め、組み合わせた物をプロファイルと言います。これをネットワークエンジニアが事前に用意しておき、アプリケーション担当者などのユーザがプロファイルをAPIC上で割り当てるだけで、簡単にネットワークを構築することができてしまいます。APICの操作もトポロジーを描くだけです。
3階層アプリケーションのアプリケーション・ネットワーク・プロファイルのイメージ
EPG (End Point Group)
ACIファブリックに接続する物理・仮想サーバやストレージ、ネットワーク機器、外部ネットワーク等はEPGという同じ役割、VLAN、IP、VMwareのポートグループ等のグループ単位で纏められます。ACIではアプリケーション・ネットワーク・プロファイルでEPGの間にACL、QoS、エコパートナーのアプライアンス製品の機能(Firewall、ロードバランサー)を配置してネットワークを簡単に作成していきます。
実際にACIファブリックに接続する機器
EPGのグループ分けの例
コントラクト
APICではEPGが繋がる関係性をProvider(提供者)とConsumer(利用者)という関連付けを行い、その間にContract(契約)というポリシーの定義を置くことで、抽象化したACL、QoS、エコパートナーのアプライアンス製品(Firewall、ロードバランサー)の機能を配置することができます。 これらの操作はAPICで容易に行うことができます。
ProviderとConsumerのイメージ
※ユーザEPGは外部からアクセスしてくるためのルータ機器、WebサーバEPGはWebサーバの集まり、AppサーバEPGはAppサーバの集まりです。これらの通信間において、同じACL、QoS、Firewall、ロードバランサーの機能を使用する事が想定されている機器をグループ化しておくことで、制御がシンプルになり、メンテナンス性も向上します。
Contractのイメージ
※ContractにはACL、QoS、エコパートナーのアプライアンス製品(Firewall、ロードバランサー)の機能が抽象化されています。
EPGの間にContractを導入するイメージ
※各EPGの間にContractを導入していきます。上記のような3階層アプリケーションのインフラを例とすると、WebサーバEPGとユーザEPGの間はCiscoのASAを使ったFirewall機能、AppサーバEPGとWEBサーバEPGの間はF5のBIG-IPを使ったロードバランサー機能、DBサーバEPGとAppサーバEPGの間はACLなど、それぞれに合った制御をContractという抽象化されたフィルターを使うことで簡単にセキュアなネットワークを構築することができます。
EPG間にContractを導入する画面
※上部のようにAPIC上で絵を描くようにトポロジーを作るだけでセキュアなネットワークを簡単に構築することができます。
シンプルな論理ネットワーク
Cisco ACIではTenantという論理的な単位でネットワークを分割し、テナント内に論理的なL2-3のネットワークを構築していきます。一般的にはクラウドサービスを利用する1顧客が利用するネットワークの単位をTenant言います。
論理ネットワークのイメージ
※Tenantの中にContextという仮想L3(VRF)を作成してネットワークを分けることができます。そして、Contextの中にBridge Domainという仮想L2サブネットを作成することでVLANのようにブロードキャストドメインを分けることができます。1つのContext内に2つのBridge Domainがある場合、Contextがルーティングを行い相互通信することも可能です。また、EPGはBridge Domainの中に存在しているイメージになります。
高度な分析機能
Cisco ACIではアプリケーション、テナント、インフラごとにヘルススコア、遅延情報、アトミックカウンター、リソースの使用状況など高度な分析機能をサポートしています。これらの情報は視覚的にも見やすいスコアで表示され、さまざまな業種の方にも利用しやすいツールです。
ヘルススコアの画面
※スコア形式なので直ぐに何が問題となっているのかが視覚的に分かりやすくなっています。これにより、障害時のトラブルシューティングの時間も短縮し、迅速にシステムを復旧することができます。
マルチハイパーバイザ対応
Cisco ACIはVLAN、VXLAN、NVGREに対応した統合型のゲートウェイ機能をサポートしており、仮想・物理間の通信でも各カプセル技術に対応することができます。これにより、VMware、Microsoft、RedHat、Xenなど、全てのOS、ハイパーバイザをサポートすることができるのです。
L4-7サービスとの連携
Cisco ACIではL4-7のサービスをエコパートナーのアプライアンス製品で補います。その際、アプライアンス製品の設定などは全てAPIC上から行うことが可能です。また、アプリケーション・ネットワーク・プロファイルにエコパートナーのアプライアンス製品機能を導入し、各テナントで容易にサービスチェイニングを利用することができます。
APICとCisco ASAを連携させた画面
オープンなエコシステム
Cisco ACIはさまざまなAPIをサポートしており、色々な製品と連携することができます。Northbound APIでは、OpenStack、vCloud Director、Azure Pack、UCS DirectorからCisco ACIを制御し、Southbound APIではCisco ACIとさまざまなハードウェア製品やオープンソースのソフトウェアとの連携が可能になります。また、OpenDaylightプロジェクトでサポートするOpFlexで、シスコ製品や他社製品と連携することも予定されています。
「Cisco ACI」に必要な機器
Cisco ACIはSpineスイッチ、Leafスイッチ、APICで形成され、それぞれ専用の機器が必要になります。
Spineスイッチ Nexus 9336PQ

スイッチング容量 | 1,440G |
---|---|
ポート数 | 36p ポートタイプ:40G QSFP+ |
サイズ | 2 RU |
電源 | 100-120V (800W AC), 200-240V (1200W AC) |
Leafスイッチ Nexus 9396PX

スイッチング容量 | 960G |
---|---|
ポート数 | 48p ポートタイプ:1/10G SFP+ 12p ポートタイプ:40G QSFP+ |
サイズ | 2 RU |
電源 | 100-240V (650W AC) |
Leafスイッチ Nexus 93128TX

スイッチング容量 | 1,280G |
---|---|
ポート数 | 96p ポートタイプ:1/10G-T 8p ポートタイプ:40G QSFP+ |
サイズ | 3 RU |
電源 | 100-120V (800W AC), 200-240V (1200W AC) |
Leafスイッチ Nexus 9396TX

スイッチング容量 | 960G |
---|---|
ポート数 | 48p 1/10G-T & 12p 40G QSFP+ |
サイズ | 2 RU |
電源 | 100-240V (650W AC) |
コントローラー APIC-CLUSTER

UCS C220M3ベースの物理アプライアンス
3台クラスター構成