Junos OS による DevOps への転換

White Paper
JUNOS OS による
DEVOPS への転換
サービスの作成と配信のための迅速で継続的配信を可能にす
る DevOps 環境を実現するイノベーション
Copyright © 2014, Juniper Networks, Inc.
1
White Paper : Junos OS による DevOps への転換
目次
概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
はじめに. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Junos OS を使った DevOps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
DevOps とは. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
課題. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
NetOps 向けの DevOps とは. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
ソリューション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
vMX および Contrail Cloud Solution for NFV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Junos Continuity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
ジュニパーネットワークスの自動化とオーケストレーション エコシステム. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
サードパーティ製ソフトウェアの統合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Puppet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Chef. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
その他のサードパーティ製ツール . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Junos OS の自動化ツール. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
スクリプトのコミット. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
運用スクリプト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
イベント スクリプトとイベント ポリシー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Junos SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
結論. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ジュニパーネットワークスについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2
Copyright © 2014, Juniper Networks, Inc.
White Paper : Junos OS による DevOps への転換
概要
従来の情報技術サービス管理 (ITSM) メソッドには異種のテストシステムと稼働システムが使用されるため、通常は、サービスの作成と維
持のプロセスと同程度の複雑さを追加しながら、膨大な運用リソースを消費しています。DevOps は、開発者と運用者が品質の向上とサー
ビス作成時間の短縮を実現しながら、
より低価格で継続的なサービス配信を行うための統合システムです。
このホワイト ペーパーは、IT DevOps の手法を使って運用モデルをジュニパーベースのインターネット・プロトコル(IP)ネットワーク イン
フラに合わせて変換したいと考える、ネットワークシステム開発者と運用者向けとなっています。このホワイト ペーパーでは、ジュニパーネ
ットワークスの ® Junos® OS の特長と機能について説明します。
これは、ジュニパーのすべてのルーター、スイッチ、ファイアウォールを管理
し、既存の IT DevOps 環境に統合するだけでなく、DevOps の主要概念である「継続的な配信」を実現するネットワークの構築と維持を支
援する OS です。
はじめに
高可用性のネットワークサービスを配信する機能は必須要件です。多くのミッションクリティカルなアプリケーションが、主要なサービス配
信手段としてネットワークインフラに頼っています。ネットワーク運用者やシステム管理者は、100% の可用性でダウンタイムのないイン
フラを維持するという課題を抱えています。つまり、ネットワークはサービスに関連したアップグレードや障害発生後の保守運用中であって
も、常に利用できる状態にしておく必要があるのです。多くの場合、アップタイムと可用性の維持とは、新しいアプリケーションとサービス
を、既存のサービスに影響を与えずにテストして稼働システムに移行させることを意味しています。しかし、
これは可能なのでしょうか。エン
ドユーザーからアプリケーションサーバーまで、ネットワークのあらゆる段階において冗長性を構築することは可能でしょうか。それとも、他
にもっとよい方法があるのでしょうか。
DevOps の手法では、IT インフラのすべての要素である、コンピューティング、ストレージ、ネットワークにおける自動化とオーケストレーシ
ョン機能を活用することで、
これらの課題のいくつかに対処しています。自動化は、スクリプトや他のソフトウェア ツールを使って反復的な
手動タスクが必要なくなります。オーケストレーションは、自動化の拡張で、自動化タスクをワークフローにまとめます。IT インフラの領域で
は、
これらのワークフローには、ネットワーク、サーバー、ストレージ デバイスが含まれる場合があります。その結果、
これらの自動化ツール
は、オーケストレーション ツールの複雑なエコシステムを包含するフレームワークへのシームレスな統合を実現させるために、基礎となる
デバイスを効率的に制御するための俊敏性と堅牢性を持ち合わせるだけでなく、豊富な組み合わせを持つプログラム・インタフェースとプ
ロトコルを介してセキュアに通信するための汎用性とオープン性を持つ必要があります。
ジュニパーの製品の中でも、Junos OS は、DevOps IT 環境で使われる人気のオーケストレーション・フレームワークとシームレスに統合
しながら、反復的な手動タスクを迅速に実行する自動化ツールの提供、エラーの削減、サービス配信の拡張を行う、
このエコシステムに必要
不可欠なコンポーネントを提供します。
Junos OS を使った DevOps
自動化ツールの最も一般的なアプリケーションは、IT リソースの管理とプロビジョニングに使用されています。ネットワークを含む IT 管理
は、国際標準化機構 (ISO) により、Fault (障害)、Configuration (構成)、Accounting (アカウンティング)、Performance (パフォーマンス)
、Security (セキュリティ) の頭文字を取った FCAPS と呼ばれるフレームワークにグループ化されます。これまで、
これらの各管理カテゴリ
の機能とタスクは、システム インテグレータと運用者による IT インフラの効率的な導入、監視、管理を目的とする、個別のスクリプト、ツー
ル、管理製品によって実行されてきました。
ネットワークデバイスとサービスに関連した自動化機能は、IT ライフサイクル内でいつ、
どのように使用されるかによって 3 つのエリアに分
類されます。まず、準備のツールは、デバイスを初めて導入する際のセットアップ、設定およびプロビジョニングを支援します。2 つ目に、日
常的なツールは、規模に応じた一貫性と精度を提供しながら、デバイスのパフォーマンス監視アクティビティを自動化します。3 つ目に、オ
ンデマンドツールは、IT リソースとサービスをプロビジョニングする際の設定の変更や、障害時に継続的または必要に応じて障害管理を行
う自動化の手段を提供します。これらのツールは、新しいネットワーク依存型のサービスを市場に素早くもたらし、ダウンタイムをゼロに近
い状態に保つため、エンドユーザーの加入者、サービスプロバイダを問わず、IT テクノロジーのコンシューマにとっては、
これら 3 つのエリ
アは同じように重要となります。
IT 環境における自動化とオーケストレーションの重要性を別の角度から見れば、コンピューティング、ストレージ、ネットワークリソースを
1 つのオーケストレーション・フレームワークで制御、管理する必要性を生み出した仮想化の成長と採用の広がりに関連しています。多くの
場合、サービスプロバイダは、そのようなオーケストレーション・システムを使用してセルフサービスポータル、消費ベースの測定、チャージ
バックシステム、サービスカタログの作成システムを統合しています。
新しいトレンドは、
これらの自動化およびオーケストレーション ツールを通じて運用とビジネス・サポート・システム (OSS/BSS) と基礎とな
る物理および仮想ハードウェアのインフラが緊密に統合され、ボタン1つでサービスの収益化と配信を可能にしていることを示しています。
これらのサービスは、コミュニケーション・サービス・プロバイダ(CSP)
とケーブル通信事業者の場合におけるサービスとして、または Web
2.0、
クラウドベース (コンピューティング、ストレージ、またはアプリケーション) ベンダー向けの配信メカニズムとしての基礎となるネットワ
ークインフラに大きく依存しているため、ネットワークリソースを迅速かつ規模に合わせてプロビジョニングおよび管理する能力が、
これら
の新しい市場における成功または失敗を決定づけます。ここでは、IT サービスを迅速かつ効率的に配信し、問題が発生した場合に素早く対
処できる、効率的で信頼性の高い手段が必要となります。つまり、DevOps が必要となるのです。
Copyright © 2014, Juniper Networks, Inc.
3
White Paper : Junos OS による DevOps への転換
DevOps とは
DevOps は、ソフトウェアまたはシステム開発者と IT 運用管理者などの実装者間のコミュニケーション、コラボレーション、統一に重点を置
いたソフトウェアまたはシステム開発方法です。DevOps の手法は、動的な環境に伴う痛みを軽減させる手段として自動化により迅速に変
更を反映させることで、品質、セキュリティ、信頼性を継続的に向上させることを重要視しながら迅速な開発とソフトウェアやシステムの導入
を推進します。DevOps は、ソフトウェアの機能を頻繁に変更し、改善点を稼働システムに迅速に移行させることができるという点で、従来
のソフトウェアとシステム開発の方法とは異なっています。IT 環境における頻繁で相互作用的な変更は、多くの段階でサービスと品質に悪
影響を及ぼす可能性がありますが、自動化とオーケストレーション・ツールにより、その影響が抑えられます。
効果的に DevOps を適用するには、開発者と運用者間にコラボレーションの文化と考え方が必要になります。IT 環境には、コンピューティ
ング、ストレージ、ネットワークシステム管理者、運用者が含まれます。既存または新しいインフラによる迅速なサービスの作成と配信には、
効率的なインキュベーション、設計、計画、開発、実装、テスト、配信、運用が必要となります。運用段階では、継続的な監視と改善には同じサ
イクルが必要となることから、
「継続的な配信」
という言葉が DevOps モデルの説明として使われることが多くなっています。
課題
統合が鍵となります。また、既存のサービスを停止させることなく、既存のインフラで新しいサービスを作成する機能も必須となります。しか
し、
これは可能なのでしょうか。DevOps の手法では、稼働環境からテストシステムを作り出し、新しいサービスが開発され、
このテストシス
テム上でテストされると、そのまま稼働環境に公開されます。開発者と運用者が共同で作業し、ソフトウェアツールを使用して新しいサービ
スの創造と導入においてオーケストレーションを行うことで、IT 部門は最終的に成功を収めるための有意義で生産的な方法を発見します。
ただし、他にも多くの課題があります。
NetOps 向けの DevOps とは
DevOps プラクティスの NetOps への移行は、
これらのプラクティスを仮想サーバー環境に適用するよりも複雑です。柔軟性に欠ける運
用環境とネットワークデバイスのリソース制限により、稼働コンピューティング・サーバー上でテスト仮想マシン(VM)を動作させるよりも、
稼働ネットワークからテスト ネットワークを作り出すことのほうが難しくなっています。このような課題はありますが、NetOps の採用者は
DevOps の手法を受け入れています。ネットワーク以外のものをすべて自動化しオーケストレーションを行う IT 環境は、インフラ全体でオ
ーケストレーションを行う環境ほど効率的であるとは言えません。
Chef、Puppet、Ansible などの DevOps に使用される IT 自動化と導入フレームワークは、ネットワーク製品をサポートするよう拡張され
ています。ネットワークはこれらの IT インフラにとって必要不可欠なものであるためです。Chef や Puppet などのフレームワークは管理
デバイス内にクライアント・エージェントを必要としますが、Ansible などのフレームワークは、プロトコル、API、または CLI を使って対象の
デバイスと通信するクライアントを必要としないメカニズムになっています。従来のデバイスの多くが、シンプルなインタフェースから自動
化フレームワークへの移行をサポートしていません。そのため、1 つのネットワークデバイスの設定とプロビジョニングを自動化するだけで
はなく、物理または仮想コンピューティング、ストレージ、ネットワークリソースを含む複数のデバイスで有効なターンキー型メカニズムを使
って、エンドツーエンドのネットワークサービスを IT サービスのオーケストレーション配信の一環としてプロビジョニングすることも目的と
言えます。また、SDN (Software-defined networking) と NFV (Network Functions Virtualization) も、自動化とオーケストレーショ
ン機能を使ったこの新しいサービス作成と配信のパラダイムにおいて重要な役割を果たしています。
NetOps で高可用性のネットワークシステムを維持するには、ダウンタイムを発生させることなく、ルーター、スイッチ、
ファイアウォールに新
しいハードウェア機能とソフトウェア機能を導入するツールも役立ちます。デバイスやネットワーク、IT フレームワークが高可用性に対応し
ていない場合、ソフトウェアのアップデート、
リアルタイムの設定変更、モジュラー型プラットフォームでの新しいハードウェアの導入により、
重大なネットワーク停止が発生する可能性があります。変更を適用する IT 管理運用者には、障害分離とロールバックを使用したファストフ
ェイルと復旧方法が支持されていますが、すべてのデバイスがこれらのメカニズムをサポートしているわけではありません。
また、自動化とオーケストレーションのソリューション開発は多くのコストを伴います。プッシュボタン式のサービス配信に必要なスクリプ
ト、ツール、ウィジェットを開発するやむを得ないビジネス上の理由がある場合を除き、IT 部門は一般的に、従来のエラーが発生しやすい手
動の方法を使って IT ソリューションを提供することになります。
4
Copyright © 2014, Juniper Networks, Inc.
White Paper : Junos OS による DevOps への転換
ソリューション
継続的なサービス、高可用性、ダウンタイムゼロの耐性を提供するビジネス ケースでは、IT ソリューションは通常、障害時に自動化とオーケ
ストレーション機能を使って自動修復を行っています。実際のところ、何かが故障する場合は、故障はネットワークを含む IT インフラストラ
クチャのどのコンポーネントにも起こりえます。
成功の鍵は、迅速な問題の分離とリカバリです。これは、場合によっては、差し迫った問題の兆候を検出し、実際に問題が起きる前に障害と
ダウンタイムを回避するための予防的な改善策を講じることを意味しています。動的な IT インフラストラクチャには可動部分が多いことか
ら、堅牢で動的なワークロードを採用し、規模に合わせて運用できるソリューションが必要です。サービスを作成して、新しい問題に適応す
るソリューションは、既存のサービスに影響を与えずに動的に変更できるプログラム可能なデバイス上に構築する必要があります。
プログラマビリティには、ボックスごとだけでなく、システム レベルでの IT サービスの配信に対応できる、俊敏でオープンな運用環境を提
供する Junos のような拡張可能なオペレーティング システムが必要となります。Junos OS は、全体的なプログラミング、監視、管理が可能
な堅牢なネットワークの構築に必要な構築ブロックを提供し、収益化できる IT サービスの作成と配信に必須となる包括的なネットワーク
リソースの基盤を作成します。
vMX および Contrail Cloud Solution for NFV
DevOps のコンテキストでは、NFV は、サービスの作成だけでなく、ハードウェアへの高額な投資を行わずにソリューションの作成とテスト
を実行するための柔軟で俊敏な方法を提供します。これは、DevOps の長所を促進する画期的なパラダイム シフトです。ジュニパーネット
ワークス MX シリーズ 3D ユニバーサル エッジ ルータの仮想化バージョンは、稼働環境に移行する前に、実際のハードウェアや仮想の稼
働環境で検証が可能な NFV プラットフォームの典型的な例です。Junos OS ベースのジュニパーネットワークス vMX 3D ユニバーサル
エッジ ルーターは、仮想 x86 ハイパーバイザ プラットフォームで実行される MX シリーズ ルーターの、フル機能を備えたソフトウェアベー
ス実装です。DevOps チームは、
このホワイト ペーパーの後半で説明されるオートメーション フレームワークを完全な仮想環境で使用し、
ソリューションの作成とテストを実行できます。また、ジュニパーネットワークスの Contrail Cloud Platform アーキテクチャは、ジュニパ
ーネットワークスの OpenStack ソフトウェアである Contrail OpenStack の vMX ベースのソリューションの構築とオーケストレーショ
ンにも使用できます。
Junos Continuity
Junos Continuity 機能も、ネットワーク スペースの DevOps プラクティスにとって画期的なことです。Junos Continuity は、デバイス
を再起動する必要をなくし、コストのかかるダウンタイムを回避しながら、新しいハードウェアの導入やアップグレードを実行するための
Junos OS の強化機能です。Junos Continuity 機能により、ユーザーはモジュラー シャーシにハードウェアを追加することができるほか、
新しい ASIC への対応により、デバイスのドライバを読み込んでソフトウェアをサポートすることで、運用を中断させることなく新しいハード
ウェアを有効化できます。業界初となるこの機能は、Junos OS アーキテクチャのモジュール性を最大限まで活用しています。
特にサービス プロバイダにとって、
この機能の最大の利点は、機能やインタフェースを追加するだけの作業で、大規模な再適格性確認サイ
クルを回避できることです。これまで、サービス プロバイダは、モジュラー シャーシに新しいライン カードや I/O モジュールを組み込むだ
けのために、ソフトウェア リリースの品質確認に数ヶ月間を費やしてきましたが、現在は既存のソフトウェア リリースで統合テストを実行し、
数週間でハードウェアの動作を検証できるようになっています。これは、大幅なコスト削減につながり、新しい機能とサービスを市場に素早
く提供するのに役立ちます。
NetOps 機能向けの DevOps のサポートに関しては、Junos OS の利点はそれだけに留まりません。
ジュニパーネットワークスの自動化とオーケストレーション エコシステム
図 1 では、拡張を続けるジュニパーの自動化エコシステムに導入された製品ファミリとツールがまとめられています。
このシステムには、常
に新しいプロトコル、API、
クライアント ツールが追加され、オーケストレーション ツールのための新しいスクリプティングやプログラム言語
が導入されています。
Copyright © 2014, Juniper Networks, Inc.
5
White Paper : Junos OS による DevOps への転換
運用サポートシステム/ビジネスサポート システム
(OSS/BSS)
オーケストレーション・フレームワーク
(OpenStack、VMware vSphere、VMware vCloud Automation Center、IBM Tivoli、Chef、Puppet、Asible . . .)
REST /
OVSDB /
その他
REST
スクリプトとツール
NetConf /
PCEP /
I2RS /
REST /
OpenFlow /
SLAX /
SNMP
アプリ
1
アプリ
2
アプリ
N
Space システム
アプリ
1
サードパーティ製
アプリケーション
アプリ
2
NetConf
REST
REST /
その他
Contrail システム
アプリ
N
Space プラット
フォーム
NetConf /
REST
NetConf /
REST
REST
アプリ
1
NorthStar
コントローラ
PCEP
アプリ
2
アプリ
K
Contrail プラット
フォーム
ゲートウェイ
(MX、PTX、T . . .
サードパーティ製)
REST /
その他
(MX、EX . . .)
REST /
その他の
管理プロ
トコル
REST /
その他
仮想化サーバー
vRouters
(SRX、SDQ、SA . . .)
ルーター
REST /
その他
BGP /
NetConf
XMPP
サービス
Chef
Puppet
Ansible
Ganglia
..
vSwitches
非仮想化サーバー
(サードパーティ製)
vServices
スイッチ
(EX、QFX、QFabric . . .)
物理ネットワーク
(ジュニパーまたは
サードパーティ製)
仮想ネットワーク
ストレージ
コンピューティングとストレージ
図1: ジュニパーネットワークスの自動化およびオーケストレーション エコシステム
図 1 で示されるように、ジュニパーネットワークスの物理および仮想スイッチ、ルーター、
ファイアウォール上で実行される Junos OS
は、FCAPS 管理で適用可能なさまざまなプロトコルや API をサポートしています。
一番上の OSS/BSS は、一般的に、ビジネス手順、ポリシー、運用を導入した、カスタマイズされたアプリケーションとなっています。これら
のシステムは、プロトコルや API を使って、1 つまたは複数のオーケストレーション フレームワークまたは管理アプリケーションとコミュニ
ケーションを行っています。多くの場合、
これらのオーケストレーション フレームワークは、複数のプラットフォームのアクティビティに関連
したサウスバウンド設定のリクエスト、またはノースバウンド イベントと統計データをまとめた中間レイヤーとなっています。オーケストレ
ーション フレームワークの下方向は、ジュニパーネットワークス Junos Space ネットワーク管理プラットフォームなどの、ジュニパーネット
ワークスの管理および制御アプリケーションとなっています。Junos Space は、以下を含む、数々の管理アプリケーションをサポートしてい
ます。
• Network Director は、1 つの画面での物理および仮想ネットワークの包括的な表示を可能にします。また、Network Director
は、OpenStack、VMware vCloud、vSphere などのサードパーティ製のオーケストレーション ツールと統合します。
• Security Director は、Junos OS ベースの仮想および物理ファイアウォールのポリシー管理を実行します。
• Services Activation Director は、次を含むネットワークのプロビジョニングと管理機能を提供する製品スイートです。
-- MPLS とキャリア イーサネットにおける L2/L3 VPN のネットワーク プロビジョニング
-- RSVP 信号と静的割り当てラベルスイッチ パス(LSP)の設計、
プロビジョニング、
アクティベーションに使用されるトランスポート
-- 特定のイーサネット サービス用の QoS(サービス品質)
プロファイル作成に使用される QoS
-- Y.1731 と RFC2544 を使ってネットワークのパフォーマンスを測定し、イーサネットの接続性障害管理(CFM)、イーサネットのリンクレ
ベルの障害検知と管理、BFD(Bidirectional Forwarding Detection)を使って障害管理を実行する SLA
-- IEEE1588-2008(PTP)
と Synchronous イーサネットなどの同期インタフェースを設定およびプロビジョニングする同期機能
これらのサービスには、
ノースバウンド REST ベースの API を介してアクセスします。またネットワーク プロバイダは、
この API を使って
Junos Space プラットフォームを活用し、SDN アーキテクチャのネイティブ アプリケーションを構築することができます。
同様に、Junos OS ベースのコア ルータ向けジュニパーネットワークス NorthStar Controller などのSDN コントローラと、仮想
Contrail vRouter 向けの Contrail は、物理と NFV プラットフォームにおけるサービス チェイニングのためのトラフィック管理を提供しま
す。これらのアプリケーションには、RESTful API やプロトコルを使用したプログラム可能な制御、管理、監視インタフェースが搭載されて
います。
6
Copyright © 2014, Juniper Networks, Inc.
White Paper : Junos OS による DevOps への転換
サードパーティ製ソフトウェアの統合
ジュニパーネットワークスの製品は、堅牢な自動化ネットワーク サービスの作成または監視に必要な機能を提供していませんが、Junos
OS では、インタフェース、プロトコル、API を有効化、またはサードパーティー製のクライアントを追加して、
クラス最高の製品と統合できる
ようになっています。
Puppet、Chef、Ansible は、Junos OS 対応製品と併用できる人気の高いオート
メーション フレームワークとなっており、運用スタッフは、ネットワーク フットプリ
ントを確立された IT フレームワークと統合して、DevOps への転換を開始するこ
とができます。
Puppet
Junos OS が動作するデバイスは、設定管理用に Puppet ソフトウェアをサポー
トしています。Puppet Labs によって開発された Puppet は、多数のデバイス
の設定を管理するための、効率的で拡張性に優れたソリューションを提供します。
システム管理者は、Puppet を使って、物理および仮想サーバーや、ネットワーク
デバイスなどのコンピュータ リソースを管理します。通常、Puppet は、サーバー
または Puppet マスターが、1 つないし複数のエージェント ノードを管理するク
ライアント/サーバー配列を使って導入されます。クライアント デーモン、または
Puppet エージェントは、管理された各コンピュータ リソース上で動作します。
ジュニパーネットワークスの「netdev」Puppet モジュールでは、設定のための新
しい Puppet リソース タイプを提供します。
• 物理インタフェース
RESTful API
RESTful API は、HTTP またはセキュア HTTPS
リクエストを使って、対象デバイスのデータの
GET、PUT、POST、DELETE を実行します。
ブラウザが使用する REST(Representational
State Transfer)は、インターネットの言語として
考えることができます。現在ではクラウドの使用
率が増加しているため、API が Web サービスに
利用されることが多くなっています。REST は、エ
ンド ユーザーによるクラウド サービスとのやり取
りを可能にする API 構築のための論理的な選択
肢と言えます。RESTful API は、多くの IT 機器メ
ーカー、
クラウド サービス プロバイダ、オンライン
アプリケーションにより使用され、管理方式、自動
化、オーケストレーションを拡張しています。
• L2 スイッチ ポート
• VLAN
• リンク集約グループ
Puppet を使って Junos OS 対応デバイスを管理する場合、Puppet エージェントは以下のことを実行します。
• 特別なロックのかかった状態での設定の変更
• 監査追跡用の Puppet カタログ バージョンを使用した、すべてのコミット動作の記録
Puppet のレポート ログには次のものが含まれます。
• Junos OS プロセスに特有のログ エントリ向け Junos OS ソース インジケータ
• 簡単なレポート抽出を可能にする、運用またはエラーに関連付けられたタグ
Chef
Chef は、インフラストラクチャの自動化と設定フレームワークです。Chef クライアントは、いくつかの Junos OS 対応デバイスでサポート
されています。Chef は、設定用の事前定義済み(レシピ)テンプレートが Chef サーバーに保存されているクライアント/サーバー モデル
で動作します。Chef クライアントを実行するデバイスは、起動時に Chef サーバーから変更を要求し、Chef レシピがクライアント デバイ
スに転送されます。Chef の強みは、IT インフラストラクチャ全体をクライアント ワークステーションから管理できる能力にあります。
クライ
アント ワークステーションでは、DevOps のプロフェッショナルが複数のレシピを Chef クックブックにまとめ、複数のデバイス タイプにわ
たってオーケストレーションされた設定の変更を行います。Chef は、アプリケーションのインストールにも使用できます。
ジュニパーネットワークスの Chef モジュールでは、以下の設定用のオプションを提供しています。
• 物理インタフェース
• L2 スイッチ ポート
• VLAN
• リンク集約グループ
Copyright © 2014, Juniper Networks, Inc.
7
White Paper : Junos OS による DevOps への転換
Chef を使って Junos OS 対応デバイスを管理する場合、Chef エージェントは以下のことを実行します。
• 設定変更
• すべてのコミット動作の記録
Chef のレポート ログには次のものが含まれます。
• Junos OS プロセスに特有のログ エントリ向け Junos OS ソース インジケータ
その他のサードパーティ製ツール
Junos OS は、標準準拠でオープンなプロトコル、API、インタフェースをサポートしているため、ジュニパーのデバイスの管理には、多くの
サードパーティ製のネットワーク管理、監視、自動化、オーケストレーション ツールを使用することができます。DevOps チームは、個人の好
みによって様々なツールを使用する場合があるため、
これは非常に重要となります。オープンな接続性は、シームレスな統合への大きなチャ
ンスをもたらします。
Splunk と Ganglia は、Junos OS 対応デバイスの管理と監視に使用できるサードパーティ製ツールの一例です。
• Splunk:Splunk は、ジュニパーのデバイスと簡単に統合できるログ分析エンジンです。検索可能なリポジトリでリアルタイム データの収
集、インデックス作成、相互関連付けを行い、そのデータを使ってグラフ、
レポート、通知、
ダッシュボード、可視化を生成します。Splunk は、
組織全体によるマシン データのアクセスを可能にし、データのパターンを特定して、
メトリックの提供、問題の診断、ビジネス業務のための
インテリジェンスを提供します。Splunk では、Junos OS を実行するデバイスと接続するカスタマイズ テンプレートを提供しています。
• Ganglia:Ganglia は、ハイパフォーマンスなコンピューティング システムとネットワーク デバイス向けの、拡張性に優れた分散型監視シス
テムです。データ表現には XML、
コンパクトでポータブルなデータ転送には XDR、データ保存と可視化には RRDtool など、幅広く利用さ
れている技術を活用しています。Junos OS 対応デバイスは、Ganglia を使って監視できます。
Junos OS の自動化ツール
Junos OS の自動化機能は、Junos OS 対応のネットワーク デバイスでの運用および設定タスクの自動化に使用されるツールのスイート
で構成されています。これらのツールは、Junos OS のネイティブ XML 機能を活用し、コミット スクリプト、運用(op)スクリプト、イベント
ポリシー、イベント スクリプト、オンボックス自動化のマクロが含まれます。
Junos OS の自動化機能は、複雑な設定を簡素化して設定エラーを減らし、反復的な運用タスクと設定タスクを自動化することで時間を節
約します。また、潜在的な問題を警告して、システム イベントに自動的に反応することで、
トラブルシューティングを迅速化し、ネットワーク ア
ップタイムを最大化します。Junos OS の自動化機能では、経験豊富なネットワーク オペレータや管理者の知識と経験を得ることが可能な
ため、
この専門知識を組織全体で活用でき、すべての DevOps が導入効果を実感できます。
Junos OS の自動化スクリプトは、以下のスクリプティング言語のいずれかで作成できます。
• XSLT(Extensible Stylesheet Language Transformations)
:XML データ処理の規格である XSLT は、XML ドキュメントの変換用に
設計されています。
• SLAX(Stylesheet Language Alternative Syntax)
:XSLT の代替言語である SLAX は、C と PERL のスタイルを取りながらも XSLT
のセマンティクスを保ったシンプルな構文です。C を使い慣れているプログラマにとって、SLAX は学びやすく使いやすい言語と言えます。
1 つの言語で作成されたスクリプトは、簡単に別の言語に変換できます。
以下のセクションでは、Junos OS 自動化機能の様々なタイプについて説明します。
スクリプトのコミット
Junos OS 設定の自動化機能は、コミット プロセスの自動化に、カスタム設定ルールを実行するコミット スクリプトを使用します。キャンデ
ィデート構成がコミットされると、それぞれのアクティブ コミット スクリプトによりチェックされます。設定がカスタム ルールに違反している
場合は、スクリプトが以下のいずれかのアクションを取るよう Junos OS に指示します。
• カスタム警告メッセージを生成してユーザーに表示
• カスタム システム ログ(syslog)
メッセージを生成して記録
• 設定を変更して、カスタム設定ルールに従う
• コミット エラーを生成して、
コミット動作を停止
マクロと併用する場合、コミット スクリプトはカスタム設定構文を使って拡張させながら、Junos OS 設定プロセスを簡素化します。
8
Copyright © 2014, Juniper Networks, Inc.
White Paper : Junos OS による DevOps への転換
運用スクリプト
Junos OS 運用の自動化機能は、op スクリプトを使って運用タスクとネットワーク トラブルシューティングを自動化します。Op スクリプト
は、CLI で手動で実行するか、ユーザーのログイン時に実行できます。別のスクリプトから呼び出すこともできます。Op スクリプトは、ユー
ザーの引数を処理して、以下を実行するよう構築できます。
• カスタム動作モード コマンドの作成
• 一連の動作モード コマンドを実行
• 動作モード コマンドの出力をカスタマイズ
• 運用情報を収集し、ネットワーク問題の原因を反復的に絞り込むことで、
トラブルシューティングの時間を短縮
• 制御された設定の変更を実行
• CPU の高使用率などのネットワーク警告パラメータを定期的に確認する一般運用スクリプトを作成して、デバイスの全体的な状態を監視
Op スクリプトは、DevOps 環境の合理化に効果的に使用できます。
イベント スクリプトとイベント ポリシー
Junos OS のイベント自動化機能は、イベント ポリシーとイベント スクリプトを使用して、システム イベントに応答する形でアクションを実
行するようオペレーティング システムに指示します。
イベント ポリシー:イベント ポリシーは、システム ログ メッセージや SNMP トラップ イベントを受信した際にソフトウェアが実行するアク
ションを定義する if-then-else 構図です。イベント ポリシーは、論理システム イベントまたは相関性があるシステム イベントへの応答とし
て実行できます。各ポリシーには、以下を含む複数のアクションを設定できます。
• イベントの無視
• 指定した場所にファイルをアップロード
• Junos OS 動作モード コマンドの実行
• Junos OS イベント スクリプトの実行
イベント スクリプト:イベント スクリプトは、システム イベントへの応答として定義済みのイベント ポリシーによって自動的にトリガーさ
れ、Junos OS に即時のアクションを取るよう指示できます。イベント スクリプトは、以下を実行することで、ネットワークのトラブルシューテ
ィングとネットワーク管理を自動化します。
• ネットワーク内の問題を自動的に診断して修復
• デバイスの全体的な状態を監視
• 周期的なエラー状態を検知するイベント ポリシーの一環として自動的に実行
• 問題への応答として設定を変更
コミット スクリプト、op スクリプト、イベント スクリプトは、すべて DevOps で、Puppet、Chef、Ansible などのオフデバイス DevOps フ
レームワークと併用できます。一般的に、
これらのメソッドは、デイゼロ導入のデバイスのプロビジョニングと設定に使用される ZTP(zero
touch provisioning)
と結合されています。
Junos SDK
Junos ソフトウェア開発キット
(Junos SDK)を使って新しいネットワーク アプリケーションと既存のネットワーク アプリケーションを構築
および検証することで、開発者は Junos OS で革新を起こすことができます。前述のスクリプトはデバイスの自動化ツールに搭載されてい
ますが、Junos SDK はオフデバイス自動化機能を提供します。これは、Junos SDK より提供されるオープン API によって、Junos OS 対
応デバイスで制御、サービス、バーチャル プレーンへのリモート アクセスを使ってアプリケーションを実行できることから、DevOps にとっ
て特に重要となります。Junos SDK は、ルーター、スイッチ、ファイアウォールにおける迅速なネットワーク アプリケーション開発のための
共通ツールと API を使い、Junos OS を、実証済みでキャリア級の高性能ネットワーク オペレーティング システムから開発者が使用できる
アプリケーション プラットフォームへと変換します。Junos SDK は、Junos OS にとって常に重要となる堅牢さとセキュリティを強化しなが
ら、侵害なくプラットフォームとシステム機能を公開します。ネットワーク アプリケーションをリモートで実行するためのリモート コントロー
ル機能と柔軟性は、DevOps の手法にとって非常に有益です。
Copyright © 2014, Juniper Networks, Inc.
9
White Paper : Junos OS による DevOps への転換
ジュニパーネットワークス Junos SDK アプリケーションには、以下のコンポーネン
トが含まれています。
• コントロール プレーン プログラム:中央制御機能スタイルのアプリケーション
は、Junos OS のシステム状態の他、ルーティング エンジンのルーティング、
スイッ
チング、セキュリティ機能にアクセスできます。
• ユーザー インタフェースの拡張機能:プラグインが、
コマンドと構成データベース
の UI 体系をシームレスに拡張します。通信事業者は、CLI、NETCONF、Junos
Space、Junos Automation などの Junos OS インタフェースより、新しい構文を
使ってアプリを管理できます。SNMP とシステム ロギング拡張機能も実行可能で
す。
• サービス プレーン プログラム:サービス プレーン プログラムは、それぞれがパケッ
ト ポーリング ループを実行する多くのリアルタイム POSIX スレッドを使って運用
します。サービス ハードウェア モジュールのマルチプロセッシング サービス エン
ジン全体の独占的な使用権が付与されています。アプリケーションは一般的に、パ
ケットの受信、処理、送信の重要なタスクを実行するため、低遅延と大量のスループ
ット向けに最適化されています。
NETCONF プロトコル
Network Configuration プロトコルはネット
ワーク管理プロトコルで、ネットワーク デバイ
スの設定をインストール、操作、削除するメカ
ニズムを提供します。このプロトコルは、シン
プルなリモート プロシージャ コール(RPC)
レ
イヤー上で実行されます。NETCONF プロト
コルは、設定データとプロトコル メッセージに
XML(Extensible Markup Language)ベース
のデータ エンコーディングを使用します。プロ
トコル メッセージは、セキュアな転送プロトコ
ル上で交換されます。
• サービス プレーン プラグイン:サービス プレーン プラグインも、
ラインの速度でパケットにアクセスできるコンポーネントです。このパケッ
トのイベント駆動型モデルにより、単一のサービス エンジン内でのアプリケーション チェイニングが可能になります。これらのコンポーネン
トは、汎用セッション管理インフラストラクチャと API を活用することで、
より迅速に開発できます。
• バーチャル プレーン プログラム:バーチャル プレーン プログラムは、オンデバイスまたはオフデバイスのシステムで実行され、
リモート ル
ーティングとシステム API を使って、実質上 Junos OS と統合できます。
Junos SDK では、以下の主要 API カテゴリーをサポートしています。
• ルーティングおよびシステム API:ルーティング、
フィルタリング、高可用性、インタフェースの状態、その他の Junos OS サブシステムを動的
な方法で使用および操作する、デバイスローカル Junos OS コントロール プレーンベース アプリ向けの API です。Junos OS ユーザー イ
ンタフェースを拡張する API と言語も含まれます。
• リモート ルーティングおよびシステム API:Junos OS デバイスローカル アプリ向けの、環境と言語に依存しないミドルウェアのルーティン
グおよびシステム API の転送と、バーチャルでホストされ、Linux などの非 Junos OS オペレーティングシステムが実行されるリモート バ
ーチャル プレーンベース アプリです。Junos OS サービス モデル内では、サービス プレーンに対するバーチャル プレーンの拡張機能が、
数値計算のトラフィック処理、
またはその他のコントロール プレーンスタイルのネットワーク アプリケーションを実行できます。
• トラフィック サービス API:変換と監視目的でデータ
(転送)
プレーンから指定したパケット ストリームにアクセスする、デバイスローカル
Junos OS サービスのプレーンベース アプリ向けの API です。
これには、ジュニパーネットワークスのマルチサービスとアプリケーション サ
ービス ライン カードにおけるラインレート潜在トラフィック処理機能の付いた、ゼロコピー パケット操作 API も含まれます。
• Junos XML 管理プロトコル API:Junos XML プロトコル Perl クライアント モジュールを使って、Junos OS を実行するデバイスで情報を
設定するカスタム アプリケーションを開発します。クライアント アプリケーションは、Junos XML 管理プロトコルを使って、
ジュニパーネッ
トワークス ルーターの設定情報を要求および変更します。Junos XML 管理プロトコルは Junos OS 向けにカスタマイズされており、API
での動作は Junos OS CLI における動作と同じになっています。
• NETCONF アプリケーション プログラミング インタフェース API:NETCONF Perl クライアント モジュールを使って、Junos OS を実行する
デバイスで情報を設定するカスタム アプリケーションを開発します。クライアント アプリケーションは、NETCONF XML 管理プロトコルを
使って、設定情報を要求および変更します。NETCONF XML 管理プロトコルには、複数のベンダーの設定データ モデルを調整する機能が
含まれます。
Junos SDK は、Junos OS が提供するプログラマビリティを基盤に構築されたネットワーク全体のアプリケーション プラットフォームの
作成により、オンボックス自動化とオーケストレーション ツールを構築する機能を提供します。DevOps の手法は、
このタイプのプログラム
可能なネットワーク アプリケーション環境を使うことで、従来の自動化とオーケストレーション フレームワークの枠を超えて拡張することが
できます。
結論
分かりやすくシンプルなネットワークの敏捷性は、ビジネスの敏捷性と対応している必要があります。特に、ネットワークは、進化するビジネ
ス展望とすでに進化している IT DevOps の敏捷性の進歩と統合する必要があります。IT と IP ネットワーク ドメインを統合する戦略は、
サービス プロバイダがビジネスと運用を変革させるために重要です。自動化とオーケストレーションは、サービス プロバイダ、導入者、運
用者、また場合によっては、課題と根本的な問題に取り組むエンド ユーザーにも役立ちます。これらのソリューションや、自動化とオーケスト
レーションのツールは常に進化していることから、ネットワーク インフラストラクチャは、既存のサービスのダウンタイムを発生させることな
く、新しいハードウェアとソフトウェアの機能を徐々に採用していく必要があります。Junos OS と、自動化とオーケストレーションをサポート
する Junos OS の豊富な機能により、サービス プロバイダは、IT サービス配信で広く採用されている DevOps 手法の堅実なネットワーク
インフラストラクチャを提供できます。
10
Copyright © 2014, Juniper Networks, Inc.
White Paper『Junos OS による DevOps への転換』
ジュニパーネットワークスについて
ジュニパーネットワークスは、ネットワークイノベーション事業に従事しています。デバイスからデータセンターまで、消費者からクラウドプ
ロバイダまで、ジュニパーネットワークスはネットワークの使い勝手や経済性を向上させるソフトウェア、シリコン技術やシステムを
提供しています。ジュニパーネットワークスは、世界中のお客様とパートナー企業のために尽力しています。詳細については、
www.juniper.net/jp/ をご覧ください。
米国本社
アジアパシフィック、ヨーロ
Juniper Networks, Inc.
ッパ、中東、アフリカ
1133 Innovation Way
Juniper Networks International B.V.
Sunnyvale, CA 94089 USA
Boeing Avenue 240
電話: 888.JUNIPER (888.586.4737)
1119 PZ Schiphol-Rijk
または+1.408.745.2000
Amsterdam, The Netherlands
FAX: +1.408.745.2100
電話: +31.0.207.125.700
www.juniper.net
FAX: +31.0.207.125.701
ジュニパーネットワークスのソリューションの購
入については、03-5333-7400にお電話いただ
くか、指定販売店にお問い合わせください。
Copyright 2014 Juniper Networks, Inc. All rights reserved. Juniper Networks、Juniper Networksロゴ、Junos、QFabricは、米
国およびその他の国におけるJuniper Networks, Inc.の登録商標です。 また、その他記載されているすべての商標、サービスマーク、登
録商標、登録サービスマークは、各所有者に所有権があります。 ジュニパーネットワークスは、本資料の記載内容に誤りがあった場合、一
切責任を負いません。 ジュニパーネットワークスは、本発行物を予告なく変更、修正、転載、または改訂する権利を有します。
2000586-002-JP 2014年10月
Copyright © 2014, Juniper Networks, Inc.
11