Chuyển đến nội dung chính

第15課:Containers、Automation と Production Best Practices

VyOS でのコンテナ活用、Ansible/API による自動化、バックアップ、アップグレード、セキュリティ強化、実運用展開、Ansible playbook ラボを解説します。

Containers、Automation と Production Best Practices

VyOS における Containers、Automation と Production Best Practices

VyOS 1.4/1.5 はコンテナ(Podman)をサポートしており、補助サービス、exporter、monitoring を実行できます。さらに、VyOS は API、Ansible、バックアップ、アップグレードに対応し、本番運用向けのベストプラクティスを提供します。

VyOS 上の Containers

set container name prometheus-exporter image prom/node-exporter
set container name prometheus-exporter network bridge address 192.168.50.10/24
set container name prometheus-exporter health-check interval 30

bridge、macvlan、health-check をサポートし、Podman CLI で管理できます。

Ansible による自動化

# ansible.cfg
[defaults]
inventory = ./hosts
host_key_checking = False

playbook.yaml

  • hosts: vyos gather_facts: no tasks:
    • name: Push config vyos.vyos.vyos_config: lines: - set interfaces ethernet eth0 address 192.168.1.1/24

VyOS HTTP API と REST API

set service https api listen-address 0.0.0.0
set service https api port 8443

REST API 経由で設定コマンドを送信します。

curl -k -u vyos:password -X POST https://vyos:8443/configure -d '{"op": "set", "path": ["interfaces", "ethernet", "eth0", "address"], "value": "192.168.1.2/24"}'

Scripting と Custom Commands

set system login user vyos authentication plaintext-password 'password'
run show version

Backup、Upgrade と Rollback

# Backup config
cp /config/config.boot /config/backup-$(date +%F).boot
# Upgrade image
add system image https://downloads.vyos.io/rolling/current/amd64/vyos-1.5-rolling.iso
# Rollback
set system image default-boot vyos-1.4-rolling

Security Hardening Checklist

  • SSH ポート変更、root login 無効化、鍵認証のみにします。
  • 不要サービスを停止します: delete service telnet、delete service ftp。
  • VyOS 自身を保護する firewall を設定します。

Production Deployment Scenarios

  • Home router: NAT、VPN、firewall、monitoring。
  • Small business: dual-WAN、HA、container exporter。
  • ISP edge: BGP、IPsec、automation、backup。

ハンズオンラボ: Ansible Playbook による VyOS 設定展開

  1. VyOS の IP を含む ansible.cfg と hosts を準備します。
  2. vyos_config モジュールを使用した playbook を作成します。
  3. playbook を実行し、VyOS 側の状態を確認します。
ansible-playbook -i hosts playbook.yaml

まとめ

このレッスンで、コンテナ運用、Ansible 自動化、API 活用、バックアップ、アップグレード、セキュリティ強化を組み合わせた VyOS の本番運用パターンを実践できます。