2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Kolla-ansible OpenStack(All-in-One) : インスタンスから直接外部ネットワークへ通信させるための設定方法

Last updated at Posted at 2022-02-12

はじめに

この記事では、OpenStack All-in-Oneマシン上で作成したインスタンスを、Routerを介さずに直接外部ネットワークへ通信させるための設定方法について記載します。

ある程度のネットワーク知識をお持ちの場合、わざわざOpenStack内に外部接続用のRouterを立てずにインスタンスから直接外部ネットワークへ通信できないものか・・と考える方もいらっしゃるかと思います。私も同じことを考えていました。
Kolla-ansibleを使ってOpenStackを作成する際、特定パラメータを設定することで実現可能でしたので、備忘として設定方法を残しておきたいと思います。

前提

前提として、ここで作成したAll-in-Oneマシンは検証などのテスト用途で作成したものであります。本番環境での利用を想定していないので、あくまで参考手順として利用下さい.

簡単ですが、作成環境は以下の通りです。
・サーバー(VM) : 12vCPU / 16GB Mem / 900GB HDD / 2vNIC (VMware ESXi6台上で作成)
・OS : ubuntu 20.4.3 LTS
・kolla-ansible : 13.1.0
・OpenStack Release : xena

手順

Kolla-ansibleでOpenStackのAll-in-Oneマシンを作成する際に設定が必要となるパラメータだけピックアップして記載します。
基本的な作成方法は、Kolla Ansible deploying OpenStack wallaby on Ubuntu 20.04 を参考として下さい。

1. globals.ymlへのパラメータセット

Kolla-ansibleでOpenStackを作成する前に、globals.ymlへ下記パラメータをセットしておきます。

enable_neutron_provider_networks: "yes"

(任意) ml2_conf.iniへのパラメータセット

vlanを使ってインスタンスが接続するネットワークセグメントを細かく指定したい場合 (=つまりOpenStackマシンのNICをtrunkポート化したい場合) Kolla-ansibleでのdeploy完了後にml2_conf.ini内へ必要パラメータをセットします。
冒頭の基本的な作成方法に従えば、対象ファイルは「/etc/kolla/neutron-server/ml2_conf.ini」に存在するはずです。
なお、OpenStackマシンのNICが接続されているスイッチのポートが「access」ポート設定となっている場合、この手順は不要です。

[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan,vlan

[ml2_type_vlan]
network_vlan_ranges = physnet1:[許可したいvlan番号の始まり]:[許可したいvlan番号の終わり]
※許可するVLAN番号の始まりと終わりについては、スイッチ側設定と完全一致 or スイッチ側設定に包含されるよう設定ください。

2.OpenStack上でネットワークを作成

OpenStack上でAdmin権限を持つユーザーにてネットワークを作成します。
※ここではGUIでの設定方法を記載します。

OpenStackへGUIでログイン後、左メニューの Admin -> Network -> Networks と辿り、「+Create Network」から新規ネットワークを作成します。設定内容は下図サンプルを参照ください。下図ではOpenStackマシンのNICがTrunkポートとなっていることが前提となりますが、Provider Network TypeとしてVLAN、Physical Networkとして物理NIC名(physnet1)、Segmentation IDとしてVLAN番号を指定しています。
OpenStackマシンのNICがAccessポートとなっている場合、Provider Network TypeとしてFLAT、Physical Networkとして物理NIC名(physnet1)が指定されていればよいはずです。
なお、External Networkのチェックボックスには必ずチェックを入れましょう。

1.jpg

最後に

公式の手順などを見ても、インスタンスを外部接続させるにはOpenStack内にRouterを作成するのがセオリーのようですが、インスタンスのネットワークパフォーマンスを高めたい場合は、今回のような方法を取るのがよいようです。ある程度ネットワークを知っている方の場合は、今回の設定の方がしっくりくるのではないかと思います。
この記事が、同じ悩みを持つ方の問題解消に役立てれば幸いです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?