KVM 上の DataSync Agent をホストと同一ネットワークに接続する構成を絵に書いてみた
はじめに
AWS DataSync Agent を KVM 上の仮想マシンで動作させる場合、デフォルトではホストマシンとは異なるネットワークセグメントに配置されます。本記事では、DataSync Agent をホストマシンと同一ネットワークに接続する方法を解説します。
デフォルトの仮想ブリッジについて
KVM デフォルトの仮想ブリッジ(virbr0)は NAT が有効になっています。 そのため、DataSync Agent(仮想マシン)はホストとは異なるネットワークセグメントに配置された構成を取ります。
仮想マシンを同一ネットワークセグメントに配置するには
新規の仮想ブリッジを作成する
NAT をしない仮想ブリッジ(br0)を新規に作成する必要があります。
- ホストマシンの物理 NIC は仮想ブリッジに接続
- DataSync Agent(仮想マシン)は、TAP デバイスを介して仮想ブリッジに接続
仮想ブリッジの作成を簡単に説明すると以下のステップが必要です。
- 仮想ブリッジ(br0)の作成
- 物理 NIC を仮想ブリッジへの接続設定(Netplan)
- ネットワーク設定の反映
詳細な手順は以下のブログをご参照ください。
IP アドレスの割り当てについて
仮想ブリッジを作成すると、以下で IP アドレスが必要になります。
- 仮想ブリッジで 1 つ
- 仮想マシンの台数分
物理 NIC には IP アドレスは振らず、物理 NIC から接続される仮想ブリッジに IP アドレスを振ります。
設定ファイルのサンプル
実際にホストマシンの Netplan の設定ファイルです。
network:
version: 2
ethernets:
enp3s0: # 構成図の物理 NIC2 に該当する設定
dhcp4: false
dhcp6: false
bridges:
br0: # 構成図の仮想ブリッジに該当する設定
interfaces: [enp3s0] # 物理 NIC を指定
addresses: [192.168.20.160/24] # 固定の IP アドレスを付与
routes:
- to: default
via: 192.168.20.1
nameservers:
addresses: [1.1.1.1, 8.8.8.8]
parameters:
stp: false
dhcp4: false
dhcp6: false
ホストマシンへリモート接続するときは
仮想ブリッジ(br0)の IP アドレスでホストマシンに SSH 接続はできます。
詳細は以下を参照してください。
物理 NIC1 を同ネットワークセグメントに接続しなくても良いですが、仮想ブリッジの設定を変更したときに設定ミスなどの影響で、リモート接続できなくリスクはあります。同ネットワークか、メンテナンス、管理用に用意されている別のネットワークがあればそちらに接続しておくのが良いでしょう。
まとめ
- KVM のデフォルト仮想ブリッジ(virbr0)では NAT が有効になっています
- ホストと同一ネットワークに接続するには、新規の仮想ブリッジ(br0)が必要です
- 仮想ブリッジと各仮想マシンに IP アドレスの割り当てが必要です
おわりに
クラウドサービスを利用する機会が多くなり、LAN ポートや LAN ケーブルについて考えることがめっきり減りました。昔勉強したこともだいぶ忘れてしまいました。