CTC 教育サービス
[IT研修]注目キーワード Python Power Platform 最新技術動向 生成AI Docker Kubernetes
みなさん、こんにちは。
かつてネットワークエンジニアの仕事は、SSHログインしてコマンドを叩き、目視で設定や状態を確認し、エビデンスをドキュメントに残すといった手作業の積み重ねが主流でした。ですが近年、「Pythonによるネットワーク自動化」がその作業を大きく変えつつあります。
本連載では、「Pythonとネットワーク自動化基礎検定」の合格を視野に入れ、これからネットワーク自動化を学ぶ方に向けて、Pythonを使った基本的な自動化スクリプトとその考え方を模擬問題形式で解説していきます。
各回では、検定の出題範囲に沿って以下のようなテーマを取り上げ、現場でも役立つ実践的な知識を身につけられる構成としています。
実際の現場で役立つノウハウと、検定対策の両面から学べる内容を目指します。Pythonが初めての方でも取り組めるよう、丁寧な解説と実行可能なサンプルコードを交えて進めていきます。
今回は、よく使われるライブラリ「NAPALM」と「Netmiko」に関する模擬問題を2問紹介し、解説します。
次のPythonスクリプトの目的として最も適切なものはどれか?
from napalm import get_network_driver
driver = get_network_driver(’ios’)
device = driver(hostname=’192.0.2.1’, username=’admin’, password=’admin’)
device.open()
config = device.get_config()
device.close()
print(config[’running’])
選択肢:
A. CPU使用率を取得する
B. ルーティングテーブルを取得する
C. 実行中の設定(running-config)を取得する
D. 設定変更を適用する
正解:
C. 実行中の設定(running-config)を取得する
解説:
このスクリプトは、NAPALMでCisco IOSルータに接続し、設定情報を取得するものです。
NAPALMはマルチベンダ対応の自動化フレームワークで、設定の取得・適用・検証が統一的に行えます。この問題は、「設定取得の基本形」として、運用現場でよく使われる処理を問う問題です。
以下のNetmikoスクリプトの動作として最も適切なものはどれか?
from netmiko import ConnectHandler
device = {
’device_type’: ’cisco_ios’,
’host’: ’192.0.2.1’,
’username’: ’admin’,
’password’: ’admin’,
}
conn = ConnectHandler(**device)
output = conn.send_command("show ip interface brief")
conn.disconnect()
print(output)
選択肢:
A. IPアドレスの設定を削除する
B. インターフェースの稼働状況を一覧で表示する
C. 起動設定(startup-config)を取得する
D. VLAN構成を変更する
正解:
B. インターフェースの稼働状況を一覧で表示する
解説:
このスクリプトでは、Netmikoを使ってCisco IOSデバイスにSSHで接続し、show ip interface brief コマンドを実行しています。
このコマンドでは、以下のような情報を簡潔に一覧表示できます。
NetmikoはCLIコマンドベースでの自動化に強みがあり、「細かい制御」や「特殊なコマンドの実行」に向いています。特に以下のような用途に便利です。
今回の2問は、ネットワーク自動化の「はじめの一歩」として押さえておきたい基本知識です。
現場では、例えば「すべてのスイッチからインタフェース統計を一括で取得」「特定のACLルールが適用されているかを確認」といった定型作業が日々発生しています。こうした、いつもの操作をPythonスクリプトで再現できるようになることこそが、ネットワーク自動化の本質といえます。
次回も、現場で役立つスクリプトを交えた模擬問題を解説しながら、「読むだけで終わらず、手を動かして学べる」ネットワーク自動化の実践をお届けしていきます。
[IT研修]注目キーワード Python Power Platform 最新技術動向 生成AI Docker Kubernetes