Skip to content

Instantly share code, notes, and snippets.

@ytooyama
Created March 9, 2020 03:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ytooyama/2a1f0914270ec68f3ea9cde709d7847f to your computer and use it in GitHub Desktop.
Save ytooyama/2a1f0914270ec68f3ea9cde709d7847f to your computer and use it in GitHub Desktop.
OpenStack Neutron Network セットアップガイド
documentclass title date author toc output header-includes
ltjsarticle
OpenStack Neutronネットワーク作成
0.9.2 (2019/11/06)
日本仮想化技術株式会社
true
pdf_document
latex_engine keep_tex
lualatex
true
\usepackage[margin=1in]{geometry}

\clearpage

変更履歴

バージョン 更新日 更新内容
0.9.0 2019/05/09 初版
0.9.1 2019/05/23 第2版
0.9.2 2019/06/07 第3版

\clearpage

Jujuを使ったOpenStackのデプロイ

OpenStack Base などを使って、JujuでOpenStack環境をデプロイします。

OpenStack Train以前のバージョンを使う場合はOpenStack Base #61 の構成のBundleを使います。

Dashboardにアクセス

コントローラーノードとネットワーク的に接続されているマシンからブラウザで以下URLに接続して、OpenStack Dashboardのログイン画面が表示されるか確認します。

http://<DashboardのIPアドレス>/horizon/

※上記URLにアクセスしてログイン画面が表示され、ユーザーadminでログイン(パスワード:password)でログインできれば問題ありません。アクセスできない場合は、openstack-dashboardのExposeをOnにしたか確認します。

\clearpage

Externalネットワークの作成

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の設定

起動したインスタンスに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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment