この記事は、DevNet UK の Network Automation Developer である Stuart Clark によるブログ「Automation Exchange: Find Use-cases Powered by the Community」(2021/3/2)の抄訳です。
DevNet Automation Exchange は、ネットワーカーや開発者が、シスコ製品や新しいネットワークのフル機能を活用しながら、ネットワークの自動化を「Walk」、「Run」、「Fly」、 ステップごとに学べるコミュニティベースの開発者センターです。各ステップは次のとおり定義されます。
- Walk:読み取り専用で自分のネットワークの可視性とインサイトを得ます。これにより、実行中のネットワークからテレメトリやインサイトを集めたり、監査を実行してネットワークの継続的なセキュリティを確保したりといったユースケースが可能になります。
- Run:異なるネットワークドメイン全体で、ポリシーやインテントをアクティブ化します。これにより、セキュリティポリシーや運用ガイドラインに準拠したセルフサービス式のネットワークオペレーションの提供といったユースケースが可能になります。
- Fly:DevOps ワークフローを用いて、アプリケーション、ユーザ、デバイスをプロアクティブに管理します。これにより、新しいアプリケーションポリシーに則してネットワークを構成しつつ、継続的統合および継続的デリバリ (CI/CD) パイプラインでアプリケーションを展開するといったユースケースが可能になります。
Automation Exchange Sprint(期間限定募集)
私たちはしばしば、チームの目的に沿った Sprint を実施します。これにより、業務の中断を最小限に抑えながら重要な業務分野に集中して取り組むことができます。最近の Sprint では、Automation Exchange のさらなるユースケースの構築に焦点を当てました。この Sprint によって、Automation Exchange にさまざまなサブミッションが追加されました。サブミッションは、DevNet チームによって作成し提出されたもののほか、私達 DevNet エンジニアチームとシスコ内のエンジニアチームが協業したもの、また、DevNet のコミュニティメンバーから寄せられたものもあります。
2021年の新規サブミッション
今回の Sprint では、5日間で30ものサブミッションを新たに追加することができました。そのいくつかをご紹介しましょう。
高トラフィックの原因となっているすべての IP アドレスを検出、通知し、ホストグループを作成
このユースケースは非常にシンプルなものです。このスクリプトは、config ファイルに基づいて、自動的に目的の Secure Network Analytics SMC にログインし、過去1時間 (このパラメータは config で変更可能) の間に、ソースまたはターゲットとして異常に高い合計トラフィックをもたらしたすべての IP アドレスを洗い出します。
ZTP2GO:Cisco IOS XE と Raspberry Pi の組み合わせによる、ゼロタッチのプロビジョニング
Raspberry Pi を利用することで、場所を問わず簡単に Cisco IOS XE ベースのネットワークデバイスをプロビジョニングできるという案です。新規の、または再設定された Catalyst 9000 スイッチをデプロイする際、Raspberry Pi (Ubuntu Server、ISC DHCP Server、Apache/Nginx Webserver) を接続することで、どこでも簡単にプロビジョニングできるようになります。
MerakiProVision
あなたが大規模小売店舗の経営者として、何百もの店舗に同じ Wi-Fi ネットワークを展開する必要がある場合を想像してみてください。ネットワークのプログラム化によってデプロイメントの拡張や複製は可能ですが、それらのスクリプトを実行したりアクセス制御したりするには、デプロイメントのたびにネットワークエンジニアが現場に赴くか、電話で対応する必要があります。さまざまな現場で Meraki デバイスのシリアル番号を管理することも大きな課題となります。
PSIRT Open Vuln API を使用した、Cisco IOS、NX-OS、および ACI に関する脆弱性レポートの作成
PSIRT ニュースレターをクローリングして、苦労して目的のセキュリティアドバイザリを見つける作業にうんざりしていませんか?「退屈な業務を自動化」 する Ansible が、こうした作業を肩代わりしてくれます。このプレイブックでは、インベントリ内のすべてのデバイスのソフトウェアバージョンを収集して、Cisco PSIRT OpenVuln API をクエリし、インフラストラクチャ固有の Markdown レポートを生成します。
以下の2つは、DevNet コミュニティから提案されたものです。コミュニティとのコラボレーションは大変うれしいものです。
Cisco Services APIs Ansible プレイブック
Cisco Facts and Genie Parsed Commands to Business-Ready Documentation Ansible Playbooks (Cisco の facts と Genie で解析されたコマンドを利用してビジネスですぐに使えるドキュメントを生成する Ansible プレイブック) Ansible には、ios_facts や nxos_facts など、いくつかの 「facts」 モジュールがあります。これらはデータを収集し、JavaScript Object Notation (JSON) に変換します。ここから私たちは、Jinja2 テンプレートを使用して、ビジネスですぐに使えるドキュメントへと変換します。また、シスコがリリースした Genie Parser と Ansible を組み合わせることで、まず IOS / NXOS show コマンドを実行し、次に Genie によってそのコマンドから JSON を生成できます。JSON が得られたら、次に Jinja2 を使用して CSV または Markdown へと変換します。
IOS-XR NETCONF LAB
IOS XR 上で Netconf を使用した Nornir/Scrapli(Truckasaurus)
Python ライブラリである Nornir と Scrapli を使用して、アクセスリスト、BGP、OSPF、および NTP のための設定詳細を構成、取得します。
適切なコンテンツの作成
私達 DevNet のエンジニアリングチームは、DevNet の Developer Advocate チームとともに Automation Exchange を、サブミッションとユースケースの発見がしやすいよう刷新しました。私たちは皆さまのユースケースを求めています。ネットワークの自動化で、どのような問題を解決したいですか?API をどのように利用して、ビジネスの課題に答えを出しますか?
サブミッションやコンテンツは十分にレビューされてから、カスタマー、パートナー、および DevNet コミュニティに提供され、それぞれの固有のユースケースの解決に役立てられます。たとえば、ネットワーク自動化ユースケースは、1つのビジネス成果へと導く、一連の技術アクションです。
- ユースケースはコスト削減に役立っていますか?
- ユースケースは異なるデバイスやソフトウェアプラットフォームに対応できますか?
- ユースケースをうまく定義することは、ビジネスケースの条件付けや健全なプロジェクト遂行にとって重要です。
ユースケースは、皆が同じ成果を思い描けるよう、十分にドキュメント化する必要があります。ユースケースは、DevNet Automation Exchange までお寄せください。
コメントや質問がある場合は、下記のコメントセクションを通じてご連絡ください。
新しくなった Developer video channel をご覧ください。
取り上げてほしいトピックのご提案は、Twitter まで。