documentclass | title | date | author | toc | output | header-includes | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ltjsarticle |
OpenStack Neutronネットワーク作成 |
0.9.2 (2019/11/06) |
日本仮想化技術株式会社 |
true |
|
|
\clearpage
変更履歴
バージョン | 更新日 | 更新内容 |
---|---|---|
0.9.0 | 2019/05/09 | 初版 |
0.9.1 | 2019/05/23 | 第2版 |
0.9.2 | 2019/06/07 | 第3版 |
\clearpage
OpenStack Base などを使って、JujuでOpenStack環境をデプロイします。
OpenStack Train以前のバージョンを使う場合はOpenStack Base #61 の構成のBundleを使います。
コントローラーノードとネットワーク的に接続されているマシンからブラウザで以下URLに接続して、OpenStack Dashboardのログイン画面が表示されるか確認します。
http://<DashboardのIPアドレス>/horizon/
※上記URLにアクセスしてログイン画面が表示され、ユーザーadminでログイン(パスワード:password)でログインできれば問題ありません。アクセスできない場合は、openstack-dashboardのExposeをOnにしたか確認します。
\clearpage
OpenStack Dashboardにadminユーザーでログインして、Externalネットワークを作成します。 次のようにOpenStack Dashboardを操作して、Externalネットワークを作成してください。
(1) OpenStack Dashboardにadminユーザーでログイン (2) 「管理 > ネットワーク > ネットワーク」でExternalネットワークを作成
ネットワーク
項目 | 設定 |
---|---|
名前 | external-net |
プロジェクト | admin |
プロバイダネットワーク種別 | フラット |
物理ネットワーク | physnet1 |
管理状態有効 | チェックを入れる |
共有 | チェックを入れない |
外部ネットワーク | チェックを入れる |
サブネットの作成 | チェックを入れる |
(3) 「次へ」ボタンを押下
サブネット
external-netで定義するIPアドレス及びその範囲は、OpenStackが実際に接続する外部接続可能なネットワークセグメントを指定します。
項目 | 設定 |
---|---|
サブネット名 | external-subnet |
ネットワークアドレス | 172.20.0.0/16 |
IPバージョン | IPv4 |
ゲートウェイ | 172.20.0.1 |
(4) 「次へ」ボタンを押下
サブネットの詳細
項目 | 設定 |
---|---|
DHCP有効 | チェックを入れない |
IPアドレス割当プール | 172.20.1.100,172.20.1.200 |
IPアドレス割当プールはネットワークアドレスで定義したネットワーク範囲全てを割り当てても良い場合は定義する必要はありません。
(5) 「作成」ボタンを押下
\clearpage
OpenStack Dashboardにadminユーザーでログインして、インスタンスネットワークを作成します。
インスタンスネットワークはユーザーが作成したインスタンスを接続するネットワークです。外部からのアクセスは不可能ですが、同じインスタンスネットワーク上のインスタンスなどと通信が可能です。
インスタンスネットワークは管理者が共有ネットワークとして定義してユーザーに利用させることもできますが、多くの場合は各ユーザー毎にロールで定義した範囲でネットワークを自由に作成させることができます。
インスタンスネットワークとルーターを作成して、adminユーザーで作成したExternalネットワークと接続することにより、外から中への通信、つまり外部からインスタンスへのリモートアクセスなどが可能になります。
次のようにOpenStack Dashboardを操作して、インスタンスネットワークを作成してください。
(1) OpenStack Dashboardにadminユーザーでログイン (2) 「プロジェクト > ネットワーク > ネットワーク」でユーザーネットワークの作成
ネットワーク
項目 | 設定 |
---|---|
ネットワーク名 | user-net |
管理状態有効 | チェックを入れる |
サブネットの作成 | チェックを入れる |
(3) 「次へ」ボタンを押下
サブネット
項目 | 設定 |
---|---|
サブネット名 | user-subnet |
ネットワークアドレス | 192.168.0.0/24 |
IPバージョン | IPv4 |
ゲートウェイIP | 192.168.0.1 |
ゲートウェイなし | チェックを入れない |
\clearpage
(4) 「次へ」ボタンを押下
サブネットの詳細
項目 | 設定 |
---|---|
DHCP有効 | チェックを入れる |
IPアドレス割当プール | 未定義 |
DNSサーバー | 9.9.9.9 |
DNSサーバーを複数指定したい場合は1行毎に記述します。IPアドレス割当プールはネットワークアドレスで定義したネットワーク範囲全てを割り当てても良い場合は定義する必要はありません。
(5) 「作成」ボタンを押下
(6) 「プロジェクト > ネットワーク > ルーター」でルーターを作成
項目 | 設定 |
---|---|
ルーター名 | myrouter |
管理状態有効 | チェックを入れる |
SNAT有効 | チェックを入れる |
外部ネットワーク | external-net |
(7) 「プロジェクト > ネットワーク > ルーター」で作成した「myrouter」をクリックして、「user-net」側のインターフェイスを追加
項目 | 設定 |
---|---|
サブネット | user-net |
IPアドレス | 未定義 |
\clearpage
フレーバーはインスタンスに設定する性能を定義するものです。従来のバージョンでは自動生成されていましたが、Pike以降ではデフォルトでフレーバーは定義されていません。
(1) OpenStack Dashboardにadminユーザーでログイン (2) 「管理 > コンピュート > フレーバー」を選択 (3) 「フレーバーの作成」ボタンを押下 (4) フレーバー名、仮想CPU数、メモリー、ストレージサイズを定義 (5) 「フレーバーの作成」ボタンを押下
CirrOSを動かすだけであれば、1vCPU,64MBメモリー,1GBストレージあれば充分です。 Ubuntuを動かす場合は、1vCPU,1GBメモリー,4GBストレージ以上のスペックが必要です。
OpenStackの上で動かすインスタンスのファイアウォール設定は、セキュリティグループで行います。ログイン後、次の手順でセキュリティグループを設定できます。
(1) OpenStack Dashboardにadminユーザーでログイン (2) 「プロジェクト > コンピュート > ネットワーク > セキュリティーグループ」を選択 (3) 「ルールの管理」ボタンを押下 (4) 「ルールの追加」で許可するルールを定義 (5) 「追加」ボタンを押下
インスタンスに対してPingを実行したい場合はルールとしてすべてのICMPを、インスタンスにSSH接続したい場合はSSHをルールとしてセキュリティグループに追加してください。
セキュリティーグループは複数作成できます。作成したセキュリティーグループをインスタンスを起動する際に選択することで、セキュリティグループで定義したポートを解放したり、拒否したり、接続できるクライアントを制限することができます。
\clearpage
OpenStackではインスタンスへのアクセスはデフォルトで公開鍵認証方式で行います。次の手順でキーペアを作成できます。
(1) OpenStack Dashboardにadminユーザーでログイン (2) 「プロジェクト > コンピュート > キーペア」をクリック (3) 「キーペアの作成」ボタンを押下 (4) キーペア名を入力 (5) 「キーペアの作成」ボタンを押下 (6) キーペア(拡張子:pem)ファイルをダウンロード
既存のキーペアを使ってインスタンスにアクセスしたい場合は、キーペアのインポートを利用します。 catコマンドで所有する*.pubキーを標準出力して、その内容を貼り付けます。
前の手順でGlanceにCirrOSイメージを登録していますので、早速構築したOpenStack環境上でインスタンスを起動してみましょう。インスタンスの起動画面は、米印のついた項目が必須の設定です。
(1) OpenStack Dashboardにadminユーザーでログイン (2) 「プロジェクト > コンピュート > イメージ」をクリック (3) イメージ一覧から起動するOSイメージを選び、「インスタンスの起動」ボタンを押下 (4) インスタンス名、フレーバー、ネットワーク、セキュリティーグループ、キーペアなどを設定 (5) 最後に右下の「起動」ボタンを押下
初回起動時は少々時間がかかることがあります。
\clearpage
起動したインスタンスにFloating IPアドレスを設定することで、Dashboardのコンソール以外からインスタンスにアクセスできるようになります。インスタンスにFloating IPを割り当てるには次の手順で行います。
(1) OpenStack Dashboardにadminユーザーでログイン (2) 「プロジェクト > コンピュート > インスタンス」をクリック (3) インスタンスの一覧から割り当てるインスタンスをクリック (4) アクションメニューから「Floating IPの割り当て」をクリック (5) 「Floating IP割り当ての管理」画面のIPアドレスで「+」ボタンをクリック (6) 右下の「IPの確保」ボタンをクリック (7) 割り当てるIPアドレスとインスタンスを選択して右下の「割り当て」ボタンをクリック
Floating IPを割り当てて、かつセキュリティグループの設定を適切に行っていれば、リモートアクセスできるようになります。セキュリティーグループでSSHを許可した場合、端末からSSH接続が可能になります(下記は実行例)。
client$ ping -c4 instance-floating-ip
client$ ssh -i mykey.pem cloud-user@instance-floating-ip
その他、適切なポートを開放してインスタンスへのPingを許可したり、インスタンスでWebサーバーを起動して外部PCからアクセスしてみましょう。
\clearpage