1 初期状態のネットワークトポロジー
2 「ルーターの作成」を選択
3 仮想ルーター: Ext-Router を作成
4 作成された Ext-Router の 「ゲートウェイの設定」 を行う
5 外部ネットワーク Ext-Net を選択する。
6 ルーター作成後ののネットワークトポロジー
1 「ネットワークの作成」を選択
2 ネットワーク名: work-net
3 サブネット名: work-subnet ネットワークアドレス: 10.0.0.0/24 ゲートウェイIP: 10.0.0.254
4 DNSサーバー: 8.8.8.8 & 8.8.4.4
5 work-net が正常に作成された状態
6 Ext-Router を選択(リンクをクリック)
7 「インターフェースの追加」を選択
8 サムネット work-net 10.0.0.0/24 (work-subnet) を選択
9 正常にインターフェースが追加された状態
10 ネットワーク作成後のトポロジー図
1 「キーペアの作成」を選択します。
2 キーペア key-for-step-server を作成します。
3 作成したキーペアのダウンロードが自動的に行われます。このファイルを再取得できないので、わかりやすい場所に保存し、なくさないようにしてください。
4 作成したキーペアの確認
5 Linux/Macの場合は、鍵の権限設定を行ってください。
sampe command:
$ chmod 600 key-for-step-server.pem
1 「セキュリティグループの作成」を選択します。
2 セキュリティグループ sg-for-step-server を作成します。
3 セキュリティグループの作成に成功した状態。 sg-for-step-server 「ルールの編集」を選択します。
4 「ルールの追加」を選択
5 ルール: SSH CIDR 0.0.0.0/0 を追加します。
6 ルールの追加に成功した状態。
1 「インスタンスの起動」を選択します。
2 次項のパラメーターを入力
3 キーペア key-for-step-server セキュリティグループ: sg-for-step-server を選択
4 選択済みネットワークが work-net になっていることを確認。
5 サーバー起動時に実行するスクリプトを入力。入力内容は次項を参照。
カスタマイズ・スクリプト:
---------ここから--------- #!/bin/bash cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime yum install -q -y git cd /root git clone -q https://github.com/josug-book1-materials/install_cli.git cd install_cli && sh install.sh cat << EOF > /root/openrc # 以下を自分の環境に合わせて値を変えてください。 export OS_AUTH_URL=http://192.168.253.1:5000/v2.0/ export OS_REGION_NAME=regionOne export OS_TENANT_NAME=okinawaXX export OS_USERNAME=studentXX export OS_PASSWORD=your-password EOF echo "##### Userdata script completed #####" ---------ここまで---------
環境変数 OS_XXXX は、受講者個別の内容に変更が必要です。
6 起動に成功した状態。
7 リンク step-server を選択すると、起動ログの確認、コンソールへの接続が行えます。
1 仮想サーバーのメニューから「Floating IPの割り当て」を選択します。
2 まずは、「+」ボタンを選択し、割り当てるFloating IPを、管理者が作成した、 Ext-Net から取得します。
3 プール: Ext-Net からFloating IPを取得します。
4 確保されたIPアドレスを、 step-server へ割り当てます。
5 正常に割り当てられた状態。
実行例:
$ ssh -i key-for-step-server.pem root@xxx.xxx.xxx.xxx # ls -alF openrc -rw-r--r-- 1 root root 171 Dec 8 22:09 openrc
コマンドの実行:
# source openrc # nova list +--------------------------------------+-------------+--------+------------+-------------+--------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------+--------+------------+-------------+--------------------------------------+ | 703fb862-faa9-44c1-9654-54866e5226a5 | step-server | ACTIVE | - | Running | work-net=10.0.0.100, 192.168.253.114 | +--------------------------------------+-------------+--------+------------+-------------+--------------------------------------+
コマンド実行:
# neutron net-create dmz-net # neutron net-create app-net # neutron net-create dbs-net
コマンド実行:
# neutron subnet-create --ip-version 4 --gateway 192.168.0.254 --name dmz-subnet dmz-net 192.168.0.0/24 # neutron subnet-create --ip-version 4 --no-gateway --name app-subnet app-net 172.16.10.0/24 # neutron subnet-create --ip-version 4 --no-gateway --name dbs-subnet dbs-net 172.16.20.0/24 # neutron router-interface-add Ext-Router dmz-subnet
コマンド実行:
# neutron security-group-create sg-web-from-internet # neutron security-group-create sg-all-from-app-net # neutron security-group-create sg-all-from-dbs-net # neutron security-group-create sg-all-from-console
コマンド実行:
# neutron security-group-rule-create --ethertype IPv4 --protocol tcp \ --port-range-min 80 --port-range-max 80 --remote-ip-prefix 0.0.0.0/0 sg-web-from-internet # neutron security-group-rule-create --ethertype IPv4 --protocol tcp \ --port-range-min 443 --port-range-max 443 --remote-ip-prefix 0.0.0.0/0 sg-web-from-internet # neutron security-group-rule-create --ethertype IPv4 --protocol tcp \ --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 172.16.10.0/24 sg-all-from-app-net # neutron security-group-rule-create --ethertype IPv4 --protocol icmp \ --remote-ip-prefix 172.16.10.0/24 sg-all-from-app-net
コマンド実行:
# neutron security-group-rule-create --ethertype IPv4 --protocol tcp \ --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 172.16.20.0/24 sg-all-from-dbs-net # neutron security-group-rule-create --ethertype IPv4 --protocol icmp \ --remote-ip-prefix 172.16.20.0/24 sg-all-from-dbs-net # neutron security-group-rule-create --ethertype IPv4 --protocol tcp \ --port-range-min 1 --port-range-max 65535 --remote-ip-prefix 10.0.0.0/24 sg-all-from-console # neutron security-group-rule-create --ethertype IPv4 --protocol icmp \ --remote-ip-prefix 10.0.0.0/24 sg-all-from-console
コマンド実行:
# cd $HOME # nova keypair-add key-for-internal | tee key-for-internal.pem # chmod 600 key-for-internal.pem
コマンド実行:
# vi userdata_web.txt # vi userdata_app.txt # vi userdata_dbs.txt
userdata_web.txt:
---------ここから--------- #!/bin/bash cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime cd /root git clone -q https://github.com/josug-book1-materials/sample-app.git cd sample-app git checkout -b v1.0 remotes/origin/v1.0 sh /root/sample-app/server-setup/install_web.sh echo "##### Userdata script completed #####" ---------ここまで---------
userdata_app.txt:
---------ここから--------- #!/bin/bash cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime cd /root git clone -q https://github.com/josug-book1-materials/sample-app.git cd sample-app git checkout -b v1.0 remotes/origin/v1.0 sh /root/sample-app/server-setup/install_rest.sh echo "##### Userdata script completed #####" ---------ここまで---------
userdata_dbs.txt:
---------ここから--------- #!/bin/bash cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime cd /root git clone -q https://github.com/josug-book1-materials/sample-app.git cd sample-app git checkout -b v1.0 remotes/origin/v1.0 sh /root/sample-app/server-setup/install_db.sh echo "##### Userdata script completed #####" ---------ここまで---------
コマンド実行:
# function get_uuid () { cat - | grep " id " | awk '{print $4}'; } # export MY_DMZ_NET=`neutron net-show dmz-net | get_uuid` # export MY_APP_NET=`neutron net-show app-net | get_uuid` # export MY_DBS_NET=`neutron net-show dbs-net | get_uuid` # env |grep MY_ MY_DBS_NET=abecabfd-8922-4bf4-a6db-e732b99d847e MY_APP_NET=a420a85f-0949-4129-9b51-ffff5d56f64b MY_DMZ_NET=8f7ce3a4-c89f-44ef-85d6-9fbe900b4630
コマンド実行:
# nova boot --flavor standard.xsmall --image "centos-base" \ --key-name key-for-internal --user-data userdata_web.txt \ --security-groups sg-all-from-console,sg-web-from-internet,sg-all-from-app-net \ --availability-zone az1 --nic net-id=${MY_DMZ_NET} --nic net-id=${MY_APP_NET} \ web01 # nova boot --flavor standard.xsmall --image "centos-base" \ --key-name key-for-internal --user-data userdata_app.txt \ --security-groups sg-all-from-console,sg-all-from-app-net,sg-all-from-dbs-net \ --availability-zone az1 --nic net-id=${MY_DMZ_NET} --nic net-id=${MY_APP_NET} --nic net-id=${MY_DBS_NET} \ app01 # nova boot --flavor standard.xsmall --image "centos-base" \ --key-name key-for-internal --user-data userdata_dbs.txt \ --security-groups sg-all-from-console,sg-all-from-dbs-net \ --availability-zone az1 --nic net-id=${MY_DMZ_NET} --nic net-id=${MY_DBS_NET} \ dbs01
コマンド実行:
$ nova console-log --length 30 web01 $ nova console-log --length 30 app01 $ nova console-log --length 30 dbs01
コマンド実行:
# nova list +--------------------------------------+-------------+--------+------------+-------------+---------------------------------------------------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+-------------+--------+------------+-------------+---------------------------------------------------------------+ | 5f4087e8-30b4-487f-8bd1-c55d6308c4fd | app01 | ACTIVE | - | Running | dmz-net=192.168.0.3; app-net=172.16.10.3; dbs-net=172.16.20.3 | | 105fc9c9-dde3-4552-9bf9-b6203e028b9a | dbs01 | ACTIVE | - | Running | dmz-net=192.168.0.4; dbs-net=172.16.20.1 | | e7b50e85-6c0f-4f10-8d07-a58836e58796 | step-server | ACTIVE | - | Running | work-net=10.0.0.5, 15.126.218.215 | | c97d3326-8417-4e83-9b5d-aa1a976d83a5 | web01 | ACTIVE | - | Running | dmz-net=192.168.0.1; app-net=172.16.10.1 | +--------------------------------------+-------------+--------+------------+-------------+---------------------------------------------------------------+
APPサーバー:
# ssh -i key-for-internal.pem root@192.168.0.3 [root@app01 ~]# vi /root/sample-app/endpoint.conf
endpoint.conf:
[db-server] db_host = 172.16.20.1 db_endpoint = mysql://user:password@%(db_host)s/sample_bbs?charset=utf8
アプリケーションの起動:
[root@app01 ~]# sh /root/sample-app/server-setup/rest.init.sh start
WEBサーバー:
# ssh -i key-for-internal.pem root@192.168.0.1 [root@web01 ~]# vi /root/sample-app/endpoint.conf
endpoint.conf:
[rest-server] rest_host = 172.16.10.3 rest_endpoint = http://%(rest_host)s:5555/bbs
アプリケーションの起動:
[root@web01 ~]# sh /root/sample-app/server-setup/web.init.sh start
コマンド実行:
# nova floating-ip-create Ext-Net +---------------+-----------+----------+---------+ | Ip | Server Id | Fixed Ip | Pool | +---------------+-----------+----------+---------+ | 15.126.244.28 | | - | Ext-Net | +---------------+-----------+----------+---------+ # nova floating-ip-associate web01 15.126.244.28
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |