はじめに
Open Networking(オープンネットワーキング)について取り上げた第2~4回記事では、“Zero Touch Provisioning(ZTP)” と “Ansible” をそれぞれご紹介しました。今回の記事ではその2つを組み合わせて実施できる、より効率的なネットワーク構築方法をご紹介いたします。
他にもOpen Networkingに関わる記事がありますので、以下「記事一覧はこちら」からご興味のある記事をご覧ください。
ZTPとAnsibleについて
ZTPでできること
ZTPについて簡単にまずおさらいしますと、ホワイトボックススイッチなどの機器を導入したいネットワークへ接続し、電源を入れるだけで自動的に設定がおこなわれ、使用できるようにする仕組みになります。
図にすると下記のような流れになり、DHCP SeverとWeb Serverを用意すれば簡単に構築が可能です。
① ホワイトボックススイッチを起動すると、DHCP requestが開始
② DHCP ServerはホワイトボックススイッチからのDHCP Requestに対してAckを返答
この際にIPアドレスだけでなく、NOS image fileやLicense、Config fileの保存場所も通知
③ ホワイトボックススイッチはDHCP serverから通知された情報を基にWeb serverへアクセス
④ Web ServerからNOS image fileやLicense、Config fileをダウンロードし、ダウンロードした各種ファイルをホワイトボックススイッチに適応し、設定作業完了
ZTPの構成例図
ZTPの詳細については第4回の記事に詳細な説明がありますので、よかったらご覧ください
ZTPメリット/デメリット
ZTP単体の時のメリット/デメリットは下記になります。
[メリット]
・設定がシンプルであるためZTP環境の構築が難しくない
[デメリット]
・各ホワイトボックススイッチのConfigを事前に作成する必要がある
・初期設定に変更があれば自動で修正する仕組みがなければ全てのConfigに対してマニュアルで修正する必要がある
ZTP環境自体の構築事態は難しくありませんが、各ホワイトボックススイッチ用のConfigを用意する必要があり、この数が多いほどマニュアルによる準備の時間がかかってしまうのが課題となっています。
ZTP x Ansibleでできること
続いて、ZTP x Ansibleについてご紹介していきます。
基本的な流れはZTP単体と同じですが、Configの作成をAnsibleで行うことが可能となっています。
① ZTPで各ホワイトボックススイッチのConfigを適応(ConfigはAnsibleで作成)
② 設定変更時はAnsibleホスト上のPlaybookを編集/実行によって、リアルタイムで設定変更可能(多くのスイッチへ同じ設定を投入する際に有効)
③ Ansibleホストを使い、定期的に各装置のConfigのバックアップが可能
※ Playbookは実行する処理内容がかかれたファイル
ZTP x Ansibleのメリット/デメリット
ZTPとAnsibleを組み合わせた際のメリット/デメリットは下記になります。
[メリット]
・Ansibleで各Configを作成することができ、またその後の初期設定変更も容易におこなえる
・ZTP起動後は、Ansibleを使いリアルタイムでホワイトボックススイッチに対し設定変更が可能
・Ansibleを使い、定期的なConfigのバックアップが可能
[デメリット]
・Ansibleの学習コストがかかる
ZTP単体の時にあったConfigの作成作業が大幅に削減することが可能です。また、一度AnsibleのPlaybookを作成すればその後の設定変更や機器の拡張にも容易に対応が可能になります。さらに、各ホワイトボックススイッチのConfigについて定期的なバックアップを取ることも可能であり、よりオペレーションを自動化することが可能です。
※Ansibleを使ったConfigの作成方法は第3回記事により詳しく紹介していますので、よかったらご覧ください。
Ansibleを使ったバックアップ取得方法
続いてはZTP x Ansibleのメリットでも記載したAnsibleのバックアップ取得方法をご紹介します。
ホワイトボックススイッチに対し、バックアップを定期的に行うことで、常に最新のConfigを取得できます。これによりホワイトボックススイッチが故障したとしても、交換機器に対し素早くZTPで最新のConfigを適用することができ、よりスピーディーな対応が可能になります。
環境
・Server
‐Ubuntu 16.04
・ホワイトボックススイッチ
‐Edgecore : AS7726-32X
・NOS
‐OcNOS 1.3.9
バックアップ取得構成図
Ansibleのディレクトリー構成
├── hosts #インベントリーファイル
│
├── set_crontab.yml #実行するPlaybookファイル
│
└── backup.yml #cronジョブで実行されるPlaybookファイル
下記のようにPlaybook(set_crontab.yml)を設定し、1分おきにcronジョブ(backup.yml)を実行するスクリプトを作成します。
set_crontab.yml
---
- hosts: localhost
gather_facts: false
tasks:
- name: set crontab
cron:
name: backup_config
job: "/usr/bin/ansible-playbook -i ~/Ansible/ocnos-bgp-ansible/hosts ~/Ansible/ocnos-bgp-ansible/backup.yml
cronジョブで実行されるPlaybookは下記になります。
backup.yml
---
- name: Buck up running-config
gather_facts: no
hosts: OCNOS
vars:
now_date: "{{ lookup('pipe','date +%Y%m%d%H%M') }}"
tasks:
- ocnos_config:
exec_cmds:
- 'copy running-config scp scp://tecstar:tecstar@192.168.0.80/tmp/configs/{{ inventory_hostname }}_bk.conf.{{ now_date }} vrf management'
AnsibleでPlaybookを実行
下記コマンドからPlaybook(set_crontab.yml)を実行することで定期的なバックアップの設定が完了します。
ansible-playbook set_crontab.yml
Playbookを実行後、crontabが問題なく設定されていることを確認します。
tecstar@tecstar:~$ crontab -l ----->コマンド実行
#Ansible: backup_config
* * * * * /usr/bin/ansible-playbook -i ~/Ansible/ocnos-bgp-ansible/hosts ~/Ansible/ocnos-bgp-ansible/backup.yml ---->正常に設定されていることが確認できる
また、下記のように実際に1分おきにConfigが取得できており、正常に動作していることが確認できます。
(今回はファイル名にタイムスタンプをつけており、16時53分, 16時54分, 16時55分, 16時56分でバックアップが取得されている)
tecstar@tecstar:/tmp/configs$ ls
AS7726-A_bk.conf.202107191653 AS7726-A_bk.conf.202107191654 AS7726-A_bk.conf.202107191655 AS7726-A_bk.conf.202107191656
以上がZTPとAnsibleを使った自動化ソリューションのご紹介でした。
次回はOSSツールを使った監視/可視化方法をご紹介していく予定です。
最後に
マクニカではオープンネットワーキングを実際に体験し、試験や検証をおこなえる環境をリモートで提供するサービスのご用意があります。
本サービスでは、ネットワークOSの操作性の検証、様々なメーカーのネットワークOSやホワイトボックススイッチ、光トランシーバーを組み合わせた試験をおこなえます。
リモート検証サービス イメージ図
気軽にオープンネットワーキングの検証をおこなえるサービスとなっており、基本構成での利用は無償になっています。
ご利用可能なネットワークOSやホワイトボックススイッチについて、具体的なユースケース、またお申し込み方法はダウンロード資料よりご確認いただけます。資料は下記「マクニカ ネットワークOS リモート検証サービス」よりアンケートにご回答いただきますとご案内メールに記載されているURLよりダウンロードができます。
こんな方がリモート検証サービスを利用しています。
実際に利用いただいた方の声をご紹介します。
古河ネットワークソリューション株式会社 様
「昨今リモートのサービス環境が増えていますが、その中でも評価機材へのアクセス性が良く好印象でした。
ご提供頂いた資料も分かり易く、目的とした検証を円滑に進めることができました。」
関連する情報
資料一覧はこちら
マクニカが取り扱う製品のご紹介のほか、
BGPクロスネットワーク自動構築ファイルやネットワーク運用試験評価レポートなど、オープンネットワーキングに関する資料を掲載しております。
詳細はこちら
製品ページTopへ
お問い合わせ
本記事に関してご質問などありましたら、以下より問い合わせください。