VPC、サブネット、および仮想マシン
VPCは、論理ルーターとそれに接続されたサブネットをまとめたものです。このページでは、VPCの作成、アドレスの割り当て、およびその上への仮想マシンの配置について説明します。
VPCの作成
Network > OVN > VPCs に移動し、Create VPC を選択します。以下の項目を入力します:
- Name — 論理ルーターの名前にもなります
- Initial subnet — CIDR表記(例:
10.50.0.0/24) - Initial router IP — そのサブネット内のゲートウェイアドレス(例:
10.50.0.1) - Enable DHCP — OVNがこのサブネット上でアドレスを自動配布するかどうか
VPCを作成すると、論理ルーター、サブネット用の論理スイッチ、両者を接続するルーターポート、および(指定した場合は)DHCPオプションが生成されます。これらはすべて個別のページでも確認できます。
VPC名はルーター名でもあるため、短く認識しやすい名前にしてください。Logical Routers ページやトポロジービューでもこの名前が表示されます。
サブネットの追加
1つのVPCに複数のサブネットを含めることができます。論理スイッチを作成し、VPCのルーターにそのサブネットのゲートウェイアドレスを保持するルーターポートを追加して、スイッチ側にそのポートを指す router タイプのポートを作成します。これにより、VPCのルーターを経由してサブネット間でトラフィックがルーティングされます。
通常、1つの論理スイッチは1つのサブネットを伝送します。1つのスイッチ上に2つのサブネットを配置すると同一ブロードキャストドメインを共有することになり、OVNのDHCPサーバーがそれらを区別できなくなります。
VPCの削除
VPCを削除すると、そのルーター、サブネットの論理スイッチ、およびそれらのDHCPオプションが一括して削除されるため、不要なリソースが残ることはありません。
いずれかのサブネットにまだワークロード(VMなど)がアタッチされている場合、Vaporは削除を拒否し、該当するワークロード名を提示します。先にそれらのワークロードを切断または削除してください。これは、実行中の仮想マシンの足元から突然ネットワークを奪い去ってしまう事故を防ぐための安全設計です。
DHCP
サブネットでDHCPが有効になっている場合、OVNはそのスイッチ上のポートからの要求に対して直接応答します。個別のDHCPサーバープロセスを実行したり、DHCPリレーを設定したりする必要はありません。
提供されるオプション(ゲートウェイ、DNSサーバー、リース期間)は、DHCP Options ページで編集できます。複数のDNSサーバーを指定する場合はカンマで区切ります:
8.8.8.8, 1.1.1.1ポートがリースを取得するには、OVNがそのポート用に記録しているMACアドレスと、マシンが実際に送信するMACアドレスが一致している必要があります。Vaporのインターフェースダイアログから仮想マシンをアタッチすると、これが自動的に処理されます。ポートを手動で作成する場合は、OVNにランダムに選択させるのではなく、マシンの実際のMACアドレスを指定してください。
仮想マシンのアタッチ
他のネットワークと同様の方法でOVNネットワークを接続できます。仮想マシンの作成時または既存マシンの編集時に、Add Network Interface ダイアログを開きます。
- デバイスタイプとして OVN を選択。
- リストから論理スイッチを選択。
- 固定IPを割り当てる場合を除き、自動DHCPを有効のままにする。
Vaporが論理スイッチポートを作成し、OVNとマシンが一致するようにMACを固定し、ホストの統合ブリッジ(br-int)にインターフェースを接続して、後で適切にクリーンアップできるようにポートにタグを付けます。インターフェースを削除すると、論理ポートも一緒に削除されます。
動作確認
仮想マシンの Network タブで、OVNインターフェースには所属する論理スイッチ、論理ポート、およびOVNによってポートがバインドされているかどうかが表示されます。プレーンなOVSブリッジに接続されたNICにはOVNの詳細は表示されませんが、これは正常な動作です。
ゲストOS内でインターフェースを起動し、アドレスを要求します。ポートに対してOVNが割り当てたIPアドレスが取得されるはずです。
マルチホームゲスト(複数インターフェースを持つゲスト)
複数のインターフェースを持つゲストOSでは、トラフィックがOVNインターフェースから送出されない場合があります。Linuxは最も低いメトリックを持つデフォルトルートを選択するため、別のインターフェース上の既存ルートが優先され、本来OVNネットワークを通過すべきトラフィックが別の場所へ流れてしまうことがあります。
ゲストに別のネットワークがある場合は、OVNのデフォルトルートに低いメトリックを設定するか、該当する宛先に対して明示的な静的ルートを追加してください。この設定ミスの症状は紛らわしく、ゲートウェイや同一サブネット内のホストとは通信できるのに、ルーティングされた外部とは一切通信できなくなります。
命名規則
ほとんどのOVNオブジェクトはハイフンを含む通常の文字を使用できますが、以下の2つは例外です:
- ポートグループ (Port groups)
- アドレスセット (Address sets)
これらの名前はファイアウォールルールの式に直接展開されるため、OVNはハイフン(-)を減算記号として解釈してしまいます。例えば web-servers というポートグループを作成すると、ルール自体は正常に保存されますが、実際には適用されません。必ずアンダースコア(_)を使用して web_servers のように命名してください。
Vaporは入力時にこのような名前を検知して拒否し、理由を表示します。名前は英字またはアンダースコアで始まり、英数字、アンダースコア、およびドットのみを含める必要があります。