ネットワークの自動化運用について(Cisco)
以前僕がNoteに「SI企業と企業業績から見たシスコ社について(後輩向け)レポートの参考になるかも」を書いて以来、少し気にしていたこともあります。
私から後輩へはCisco社の「技術×業績(企業規模)×今後の観点」で企業をとらえてほしいなと思っています。企業規模でいうとCiscoという企業は本当に大きな企業でなおかつ、日本国内でどのNWベンダーを選定するかで言うと1番に上がる企業だと思っています。
特にここ5年くらいでシスコ社が手を入れてきているのが自動化運用についてと考えています。もともとこういった自動化についても考えていたりインフラエンジニア関連の情報を取り入れたりもしています、
以下のNoteは、私が以前書いたシスコ社についてです。
自分にとって、新入社員、若手社員は弟、妹だったりします。noteで今までの経験や、経験をもとに感じたこと、広げていきたいことをオープンにしていければと考えています。noteを日記のように書いているわけではなく、割と「血へどを吐く」まではいきませんが、ゼロから書いているため
これからCiscoが伸ばしてくるであろう所
少しだけ技術的なことにも触れていこうと思います。
まぁ、Ciscoがルータやスイッチ、セキュリティ、そしてそういった機器の上でコミュニケーションに関する機器、サービスを提供しています。
では、「これからどうなっていくか?」
■これからどうなっていくか?(予想)
インフラ基盤企業はこうなっていくことが多いと思いますが、自動化とプログラマビリティに伸びていく企業が多いと感じています。 少し技術的なことを記載します。
■SDN(Software-Defined Network)の実装による自動化
ソフトウェアによるネットワークを管理・制御するための当たら良い考え方とそれに基づいたネットワークを構成するための技術をさします。
従来のネットワーク構成ではそれぞれの機器上でコントロールプレーンとデータプレーンが動作し、機器を1つ1つ設定・管理する必要がありました。しかしネットワークの規模が大きくなるとそれぞれの機器の管理が複雑になってしまいます。
従来の設計・設定を個別に管理していたネットワークと比べて、SDNでは「データプレーン」の処理と「コントロールプレーン」の処理を分けて考えます。ネットワーク上に配置された各機器はデータプレーンの機能である転送処理だけ行い、コントロールプレーンで行う各種テーブル作成などの処理はネットワーク上に配置した「SDNコントローラ」で集約してまとめて行います。
■データプレーン
ネットワーク機器がデータの転送処理を行う部分になる。
受信したデータの宛先をテーブルから検索し送り先を決定しデータを転送します。
また、データのカプセルかやACLによるフィルタリングなどデータ転送の際に必要な様々な処理もこのデータプレーンで実行される。
※ネットワークの中で物理に近い処理部分
■コントロールプレーン
データプレーンを制御する部分になる。
データプレーンがデータ転送をするには、転送するための宛先情報が必要になります。
データを転送すために必要なルーティングテーブルやMACアドレステーブルなどの経路情報を作成・制御を行う。
■Cisco DNA Center
Cisco DNA Centerは、SD-Accessで使用されるSDNコントローラでSD-Accessで校正されたネットワーク全体のGUIによる一元管理、監視・ポリシー制御、プログラムによる自動化など様々な機能を利用することができます。
API@Cisco DNA Center
Cisco DNA Centerでは、ノースバンドAPIにREST APIを使用します。また、 Cisco DNA Center付属のプログラム以外にも、自作のプログラムやサードパーティ製のプログラムも扱うことができ、Cisco DNA Centerを介して各種ネットワーク機器をプログラムにより制御します。
Cisco DNA Centerの特徴1
管理者がポリシーやネットワークの設定を行うための機能が、GUIで
提供されています。例えば、トポロジマップを自動で作成する機能により管理者はネットワークの全体構成を把握できます。
Cisco DNA Centerの特徴2
従来のネットワーク機器では、初期設定はCLIまたはGUIで一台ずつ個別に設定を行う必要がありました。しかし、Cisco DNA Centerが導入されたネットワークでは、接続すると自動的にDNA Centerに認識されます。
そして、DNA Centerから初期設定などが自動て行われ、接続後すぐにネットワーク内の機器として動作を開始します。
Cisco DNA Centerの特徴3
書くネットワーク機器の情報を収集し、運用監視に必要な情報を可視化することでスムーズな運用監視を実現します。
Cisco DNA Centerの特徴4
CiscoISEによりユーザ認証やポリシー制御を実現することができます。また、SD-Accessファブリックに対応したワイヤレスLANコントローラやアクセスポイントと連携することによる有線通信だけでなく無線通信も提供することができます。
■SDNのアーキテクチャ
インフラストラクチャレイヤ、コントロールレイヤ、アプリケーションレイヤの3つに分けられる。
1.アプリケーションレイヤー
(SDNコントローラを操作するアプリケーション)
| ノースバウンドAPI
2.コントロールレイヤ
| サウスバンドAPI
3.インフラストラクチャレイヤ
(ルータなどのネットワーク機器)
インフラストラクチャレイヤ
・データ転送を実際に行うネットワーク上に配置されたルータやスイッチなどの機器が該当する。
コントロールレイヤ
・SDNコントローラが該当する例や、インフラストラクチャレイヤの機器を制御し同時にインフラ
ストラクチャレイヤーの各機器のネットワーク機能をアプリケーションレイヤに提供します。
アプリケーションレイヤ
・SDNコントローラを操作する各種アプリケーションが該当するレイヤになる。
やり取りする際に使用するのが、API(Application Programming Interface)になります。
サウスバンドAPI
コントロールレイヤとインフラストラクチャレイヤのやり取りするためのプロトコルやAPIをまとめてサウスバンドAPIまたはサウスバンドインターフェースという。
コントロールレイヤから見て下にあるため、このような名前が付けられている。
サウスバンドAPIには、OpenFlow、NETCONF、RESTCONF、OpFlexといったプロトコルがある。
また、従来の機器でも使用可能なTELNET,SSH,SNMPといったプロトコルがあります。
ノースバンドAPI
ノースバンドAPIには標準的なプロトコルやAPIは存在しない。
アプリケーションとSDNコントローラを介してデータのやり取りを行う。
HTTPやHTTPSを用いてやり取りをする場合、REST APOというAPIを使用しています。この場合ノースバンドAPIにREST APIが使用されてます。
AutomationとOrchestration
Automation
ネットワーク機器へ設定をする場合、多くはConsoleやTelnetやSSHを使用して行います。100台のネットワーク機器に同じ設定を行うといった場合、手動で行うことは状況によって難しいこともあります。
OpenStackなどのVIMに対して必要なVMインスタンスを作成をしじするということもおこなわれます。VCPUの数、Memoryサイズなどを確保し、作成されたVMに対して、要件に適当なネットワークを作成し、接続するといった作業を自動で行います。
これらは、基本的に運用者による繰り返し作業の削減などを目的としており、「自動化」といった意味合いでAutomationを使うこと多いかもしれないです。
多くは単純なワークフローをPythonなどのスクリプトを用いて処理しています。
Orchestration
オーケストレーターの役割をするコントローラーは、要求を受けとり、「毎秒10アクセス」といった必要要件からそれに必要な各種パラメータを決定し、そのパラメータをもとに必要なリソースを実際に取得作成します。
また、Automationと違い単純な作業を行うのでは無く、多様なシステム構築変更を複雑なワークフローを作成したうえで実行します。
コントローラーが実際に行う作業の詳細を抽象化したうえで実行します。コントローラが実際に行う作業の詳細を抽象化してオペレータに必要な知識を減らすことができるのも大きな特徴です。
Orchestrationの標準化
ネットワークベンダーは、自動化を実現するために独自の方法でコントローラーや各種管理のためのコンポーネントを作成し、製品として出荷しています。
そのため、NVFのエリアではETSI(欧州電気通信標準化機構)ISG NFVがこのような市場の要求を標準化しようとしています。
■OpenFlow
概要
SDNを実現するための技術の一つにONF(Open Networking Foundation)というSDNんおアーキテクチャ開発と標準化を推進する団体によって確立されたプロトコルが「OpenFlow」になる。
OpenFlowは、SDNコントローラである、OpenFlowコントローラとネットワーク機器であるOpenFlowスイッチで構成されます。
ONFのホームページはこちら
https://opennetworking.org/
■OpenFlowによる通信の流れ
OpenFlowコントローラにより、OpenFlowスイッチの動作を一括管理・制御を行います。
ネットワーク管理者がOpenFlowコントローラ上でフローテーブルというデータ転送を行うための通信ルールを定義したテーブルを作成するとそのフローテーブルがOpenFlowコントローラからOpenFlowスイッチへ配布されます。
OpenFlowのフローテーブルを用いた転送方式は条件や動作を細かく制御することができるため、柔軟なネットワークを構築することができます。また、フローコントローラーにより制御を行うため、機器個別にルーティングなどを設定する必要がない。
■シスコのSDNソリューション
CiscoのSDNソリューションは、「Cisco ACI(Cisco Application Centric Infrastructure)」と言われ、データセンター向けに提供されています。
SDNコントローラにはAPIC(Application Policy Infrastructure Controller)をサウスバンドAPIにはCiscoが独自に開発したOpeFlexを使用します。
また、ネットワーク機器にはデータセンター向けのCisco製スイッチNexus9000シリーズを使用します。
OpFlexはOpenFlowと比較してシンプルなネットワークポリシーを定義するだけでSDNを構築することができます。
■Cisco ACI
■Cisco SD-WAN
■CiscoACI
■スパイン・リーフ型物理トポロジ
CiscoACIでは従来の3階層モデルに変わり、スパイン、リーフ型というファブリック型ネットワークトポロジを利用します。
スパイン・リーフ型はファブリック型ネットワークであり、古メッシュ構造にすることで高可用性を実現しています。
スパイン・リーフ型の構成の特徴
・各リーフスイッチは全てのスパインスイッチに接続する。
各スパインスイッチは全てのリーフスイッチに接続します。
・リーフスイッチは相互に接続できない
・スパインスイッチは相互に接続できない
・エンドポイントであるサーバなどはリーフスイッチのみに接続する。
■インテントベースネットワーク
・CiscoACIは、インテントベースネットワーク(Intent Base Network)の構築を実現することができます。
・インテントベースネットワークとは? リーフスイッチに接続しているエンドポイントのサーバなどを
物理的な配置ごとではなく機能ごとなどの分類によってEPG(EndPointGroup)というグループに分けます。
EPG間の通信の許可・拒否を定義した通信ポリシーを作成し摘葉することで、それらの設定に温度ついて
動的にネットワークを構成します。
例) Webサーバ、アプリケーションサーバ、データベースサーバの各グループ間の通信許可、遮断を設定します。
CiscoACIでは物理的な配置や構成にとらわれることなく、グループを定義し、通信ポリシーを決定することができます。
■Cisco SD-Access
Cisco SD-Accessは、Ciscoが提供する企業向けの新しいSDNソリューションになります。
SDNソリューション:ここでは、ネットワーク上のソフトウェア的なものをソリューションの認識です。
■Cisco DNA Center
Cisco DNA Centerは、Cisco SD-Accessで使用されるSDNコントローラです。
ノースバンドAPIはREST APIをサウスバンドAPIはTELNET,SSH、SNMP、NETCONF、RSTCONFを言った複数のプロトコルをさサポートしています。そのため「NETCONF、RSTCONF」をサポートしている新しい機器だけではなく、「TELNET,SSH」により既存のネットワーク機器も従来通り管理することが可能です。
■Cisco DNA Centerの特徴
・GUIによる一元管理
管理者がポリシーやネットワークの設定を行うための機能がGUIで提供されています。
・ネットワーク機器のプラグアンドプレイ
従来のネットワーク機器では初期設定はCLIまたはGUIで1台ずつ個別に設定を行う必要がありましたがDNACenterが導入されたネットワークでは、接続すると自動的にDNACenterに認識されます。
・ネットワーク全体の可視化
CiscoDNACenterで書くネットワーク機器の情報を収集し、運用監視に必要な情報を可視化することでスムーズな運用監視を実現します。
・EasyQoS
従来のQoSの設定では機器や機種ごとに最適なQoSポリシーを管理者が判断して適用する必要がありました。
WasyQoSではそのQoSの設定をGUIからポリシーを選択して機器に必要するだけで適用できます。
■SD-WAN
SD-WAN(Software Defined Network)とは?ですが自分のnoteでも何度か記載しています。若い人に覚えてほしいポイントの一つです。
そしてこれからさらに主流となってくる技術だと考えています。
自分のnoteでも以下のnoteで記載しています。
https://editor.note.com/notes/n1b4e78ced82b/
SD-WANの特徴
・コントローラーを利用して各拠点のWANを一元管理する。
・WANトラフィックを柔軟に制御することができる。
・各種情報の可視化により、運用管理を簡素化することができる。
・ゼロタッチプロビジョニングによりWAN導入を簡単に行うことができる。
■ネットワークの自動化
REST APIの特徴やネットワークの自動化に用いられる構成管理について記載する。
ークラウドのサービス利用などによりネットワークインフラに求められることが大きくなってきており、ネットワーク自動化やプログラマビリティ(REST API)が必要と言われています。
CiscoDNACenterもそういった自動化の機能などを提供してくれるモノになります。
■REST API
REST(REpresentatinal State Transfer)の設計思想は、以下のような項目で定義されています。
・クライアント/サーバ型の構成となっていること
・ステートレスであること
・キャッシュの可否を制御できるおkと
・統一されたインターフェースであること
・階層化されたシステム構成であること
・コードオンデマンドである
多くのREST APIハHTTPプロトコルを使用します。これはHTTPがクライアントサーバ型の構成、ステートレスキャッシュ可否などの機能をサポートしており、RESTの原則と親和性が高い。
■HTTPメソッド
HTTPではHTTPメソッドと呼ばれるリソースに対して実行したい操作を示すいくつかのアクションが用意されています。
クライアントが指定したHTTPメソッドに応じて、サーバは自身のリソースに対して送信、更新、削除などの動作を実行します。
■JSON、XML、YAML
クライアントとサーバはREST APIを通してやり取りを行いますが、その際双方で扱っているプログラム言語が異なると受け取ったデータをうまく処理することができません。サーバとクライアント間で正常にデータの受け渡しができる様にデータを汎用的なデータ形式に変換し、通信を行います。
データ形式にはJSON、XML、YAMLといったものがあります
JSON
JSONの大きな特徴としてデータ形式についての知識がなくてもある程度の意味が理解できるという様さがあります。しかし、JSONの形式には決まったルールがあるため、慈雨bんが記述する際にその記述の形式を誤ってしまうとエラーとなってしまいます。
XML
XMLはマークアップ言語のひとつで、データをタグで囲むことで表現します。
タグ内の要素名は自由に決めることができるため、データが何を意味しているのか直感的に理解できるという特徴があります。
YAML
YAMLはスペースによるインデントを使って構造化されたデータを表現します。視覚的にも読みやすいという特徴があります。
■Ansible、Puppet、Chef
Cisco社製の製品をコンソールケーブル、Teraterm、Teratermマクロだけで操作している人には聞きなれない言葉になります。
Ansible
RedHat社が開発するオープンソースの構成管理ツールです。
構成管理サーバ側から各ネットワーク機器へ設定を送るPush型の通信形態です。
エージェントレスモデルを採用しているため、各機器に特別な設定は必要ありません。
Ansibleは、以下のファイルによって制御されています。
・プレイブック、インベントリ、テンプレート
Puppet
Puppet lab社が開発するオープンソースの構成管理ツールです。
クライアント側にもソフトウェアのインストールが必要なエージェントモデルを採用しています。
Puppetは、以下のファイルによって制御されています。
・マニフェスト、リソース、クラス
Chef
Chef社が開発するオープンソースの構成管理です。
AnsibleやPuppetと異なり管理対象のデバイスがChefに対応している必要があるため、Cisco機器の構成管理にはあまり採用されません。
Pull型の通信形態を採用しています。また、ChefクライアントはChefサーバから設定を取得する際に、HTTPやHTTPSを使用してサーバのTCP10002番ポートに接続します。
この記事が気に入ったらサポートをしてみませんか?