15
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cisco Systems JapanAdvent Calendar 2024

Day 8

Cisco NSO の学習リソースをまとめてみた!

Last updated at Posted at 2024-12-08

:santa: 目次

  1. はじめに
  2. Cisco NSO とは?
  3. NSO の学習リソースまとめ
  4. NSO Dev Center
  5. Cisco DevNet Learning Labs Center
  6. Cisco Code Exchange
  7. DevNet Sandboxes
  8. 評価版 NSO
  9. example.ncs
  10. dCloud
  11. その他のお役立ちリンク
  12. 最後に
  13. 免責事項

:santa: はじめに

本記事はCiscoの有志による Cisco Systems Japan Advent Calendar 2024 カレンダー2の8日目として投稿しています:christmas_tree::sparkles: 今回は、10年以上の長い歴史を持つ Cisco NSO の膨大な学習リソースについてまとめてみました!

:santa: Cisco NSO とは?

物理・仮想製品及び 3rd Party 製品を含めた「単一コントローラによるネットワークの一元管理」を実現するソフトウェア製品です。
WAN ネットワーク、データセンタースイッチ(Nexus/ACI 等)、仮想サーバ基盤、Firewall や Load Balancer などのネットワークサービス機器まで含め マルチベンダーで物理・仮想に関わらず一元的な管理と自動化が可能です。

image.png

:santa: NSO の学習リソースまとめ

下記に NSO 学習リソースを表でまとめてみました。ほとんど全て無償でご利用いただけます。

リソース名 対象者 用途 特徴 リンク
Cisco NSO Dev Center 初心者~上級者 NSO学習、概要理解、コミュニティ参加 NSOの概要、学習ラボ、ドキュメント、コミュニティへのリンクが集約された中核的なサイト。 NSO Dev Center
Cisco DevNet Learning Labs 初心者~中級者 ハンズオン学習 17のラボ、7のモジュール、1のトラックを提供。実行コマンドのコピー&ペーストが可能なインタラクティブラボ。 Learning Labs
Cisco Code Exchange 開発者、エンジニア コード共有、テスト、再利用 GitHub連携のオープンソースプロジェクトディレクトリ。ブラウザベースのIDEでNSOの即時テストが可能。 Code Exchange
DevNet Sandboxes 中級者~上級者 複雑なシナリオや高可用性のテスト 最大5日間利用可能な仮想環境。3つのNSOインスタンスとCMLトポロジーで実際のネットワーク環境を再現可能。 DevNet Sandboxes
評価版NSO 初心者~中級者 ローカル環境でのNSO試用、評価 NSOを非商用ネットワーク向けに無償提供。ラボ環境にインストールして利用可能。 評価版NSO
example.ncs NSO利用者全般 学習コンテンツ利用、ドキュメント参照 NSOインストーラ同梱のサンプルコードとドキュメントを活用可能。無償トライアル版にも含まれる。 NSOコンテナやインストーラ内に収録 
dCloud 初心者~上級者 Cisco製品のデモ、検証、学習 初期設定済みの環境で検証やデモが可能。CNCとのインテグレーションに対応。シスコアカウント(CCO ID)でアクセス可能。 dCloud

NSO を初めて学習するが、時間がないと言う方は、NSO Dev Center の "NSO Introduction" がおすすめです。ブラウザ上でのインタラクティブラボにて10分でNSOの基本操作を学ぶことができます。

体系的に学びたいと言う方は、DevNet Learning Labsがおすすめです。こちらもブラウザでのインタラクティブラボを利用し、基本から応用までをステップバイステップで学習できます。目安学習時間は約20時間です。

すでにNSOラボ環境をお持ちの場合、インストーラーに内蔵されているexample.ncsにて基本から応用まで豊富なシナリオをカバーする学習リソースを利用できます。こちらも手を動かしてステップバイステップで学ぶことができます。

発展的な内容もしくは自由にNSOを触ってみたいと言う方は、Code ExchangeもしくはDevNet Sandboxesが有用です。

Cisco の他の製品(例えば Crosswork Network Controller(CNC))とのインテグレーションなどについて学びたい方は、dCloudがおすすめです。

下記に各学習リソースの詳細をご説明します。

:santa: NSO Dev Center

NSO Dev Centerは、NSOの概要、学習ラボ、ドキュメント、コミュニティへのリンクが集約された中核的なサイトです。

まず困ったらこのページへアクセスするとおそらく必要な情報に辿り着くと思います。入門者から上級者まで対応するコンテンツへのリンクを提供しており、いつでも10分間で学べる初心者向けNSOハンズオンラボから、パフォーマンスの改善やAnsibleとの連携など上級者向けトピックまでカバーしています。

image.png

image.png

:santa: Cisco DevNet Learning Labs Center

Cisco DevNet Learning Labs Centerは、NSOをはじめ、さまざまなCisco製品に対応したインタラクティブな学習環境を提供しています。

NSOに関しては、基本から応用まで幅広くカバーした17のラボ、7のモジュール、1のトラックが提供されています。モジュールはラボをグループ化したもの、そしてモジュールをグループ化したものがトラックです。

何から始めたら良いか迷った場合は、「NSO Basics for Network Automation」のトラックから始めてください。下記のようにステップバイステップで学習すべきモジュールや実施すべきラボを案内してくれます。実行するコマンドもクリック一つで簡単入力できるようになっており、NSOに慣れていない方でも進めやすいです。

image.png

image.png

:santa: Cisco Code Exchange

Cisco Code Exchangeは、Cisco製品やソリューションに関連するオープンソースプロジェクトを集めたリポジトリディレクトリです。世界中の開発者やCiscoのエキスパートによって共有されるオープンソースプロジェクトが参照できます。GitHubと連携しており、プロジェクトのコードや詳細を直接閲覧・活用可能です。

下記の赤枠にある「With Cisco Cloud IDE」にチェックを入れ、検索をすると、ブラウザベースの統合開発環境(IDE)で、すぐにテストや学習が可能なサンプルコードを調べることができます。

Screenshot 2024-12-08 at 19.33.12.png

image.png

シンプルにローカルインストールまたはシステムインストールのNSOをWebブラウザですぐに触ってみたいという方は、「NSO-Playground-Local-Install」や「NSO-Playground-System-Install」をご利用ください。

:santa: DevNet Sandboxes

DevNet Sandboxesでは、最大5日間利用可能な仮想環境を提供しています。3NSOインスタンスを含み、複雑なシナリオや高可用性(HA)をテスト可能です。実際のネットワークデバイスとのインタラクションをCMLトポロジーを使って再現可能です。

image.png

:santa: 評価版NSO

NSOの評価版(無償トライアル版)が、非商用ネットワーク向けの評価目的に限って無償で公開されています。ご自身のラボにNSOをインストールして試したい場合は、こちらをご利用ください。

詳しくは下記をご参照ください。

:santa: example.ncs

NSO コンテナやインストーラには、NSO のドキュメンテーションやNSO 学習用コンテンツが含まれています。ご自身ですでにNSOをインストールされたラボ環境をお持ちの場合は、こちらもご活用いただけます。無償トライアル版にも含まれています。

NSO のドキュメンテーションは、doc フォルダに格納されています。ブラウザで index.html を開いて、様々なドキュメントにアクセスできます。

nso@localhost:~$ cd NSO-6.1.10/doc
nso@localhost:~/NSO-6.1.10/doc$ ls
api  html  index.html  pdf

NSO 学習用コンテンツは、examples.ncs フォルダに格納されています。簡単な例から複雑な例まで様々なサンプルがあります。

nso@localhost:~$ cd NSO-6.1.10/examples.ncs
nso@localhost:~/NSO-6.1.10/examples.ncs$ ls
crypto             generic-ned        implement-a-service  service-provider            web-server-farm
datacenter         getting-started    misc                 snmp-ned                    web-ui
development-guide  high-availability  README               snmp-notification-receiver
nso@localhost:~/NSO-6.1.10/examples.ncs$

examples.ncsに含まれる学習コンテンツは下記のとおりです。NSOバージョンによって異なる可能性がありますことをご了承ください。詳細は、各フォルダのREADME を確認してください。

カテゴリ コンテンツ名 概要
Intro Examples examples.ncs/getting-started/using-ncs/0-hello-world NSOの基本操作を解説。ディレクトリ構造やCLI/JSON-RPCベースのWeb UIの使用方法。
Intro Examples examples.ncs/development-guide/cdb-yang CDBデータベースの拡張とYANGモデルの構築をスクリプトで実装。
Intro Examples examples.ncs/development-guide/basic-automation Pythonを使った基本的なネットワーク自動化のスクリプト例。
Intro Examples examples.ncs/development-guide/creating-service サービス作成の基礎を解説したスクリプト例。DNS構成サービスが例として使用されている。
Intro Examples examples.ncs/development-guide/applications-nso デバイス数カウントのアクションを実装する例。サービス構築の基礎を解説。
Intro Examples examples.ncs/development-guide/nano-services/netsim-sshkey Nanoサービスを用いた段階的プロビジョニング(Reactive FASTMAP)の例。
Intro Examples examples.ncs/development-guide/nano-services/basic-vrouter Nanoサービスを用いた基本的なvRouterプロビジョニングの例。
Intro Examples examples.ncs/development-guide/concurrency-model/retry トランザクションコンフリクトを楽観的並行性で処理する方法の例。
Intro Examples examples.ncs/development-guide/concurrency-model/perf-trans トランザクションを並列に処理しパフォーマンスを最適化する方法の例。
Intro Examples examples.ncs/development-guide/concurrency-model/perf-zbfw Zone-Based Firewall構成を例にした並列処理の活用方法を解説。
Device Management examples.ncs/getting-started/developing-with-ncs/0-router-network NSOのネットワークシミュレータを利用したデバイス管理とテスト方法。
Device Management examples.ncs/getting-started/using-ncs/1-simulated-cisco-ios シミュレートされたCisco IOSルーターの管理方法。
Device Management examples.ncs/getting-started/using-ncs/2-real-device-cisco-ios CLI NEDを使用したCisco IOSルーターの管理方法。
Device Management examples.ncs/getting-started/using-ncs/3-real-device-juniper NETCONF NEDを使用したJuniperルーターの管理方法。
Device Management examples.ncs/getting-started/using-ncs/4-netconf-device NETCONFデバイスをYANGモデルで管理する方法。
Device Management examples.ncs/snmp-ned/basic SNMP対応デバイスを管理する方法を解説した例。
Device Management examples.ncs/generic-ned/xmlrpc-device 独自プロトコルでデバイスを管理するNED実装例。
Device Management examples.ncs/getting-started/developing-with-ncs/3-aggregated-stats デバイスから得られる状態データを高レベルに集約するJavaアプリケーション例。
Service Management examples.ncs/getting-started/developing-with-ncs/4-rfs-service リソース対応サービス(RFS)をJavaで実装する方法。
Service Management examples.ncs/service-provider/mpls-vpn MPLSネットワークにおけるLayer 3 VPNサービスの構築と管理を解説。
Service Management examples.ncs/service-provider/mpls-vpn-new-template テンプレート駆動でMPLS VPNサービスを実装する方法。
Layered Services examples.ncs/getting-started/developing-with-ncs/22-lsa-single-version-deployment 単一バージョンでのLSAクラスタのデプロイメント方法を解説。
Layered Services examples.ncs/service-provider/mpls-vpn-layered-service-architecture MPLS VPNサービスをLSAで再構築した例。
Layered Services examples.ncs/getting-started/developing-with-ncs/28-lsa-multi-version-deployment 異なるバージョンのノードを含むLSAクラスタのデプロイメント例。
Northbound Interfaces examples.ncs/getting-started/developing-with-ncs/13-restconf RESTCONF APIの利用方法を示した例。
High-Availability examples.ncs/development-guide/high-availability/basic プライマリとセカンダリノードを設定する高可用性マネージャーの使用例。
High-Availability examples.ncs/development-guide/high-availability/cluster 3ノードのクラスタを構築し、フェイルオーバーを管理する方法。
High-Availability examples.ncs/high-availability/raft-cluster RAFTアルゴリズムを使用したHAクラスタの初期セットアップ例。
Extension APIs examples.ncs/getting-started/developing-with-ncs/9-alarms JavaのAlarmSinkCentralを用いたアラーム送信方法。
Extension APIs examples.ncs/getting-started/using-ncs/7-scripting CLIコマンドやポリシースクリプト、コールバックの追加方法を解説。
Extension APIs examples.ncs/development-guide/commit-parameters コミットパラメータ(例: dry-run)の検出と適用方法を示した例。
Miscellaneous examples.ncs/getting-started/developing-with-ncs/19-locks-and-timeouts NSO実行時のタイムアウトやロックの問題に対処する方法。

:santa: dCloud

dCloud は、シスコの製品やソリューションを手軽に体験頂けるように、シスコがパートナー様、一般ユーザ様に無償で提供しているクラウドデモ環境です。シスコアカウント(CCO ID)を持つ方であれば、いつでもアクセス可能です。

下記のように、Cisco の他の製品(例えば Crosswork Network Controller(CNC))とのインテグレーションについて手を動かして学びたいという方におすすめです。導入を検討されている機器や製品に関して、借用や検証環境構築の時間や手間をかけずに、ハンズオンを行える点がメリットです。一部のコンテンツはシスコパートナー権限を持つCCO IDのみアクセス可能となります。

詳しい利用方法に関しては、シスコのクラウドデモ環境「dCloud」を活用してみませんか?をご参照ください。

image.png

:santa: その他のお役立ちリンク

NSO Documentation

NSO Documentationは、NSOの公式ドキュメントページです。最近、DevNetから移動し、刷新されました。NSOバージョン6.4からは、こちらのgitbookのみの対応となっておりますので、ご注意ください。

右上の「Ask or Search」は、AIアシスタント機能があり、下記のように質問への回答を生成してくれます。

Screenshot 2024-12-08 at 20.12.46.png

image.png

NSO Developer Hub

NSO Developer Hubは、NSOエキスパートや他の開発者と直接コミュニケーションが可能なコミュニティプラットフォームです。技術的な質問や問題解決のためのディスカッションが行われ、蓄積された過去の議論も参照することができます。

Ask The Explerts (ATX)

Cisco Customer Success では、Ask The Explerts (ATX) というウェビナーを定期的に開催しています。下記のような NSO の導入・運用に役立つ情報を発信しています。過去ATXの録画と資料も公開していますので、ぜひご参照ください。

ATX 今後のスケジュール: http://cs.co/9009PR7tb
ATX 過去セッションの録画と資料: http://cs.co/9005PR7l7

image.png

:santa: 最後に

今回は、NSO 学習リソースをまとめてみました。ご覧頂いたように、初心者向けだけでなく上級者向けのコンテンツもございます。ほとんど全て無償でご利用いただけますので、ぜひご活用ください。

また、来年1月29日(水)に第3回NSOユーザ会を実施します!

NSOをご利用頂く皆様同士の意見交換会や初中級者向けハンズオンも実施しますので、ぜひご参加ください!
参加費無料、現地参加のみ(当日録画なし)となります。

お申し込みページ(1月22日(水) 17時〆切)
https://ciscocx.qualtrics.com/jfe/form/SV_0oz1ANbmrxHVkvs

第3回 Cisco NSOサクセスコミュニティ案内状.png

:santa: 免責事項

本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、シスコの意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、シスコや他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Web サイトの利用に関するあらゆる責任からシスコを免責することに同意したものとします。

15
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?