CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
みなさん、こんにちは。
前回は、ネットワーク機器の設定適用、データ収集、パスワード変更といったネットワーク管理における重要な作業を効率化するための3つのシナリオを紹介しました。ネットワーク管理における自動化は、ますます高度な機能の実装へと進化しています。
今回は、前回に続いて自動化のさらなる可能性を探るべく、デバイス設定の自動バックアップや設定コンフィグのコンプライアンスチェックについて取り上げます。これらによって、より効率的かつ安定したネットワーク運用が実現でき、障害発生時の復旧や運用リスクの低減が期待できます。それでは詳しく見ていきましょう。
import openpyxl
from napalm import get_network_driver
from datetime import datetime
devices = [
{’hostname’: ’192.168.1.1’, ’username’: ’admin’, ’password’: ’admin123’, ’platform’: ’ios’},
# 必要に応じて、他のデバイスを追加
]
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = ’Backup Status’
sheet.append([’Hostname’, ’Backup Status’, ’Timestamp’])
for device_info in devices:
driver = get_network_driver(device_info[’platform’])
device = driver(device_info[’hostname’], device_info[’username’], device_info[’password’])
try:
device.open()
config = device.get_config()
running_config = config[’running’]
# 設定をファイルに保存
filename = f"{device_info[’hostname’]}_backup.cfg"
with open(filename, ’w’) as f:
f.write(running_config)
# 成功をExcelに記録
sheet.append([device_info[’hostname’], ’Success’, datetime.now()])
device.close()
except Exception as e:
# エラーをExcelに記録
sheet.append([device_info[’hostname’], f’Failed: {e}’, datetime.now()])
wb.save(’backup_status.xlsx’)
import openpyxl
from napalm import get_network_driver
devices = [
{’hostname’: ’192.168.1.1’, ’username’: ’admin’, ’password’: ’admin123’, ’platform’: ’ios’},
# 必要に応じて、他のデバイスを追加
]
compliance_rules = {
’banner_motd’: ’Authorized Access Only’,
# 必要に応じて、他のルールを追加
}
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = ’Compliance Report’
sheet.append([’Hostname’, ’Rule’, ’Compliance’, ’Details’])
for device_info in devices:
driver = get_network_driver(device_info[’platform’])
device = driver(device_info[’hostname’], device_info[’username’], device_info[’password’])
device.open()
config = device.get_config()
running_config = config[’running’]
# コンプライアンスチェック
for rule, expected_value in compliance_rules.items():
if rule == ’banner_motd’:
if expected_value in running_config:
compliance = ’Compliant’
details = ’’
else:
compliance = ’Non-Compliant’
details = ’Banner message is incorrect or missing.’
# 他のルールも同様にチェック
sheet.append([device_info[’hostname’], rule, compliance, details])
device.close()
wb.save(’compliance_report.xlsx’)
今回の解説では、ネットワーク管理の自動化に向けた実用的な手法として、デバイス設定の自動バックアップとコンプライアンスチェックの2つのシナリオを取り上げました。これらを活用すると、ネットワーク環境の安全性と一貫性を確保し、管理作業の効率を大幅に向上させることができると思います。自動バックアップは障害発生時の迅速な復旧に貢献でき、コンプライアンスチェックは設定の一貫性とセキュリティ対策を確立できます。
次回も引き続き、ネットワーク管理のさらなる効率化を目指し、自動化ツールや高度な管理方法についてご紹介していきます。より安定した、運用リスクの少ないネットワーク環境の構築に役立てていただければ幸いです。どうぞお楽しみに。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes