以下は 2021 年 12 月 8 日に開催した【トレノケート共催】回線切替じゃ不十分?90 分で体感する DevNetで拡げるインフラ管理の可能性! の Q&A セッションでいただいた質問とその回答となります。多数のご質問誠にありがとうございました。なお、当日の資料や録画は以下より確認可能です。
開催日:2021 年 12 月 8 日(水)10:00-11:30 テーマ:回線切替じゃ不十分?90 分で体感する DevNetで拡げるインフラ管理の可能性! |
質問 1「RESTCONF でどこまで自動化できるか調べたいのですが、どうやって調査すればよろしいでしょうか」
RESTCONF は、要は config を投入する仕組みです。
そのため「投入できる config = 自動化で実現できること」と捉えてください。
投入できる config の種類や、config を投入する際の形式を定めているのがデータモデル (YANG) です。
例えば、以下の資料は IOS-XE の Interfaces の YANG モデルです。
https://github.com/YangModels/yang/blob/master/vendor/cisco/xe/16121/Cisco-IOS-XE-interfaces.yang
つまり、ここに記載されている config ならば、RESTCONF で操作できるということです。
質問 2「github は git とは違いますか?」
ご質問ありがとうございます。 GitHub は Git のリモートリポジトリ機能を有したクラウドサービスです。Git をより一層便利に活用するためのコミュニケーション機能を備えています。
Git: クライアント ツール名
GitHub: Git のための多機能なサーバー とも解釈できます。
質問 3「RESTAPI と RESTCONF は同じものですか?」
REST API は、REST アーキテクチャの様式に則って開発された個々のプログラム (API)です。
Cisco 製品には、デバイス管理のための REST API が多数備わっています。
RESTCONF は、従来からある NETCONF を REST アーキテクチャの様式に整えたものです。
NETCONF の考え方 (YANGデータモデル) をそのままに、API 利用の操作性を REST 風に軽量化しています。
したがってご質問に対する回答としては、
・REST API と RESTCONF はまったく別の概念である
・ただしどちらも同じような手順 (HTTPやJSON) で利用することができ、どちらも自動化に役立つ仕組みである。
質問 4「Netmiko とRESTCONF はどう使い分けたらいいですか?」
Netmiko は、コマンド (CLI Cisco IOS) をそのまま送信することができるライブラリです。いわゆるコマンドをコピペする操作を自動化するものです。そのため、Cisco デバイス経験者にとって、直感的に利用することができます。
ただし、Netmiko は手軽に利用できる反面で不測の事態をプログラムに盛り込むことが不得手です。デバイスからの応答に Error メッセージが含まれていた場合、その出力メッセージを解析してしかるべき措置を実行できるようにプログラム開発者が処理を考える必要があります。結果の決まりきった簡単な処理 (show コマンドの dump など)を自動化するのには適していますが、複雑な動作を自動化するのには向いていないといえます。
RESTCONF は、REST 風の API呼び出し手続きをサポートしています。HTTP 応答ステータスコードを条件としたエラーハンドリングを、プログラムの中で比較的簡単に実装することができます。ただし、REST や YANG モデルに対する知識を必要とするため、活用のためには若干の学習コストを要します。
質問 5「EEM で検知できる障害やイベントにはどのような種類のものがありますか? ping (Track) 以外で利用できるものはありますか?」
EEM で指定できるトリガー (event )は、Event Detecto rというコンポーネント名で公開された文書を探すことができます。
多数の Event Detector がありますが、Syslog Event Detector は汎用性に富むので、自動化を簡便に実装したい場合にオススメです。Syslog に出力されたログメッセージの文言を検査して、指定した文字列と一致する際に EEM の Action を起動できます。
質問 6「IRESTCONF で送信するURLやBODYのフォーマットは、何かの資料にまとまっていますでしょうか?」
RESTCONF で操作できる項目は、YANG データモデルとして定義されています。以下のドキュメントをご確認いただくと、イメージを把握できます。例えば、以下の資料は IOS-XE の Interfaces の YANG モデルです。
https://github.com/YangModels/yang/blob/master/vendor/cisco/xe/16121/Cisco-IOS-XE-interfaces.yang
質問 7「Cisco 機器上の GuestShell を一般的な Linux と同じようにあれこれいじると、IOS デーモンに悪影響を与えたりしませんでしょうか?」
GuestShell 環境は、IOS から分離されたコンテナ環境として稼働しています。GuestShell の操作が IOS に影響を及ぼすリスクは低いです。
質問 8「CentOS 7が 2024 年 6 月末でサポート終了になりますが、今後も同様に GuestShell の搭載は予定されてますか?」
Cisco 製品のプログラマビリティは今後も推進が続く見込みであり、GuestShellの 廃止は現時点では予定されていません。
環境にあわせて GuestShell が利用する OS のバージョンや種類が変更される可能性はありますが、今後も GuestShell 相当の仕組みは提供されるものと期待できます。
質問 9「GuestShell で「Linux でできることならなんでもできる」とおっしゃっていたのですが、リソース面(CPU/RAM/Storage など)の制約などは割と緩いとかあるのでしょうか?」
GuestShell 自体が軽量なLinuxとして動作しているため、Cisco ハードウェアのリソースを大きくに占有するリスクは低いです。また、GuestShell にどれくらいのリソースを割り当てるかは、IOS 側の構成コマンド(app-hostingのapp-resource構成) で調整できます。
質問 10「guestshell ( linux 上)に様々なソフトウェアをインストールしても、ルータ側の Cisco サポートには影響ないという認識で問題ないでしょうか。」
GuestShell Linux 環境と Cisco IOS-XE はそれぞれ分離された環境として管理されており、GuestShell にソフトウェアをインストールすることで Cisco ルータ本来の機能が損なわれることはありません。したがって、GuestShell にソフトウェアをインストールすることがルータ側の Ciscoサポートに影響を与えることはありません。
質問 11「VirtualPortGroup Interface 実環境でのIPアドレス設計について、リンクローカルアドレス (169.254.0.0/16) から割り当てる構成は推奨されないでしょうか? (ルータと Guest Shell が通信できれば OK であるならば)」
VirtualPortGroup の IP アドレスをリンクローカルアドレスで構成することも可能です。Cisco 社としてリンクローカルアドレス設計を推奨する事実はありませんが、動作する構成としてサポートしています。
質問 12「今回のデモのようにルータ上で作成した guestshell の環境を、故障交換時に引き継ぐにはどのような手順が必要でしょうか」
GuestShell 環境のバックアップやマイグレーションは、現時点ではサポートしていません。故障交換時には再構築をしてください。
質問 13「GuestShell の負荷が IOS-XE 側に影響を与えることはございますか?」
GuestShell に対して割り当てるハードウェアリソース量の上限も設定することができるため、GuestShell の負荷が IOS-XE のコントロールプレーン (IOS 機能)に深刻な影響を与えるリスクも低くなりますが、高負荷時には影響を及ぼす可能性があるためご注意ください。
質問 14「Webex for Developers ですが、CCO アカウントを登録すれば誰でも無償に使用可能なのでしょうか」
Webex の Developer サイトは、Webex のアカウントのみで、無償でご利用いただけます。
質問 15「Firepower には RESTCONF は未実装でしょうか」
Firepower には、REST API が提供されています。
REST API も本日ご紹介した Postman を使った Web ベースの API として操作できます。
質問 16「本日ご紹介いただきました機能について、IOS-XR ルータでもサポートしていますでしょうか」
IOS-XR ルータにおいても、IOS-XE と類似したプログラマビリティが提供されています。ただし、機能の名称やサポート状況は異なりますので、製品ごとに Cisco.com の記載をご確認ください。
公開の難しい情報などは掲載を見送らせていただくこともございます。ご容赦いただけますと幸いです。
当オンラインセミナーのご参加、誠にありがとうございました。 またのご参加をお待ちしております。