Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos OS向けSalt について

Salt を使用して、Junos OS を実行しているデバイスを管理し、システムの状態の定義と適用、コマンドの実行、問題の監視、トラブルシューティング、解決をリアルタイムで行うことができます。

Salt for Junos OSの概要

Salt(SaltStack Platform)は、Pythonベースのオープンソースのリモート実行および構成管理ツールです。Salt を使用すると、システムの状態を定義し、その状態を管理対象ノードに適用できます。また、Salt を使用して、デバイス上でアドホック コマンドを実行することもできます。分散設計と永続的なセッションにより、高速性、柔軟性、高い拡張性を実現し、複数のベンダーにわたる数千台のデバイスを管理できます。Salt インストールには、Salt Open または SaltStack Enterprise を使用して Junos OS を実行しているデバイスを管理できるモジュールが含まれています。

Salt は、イベント駆動型であるという点で他の構成管理ツールとは異なります。Saltアーキテクチャは、コンポーネント間の通信のためのデフォルトのメッセージおよびイベント転送メカニズムとしてZeroMQを使用するイベントバスを中心としています。コンポーネントはバスを介してメッセージを送信することで通信し、外部イベントをバスに挿入できます。これにより、特定のイベントに自動的に応答するイベント駆動型インフラストラクチャ (EDI) を構築できます。

一般的な Salt アーキテクチャは、Salt マスターが 1 つ以上の Salt ミニオンを管理するサーバー/クライアント モデルです。Salt は通常、エージェントベースのアーキテクチャを使用するため、管理対象ノードは salt ミニオン プロセスを実行する必要があります ( 図 1 を参照)。Salt マスターはミニオンにコマンドを発行し、ミニオンはコマンドを実行して結果を Salt マスターに返します。

図 1: Salt サーバー/クライアント アーキテクチャ Salt Server/Client Architecture

ただし、Salt セットアップは柔軟で、マスターレス オプション、エージェントレス オプション、およびプロキシ ミニオンの使用が可能です。プロキシ ミニオンを使用すると、Salt ミニオンを直接実行しないが、ネットワーク構成プロトコル(NETCONF)など、別のプロトコルを使用して管理できるデバイスを管理できます。Salt マスターは、Salt プロキシ ミニオンを介して Junos OS を実行しているデバイスを管理できます。

Salt のインストールには、 Junos プロキシ モジュールが含まれています。このモジュールにより、Salt の操作が Junos OS 固有の手順に変換され、Salt システムがプロキシ ミニオンを使用して Junos OS を実行しているデバイスに接続および管理できるようになります。Junosプロキシは、ZeroMQイベントバスを使用してSaltマスターに接続し、ジュニ パーJunos PyEZ ライブラリを使用して、Junos OSを実行しているデバイスとSSH経由でNETCONFセッションを確立します。プロキシ ミニオン プロセスは、Salt マスター上 ( 図 2 を参照)、または 1 つ以上の個別のサーバー ( 図 3 を参照) で実行できます。

図 2:Junos プロキシ ミニオンの同じサーバー アーキテクチャ Junos Proxy Minions Same Server Architecture
図 3:Junos Proxy Minion Separate Server Architecture Junos Proxy Minion Separate Server Architecture

Saltのインストールには、Junos 実行 モジュールと 状態 モジュール(Salt用)も含まれています。これらのモジュールは、アドホックコマンドを実行したり、Junos OSを実行しているデバイス上で特定の状態を定義して適用したりできる機能を定義します。これらの機能を使用して、ネットワーク内の主要な運用タスクや設定タスクを自動化できます。たとえば、次のことができます。

  • 設定の生成、ロードとコミット、バックアップなど、設定の管理とプロビジョニングを行う

  • 運用情報または設定データの取得と分析

  • Junos OS CLIコマンドとRPCを実行する

  • ソフトウェアのインストールの実行

  • 運用状態の監査と検証

Saltイベントシステムは、パブリッシュ/サブスクライブ(pub/sub)モデルを使用します。イベントはイベント バスで発行され、サブスクライバーは発行されたイベントをリッスンし、指示どおりに反応します。Saltは、バス上で外部イベントを公開し、イベントに反応するメソッドを提供します。これにより、Salt を使用してイベントをリアルタイムで監視し、応答できます。

Saltのインストールには、管理対象デバイスからのJunos OSシステムログメッセージをリッスンして、Saltイベントバスに公開する Junos syslogエンジン (Salt用)が含まれています。Junos syslogエンジンをSaltリアクタと組み合わせて、Junos OSを実行するデバイスのイベントベースの状態管理に使用できます。 Salt リアクターを使用すると、Salt イベント バス上のイベントに応答してアクションを実行できます。Salt Reactor システムを有効にすると、Salt イベント バスが監視され、構成されたルールに基づいて一致するイベントのアクションがトリガーされます。Junos Syslogエンジンを有効にし、カスタムリアクターを設定することで、ネットワークの一般的な問題を自動的にトラブルシューティングし、修正することができます。

Salt と Salt が Junos OS にもたらすメリット

  • 多数のデバイスを管理するための効率的でスケーラブルなソリューションを提供します。

  • デバイスの正しい状態の自動適用を有効にします。

  • トラブルシューティングタスクを自動化することで、ネットワーク問題のトラブルシューティング時間を短縮し、解決までの時間を短縮します。

  • 特定のシステムイベントに自動的に応答することで、ネットワークの信頼性を向上させ、ネットワークの稼働時間を最大化します。

  • Junos OS を実行するデバイスのカスタマイズされたイベント駆動型の自動化を有効にします。追跡するイベントを定義し、それらのイベントに応答するカスタム リアクタを作成できます。

追加資料

このドキュメントは、読者が SaltStack Platform に精通していることを前提としています。サポートされているオペレーティング システムやインストール手順など、Salt の詳細については、 https://saltproject.io/ の SaltStack Web サイトを参照してください。

表 1 では、Junos OS リソースの数と Salt について説明します。

表1:Junos OS用Salt のリソース

資源

形容

URL (英語)

Day One:Salt で Junos を自動化

Salt を使用して Junos OS を実行しているネットワーク デバイスを自動化できるようにするための基本的な概念と実用的なチュートリアルが記載された Day One ブック。

https://www.juniper.net/documentation/en_US/day-one-books/DO_Automating_SALT.pdf

ドキュメンテーション

Junos OS を実行するデバイスで運用タスクと設定タスクを実行するための Salt のインストールと使用に関する詳細な情報が記載されたドキュメントです。

https://www.juniper.net/documentation/product/us/en/salt-for-junos-os/

Junos OSを実行するデバイスを自動化し、Saltでイベント駆動型の自動化を実行するための追加情報と例が掲載されているGitHubリポジトリとWiki。

https://github.com/ksator/junos-automation-with-saltstack/wiki

GitHub リポジトリ

SaltStack プラットフォームの公開リポジトリです。

https://github.com/saltstack/salt

Junos 実行と状態モジュールのドキュメント

Junos 実行モジュールと state モジュールのリファレンス ドキュメント。

https://docs.saltproject.io/en/latest/ref/modules/all/salt.modules.junos.html

https://docs.saltproject.io/en/latest/ref/states/all/salt.states.junos.html

ビデオチュートリアル

Salt を使用して Junos OS を実行しているデバイスの管理を開始する際に役立つ短いチュートリアルです。

SaltStack パート 1:基本とインストール

SaltStackパート2:Junosプロキシモジュール

SaltStackパート3:Junos Syslogエンジン