20131230_CloudStack Advent Calendar VPCを作ってみよう

2,032 views
1,852 views

Published on

2013年 CloudStack Advent Calendar の12月30日分です (・∀・) (http://atnd.org/events/45595)

NTTコミュニケーションズのクラウド・エヌとさくらクラウドを使って、CloudStackでVPC環境を簡単に構築する方法をご紹介します

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,032
On SlideShare
0
From Embeds
0
Number of Embeds
31
Actions
Shares
0
Downloads
26
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

20131230_CloudStack Advent Calendar VPCを作ってみよう

  1. 1. CloudStack Advent Calendar 2013 VPCを作ってみよう 2013/12/30
  2. 2. わたし 大削 緑/Midori Oge みろりん @star76popin ☆某SI会社 → 某通信事業者 → NTTコミュニケーションズで の開発を担当しています ☆こんな記事を書いてます オープンソースの「クラウド基盤ソフトウェア」を比較する【第1回】 機能を徹底比較! ∼Eucalyptus、CloudStack、OpenStack オープンソースの「クラウド基盤ソフトウェア」を比較する【第2回】 【徹底比較】Eucalyptus、CloudStack、OpenStackの仮想マシン性能 ☆いろんなユーザ会にいます @副会長
  3. 3. CloudStack実践ガイド インプレスR&D社より 絶賛発売中 前 編 1. 2. 3. 4. ! 後 編 5. 6. 7. 8. 9. CloudStackってなぁに? CloudStackのしくみ つくってみよう: CloudStackのインストール つかってみよう: CloudStackの基本操作 もっとつかってみよう1: APIでもっと便利 もっとつかってみよう2: 自分だけのテンプレートを作ろう もっとつかってみよう3: Virtual Private Cloud(VPC)を使おう あたらしい機能たち I♡CloudStack CloudStackの青本登場!
  4. 4. CloudStack ユーザ会 これまで 勉強会 ラジオ出演 AdventCalendar2012 翻訳会 19 11 その他イベント 回 読書会 1ヶ月で27の ブログ記事を公開 回 この他にも多数のイベントを予定しています
  5. 5. 今日のテーマ V・P・C! (・∀・)b
  6. 6. VPCってなぁに? ★VPCとは ユーザがCloudStack上に独自のクラウドを構築できる機能 CloudStack ユーザAのVPC サブネット … サブネット … ユーザBのVPC サブネット … サブネット … ・ユーザ側で使いたいIP空間(VPC) を作成できる ! ・VPCにユーザがサブネットを 切ることができる ! ・サブネット単位で アクセスリストが設定できる
  7. 7. VPCで何ができるの? ・別ロケーション(オンプレミスやデータセンタなど) とのハイブリッド環境を簡単に構築できる → VPCがユーザ環境の一部にみえるため、 社内システムやソフトウェアの移行が簡単に! → 既存の環境を、IPアドレス体系を変更することなく CloudStackに移行できる! ユーザ環境 VPC R
  8. 8. VPCで何ができるの? ・柔軟なネットワークの設定が可能 → サブネットワーク単位で外部からの アクセスコントロールが可能なため、 用途をわけられる! VPC サブネット1 ◯ Web http ◯ × サブネット2 一般ユーザ VPN ◯ Application/DB 開発担当者 ◯ ◯ VPN 運用担当者
  9. 9. 作ってみよう NTTコミュニケーションズの 「クラウド・エヌ Compute(VPCタイプ OpenNW)」※ を使って、簡単にVPC環境を構築してみましょう♪ ※ を基盤に採用しています
  10. 10. 基本的な構成 例えばこんな感じ! 擬似ローカル環境 VPC(VPC-test) Subnet1 192.168.0.0/16 172.16.200.0/24 DHCP 192.168.100.0/24 153.146.159.210 VM 192.168.100.72 Internet VPN GW VPN 133.242.48.93 Vyatta 172.16.200.10 VM HUB 172.16.200.50 CloudStack VPC とローカル環境のルータをVPNで接続! 2つのネットワークを繋いでみよう(^^♪
  11. 11. つくりかた 1. 2. 3. 4. 5. 6. 7. VPCを作成 サブネットを作成 インスタンスを作成 VPNゲートウェイを作成 VPNカスタマーゲートウェイを作成 VPN接続 接続確認
  12. 12. まずはローカル環境を 用意しよう
  13. 13. ローカル環境の用意 今回は、ローカルの擬似環境 として、さくらクラウドを 使用しました。 (VPNがはれるルータとサーバ があれば何でもOK!) ありがとう 桜葉愛ちゃん 擬似ローカル環境 172.16.200.0/24 DHCP 133.242.48.93 Vyatta 172.16.200.10 HUB VM 172.16.200.50 ・VM×2 - Vyatta6.5 + NIC追加 - Ubuntu12.04.3 ・仮想Switch ×1
  14. 14. ローカル環境の用意 さくらクラウドのコントロールパネル vyattaサーバを作ります Vyatta を選択
  15. 15. ローカル環境の用意 さくらクラウドのコントロールパネル
  16. 16. ローカル環境の用意 さくらクラウドのコントロールパネル 正常にvyattaサーバが作成されているのを確認し、 サーバをシャットダウンします
  17. 17. ローカル環境の用意 さくらクラウドのコントロールパネル サーバをシャットダウンしている間に、 スイッチを追加します。
  18. 18. ローカル環境の用意 さくらクラウドのコントロールパネル 停止したvyattaサーバで NICを追加します 「接続を編集」をクリック
  19. 19. ローカル環境の用意 さくらクラウドのコントロールパネル スイッチに接続します
  20. 20. ローカル環境の用意 さくらクラウドのコントロールパネル サーバを起動して、コンソール画面を表示します sshd を起動します
  21. 21. ローカル環境の用意 さくらクラウドのコントロールパネル 今度はVMを作ります
  22. 22. ローカル環境の用意 さくらクラウドのコントロールパネル 「スイッチに接続」を選択
  23. 23. ローカル環境の用意 Vyattaの設定 $ show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description -------------------- ----------- eth0 133.242.48.93/24 u/u eth1 u/u lo 127.0.0.1/8 u/u ::1/128 インタフェース の設定確認 ! $ configure # set interfaces ethernet eth1 address 172.16.200.10/24 eth1にアドレスを付与 ! $ show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description -------------------- ----------- eth0 133.242.48.93/24 u/u eth1 172.16.200.10/24 u/u lo 127.0.0.1/8 u/u ::1/128
  24. 24. ローカル環境の用意 Vyattaの設定 $ configure ! # # # # # # # DHCPサーバの設定 edit service dhcp-server shared-network-name m-private set subnet 172.16.200.0/24 default-router 172.16.200.10 set subnet 172.16.200.0/24 dns-server 133.242.0.3 set subnet 172.16.200.0/24 dns-server 133.242.0.4 set subnet 172.16.200.0/24 start 172.16.200.100 stop 172.16.200.200 set subnet 172.16.200.0/24 static-mapping server01 ip-address 172.16.200.50 set subnet 172.16.200.0/24 static-mapping server01 mac-address 9C:A3:BA:21:2D:BB ※ ! # exit ※コントロールパネルで設定済みの場合は省略可 MAC Addressはコントロールパネルから確認できます
  25. 25. ローカル環境の用意 Vyattaの設定 # set vpn ipsec ipsec-interfaces interface eth0 ! # # # # # # # set set set set set set set vpn vpn vpn vpn vpn vpn vpn ipsec ipsec ipsec ipsec ipsec ipsec ipsec ike-group ike-group ike-group ike-group ike-group ike-group ike-group IKE-POLICY IKE-POLICY IKE-POLICY IKE-POLICY IKE-POLICY IKE-POLICY IKE-POLICY lifetime proposal proposal proposal proposal proposal proposal '86400' 1 encryption 'aes256' 1 hash 'sha1' 1 dh-group '2' 2 encryption '3des' 2 hash 'md5' 2 dh-group '2' # # # # # set set set set set vpn vpn vpn vpn vpn ipsec ipsec ipsec ipsec ipsec esp-group esp-group esp-group esp-group esp-group ESP-POLICY ESP-POLICY ESP-POLICY ESP-POLICY ESP-POLICY lifetime proposal proposal proposal proposal '3600' 1 encryption 'aes256' 1 hash 'sha1' 2 encryption '3des' 2 hash 'md5' ! ! # commit # exit IKEグループの 設定 ESPグループの 設定
  26. 26. 1.VPCを作成 擬似ローカル環境 VPC(VPC-test) 192.168.0.0/16 172.16.200.0/24 DHCP 133.242.48.93 Vyatta HUB 172.16.200.10 Cloudnに「VPC-test」という名前のVPCを作成します (192.168.0.0/16) VM 172.16.200.50
  27. 27. 2.VPCを作成
  28. 28. 3.サブネットを作成 VPCが作成された
  29. 29. 3.サブネットを作成 擬似ローカル環境 VPC(VPC-test) Subnet1 192.168.0.0/16 172.16.200.0/24 DHCP 192.168.100.0/24 133.242.48.93 Vyatta 172.16.200.10 作成したVPCの中に、「Subnet1」という名前の サブネットワークを作ります(192.168.100.0/24) サブネットワークのアドレスレンジは、 VPCのCIDRの範囲内である必要があります HUB VM 172.16.200.50
  30. 30. 3.サブネットを作成
  31. 31. 4.インスタンスを作成 擬似ローカル環境 VPC(VPC-test) Subnet1 192.168.0.0/16 172.16.200.0/24 DHCP 192.168.100.0/24 133.242.48.93 VM 192.168.100.72 Vyatta 172.16.200.10 HUB VM 172.16.200.50 作成したサブネットワークの中に、インスタンスを作ります
  32. 32. 4.インスタンスを作成 クリック
  33. 33. 4.インスタンスを作成
  34. 34. 4.インスタンスを作成
  35. 35. 4.インスタンスを作成
  36. 36. 4.インスタンスを作成
  37. 37. 4.インスタンスを作成
  38. 38. 4.インスタンスを作成
  39. 39. 4.インスタンスを作成
  40. 40. 5.VPNゲートウェイを作成 擬似ローカル環境 VPC(VPC-test) Subnet1 192.168.0.0/16 172.16.200.0/24 DHCP 192.168.100.0/24 153.146.159.210 VM 192.168.100.72 133.242.48.93 VPN GW Vyatta 172.16.200.10 HUB VM 172.16.200.50 Cloudn側のVPNの終端となる「VPNゲートウェイ」を作成します
  41. 41. 5.VPNゲートウェイを作成 「SITE-TO-SITE VPNS」をクリック
  42. 42. 5.VPNゲートウェイを作成 VPNゲートウェイができた
  43. 43. 5.VPNゲートウェイを作成 Vyattaの設定 $ configure ! set set set set set set set vpn vpn vpn vpn vpn vpn vpn ipsec ipsec ipsec ipsec ipsec ipsec ipsec site-to-site site-to-site site-to-site site-to-site site-to-site site-to-site site-to-site peer peer peer peer peer peer peer 153.146.159.210 153.146.159.210 153.146.159.210 153.146.159.210 153.146.159.210 153.146.159.210 153.146.159.210 authentication mode pre-shared-secret authentication pre-shared-secret vpnkey ike-group IKE-POLICY default-esp-group ESP-POLICY local-address 133.242.48.93 tunnel 1 local prefix 172.16.200.0/24 tunnel 1 remote prefix 192.168.0.0/16 vyattaサーバにVPNの設定をします
  44. 44. 6.VPNカスタマーゲートウェイを作成 擬似ローカル環境 VPC(VPC-test) Subnet1 192.168.0.0/16 172.16.200.0/24 DHCP 192.168.100.0/24 153.146.159.210 VM 192.168.100.72 133.242.48.93 VPN GW Vyatta 172.16.200.10 HUB VM 172.16.200.50 ローカル側のVPN終端となる「VPNカスタマーゲートウェイ」を 設定します
  45. 45. 6.VPNカスタマーゲートウェイを作成 「VPNカスタマーゲートウェイ」をクリック 鍵共有アルゴリズムの強度は グループ2と5が使えます
  46. 46. 6.VPNカスタマーゲートウェイを作成 VPNカスタマーゲートウェイができた
  47. 47. 7.VPN接続 擬似ローカル環境 VPC(VPC-test) Subnet1 192.168.0.0/16 172.16.200.0/24 DHCP 192.168.100.0/24 153.146.159.210 VM 192.168.100.72 VPN GW Internet VPN Cloudn側からVPNをはります 133.242.48.93 Vyatta 172.16.200.10 HUB VM 172.16.200.50
  48. 48. 7.VPN接続 「SITE-TO-SITE VPNS」をクリック
  49. 49. 7.VPN接続 「VPN接続」をクリック
  50. 50. 7.VPN接続 VPN接続ができた
  51. 51. 8.接続確認 # run show vpn ike sa Peer ID / IP -----------153.146.159.210 ! ! ! State ----up Encrypt ------aes256 Hash ---sha1 Local ID / IP ------------- 133.242.48.93 D-H Grp ------2 # run show vpn ipsec sa Peer ID / IP -----------153.146.159.210 ! Tunnel -----1 State ----up Bytes Out/In ------------0.0/0.0 NAT-T ----no A-Time -----1028 L-Time ------ 86400 Local ID / IP ------------- 133.242.48.93 Encrypt ------aes256 Hash ---sha1 NAT-T ----no A-Time -----937 L-Time -----3600 Proto ----- all
  52. 52. 8.接続確認 vyatta→Cloudn $ ping -c 3 192.168.100.72 PING 192.168.100.72 (192.168.100.72) 56(84) bytes of data. 64 bytes from 192.168.100.72: icmp_req=1 ttl=62 time=22.9 ms 64 bytes from 192.168.100.72: icmp_req=2 ttl=62 time=22.3 ms 64 bytes from 192.168.100.72: icmp_req=3 ttl=62 time=22.1 ms ! --- 192.168.100.72 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 22.139/22.481/22.991/0.367 ms ! $ ssh cloudn@192.168.100.72 cloudn@192.168.100.72's password: Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-17-generic x86_64) ! ! ! ! ! * Documentation: https://help.ubuntu.com/ System information as of Mon Dec 30 21:08:08 JST 2013 System load: Usage of /: Memory usage: Swap usage: 0.07 8.3% of 12.51GB 2% 0% Processes: 70 Users logged in: 1 IP address for eth0: 192.168.100.72 Graph this data and manage this system at https://landscape.canonical.com/ Last login: Mon Dec 30 21:07:57 2013 from 172.16.200.50
  53. 53. 8.接続確認 Cloudn→ローカル $ ping -c 3 172.16.200.50 PING 172.16.200.50 (172.16.200.50) 56(84) bytes of data. 64 bytes from 172.16.200.50: icmp_req=1 ttl=62 time=22.5 ms 64 bytes from 172.16.200.50: icmp_req=2 ttl=62 time=22.1 ms 64 bytes from 172.16.200.50: icmp_req=3 ttl=62 time=22.2 ms ! --- 172.16.200.50 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 22.176/22.309/22.515/0.226 ms ! $ ssh ubuntu@172.16.200.50 ubuntu@172.16.200.50's password: Welcome to Ubuntu 12.04.3 LTS (GNU/Linux 3.8.0-29-generic x86_64) ! ! ! ! ! * Documentation: https://help.ubuntu.com/ System information as of Mon Dec 30 21:04:26 JST 2013 System load: Usage of /: Memory usage: Swap usage: 0.0 5.8% of 17.73GB 6% 0% Processes: 84 Users logged in: 1 IP address for eth0: 172.16.200.50 Graph this data and manage this system at https://landscape.canonical.com/ Last login: Mon Dec 30 21:03:57 2013 from 192.168.100.72
  54. 54. 応用例1 CloudnのVPNゲートウェイをHUBにするパターン 擬似ローカル環境 VPC(VPC-test) Subnet1 192.168.0.0/16 172.16.200.0/24 DHCP 192.168.100.0/24 153.146.159.210 VM VPN GW 133.242.48.93 VPN Vyatta Internet 192.168.100.72 VPN 172.16.200.10 133.242.54.62 Vyatta 172.16.210.10 HUB VM 172.16.200.50 172.16.210.0/24 DHCP VM 172.16.210.50 対地となる環境をもう1セット用意します (VMは同じものを使ってNICを足してもOK)
  55. 55. 応用例1 VPN接続 VPNカスタマーゲートウェイを作って VPN接続! VPN接続が できた
  56. 56. 応用例2 Cloudnで複数サブネットを持つ構成 VPC(VPC-test) Subnet1 192.168.0.0/16 192.168.100.0/24 153.146.160.108 R VM 192.168.100.72 ◯ Private ◯ Internet × 192.168.200.0/24 VM 192.168.200.4 柔軟なセキュリティ設定が可能 ※注意 2013年12月30日現在で は、CloudnにおいてACL のルール設定はできな い仕様となっています。 以下は、参考まで
  57. 57. 応用例2 Cloudnで複数サブネットを持つ構成 VPC(VPC-test) Subnet1 192.168.0.0/16 (1)Global IPの追加 192.168.100.0/24 153.146.160.108 VM 192.168.100.72 ◯ Private (2)ポート 転送 R ◯ Internet × 192.168.200.0/24 ACL※ VM 192.168.200.4 ※ACLは「Private」サブネットを作る前に 作成しておく必要があります あとでACLの変更はできない (ルールの追加削除は可能)ので注意! 柔軟なセキュリティ設定が可能
  58. 58. 応用例2 ※ACLの設定 「NETWORK ACL LISTS」をクリック
  59. 59. 応用例2 ※ACLの設定 「Add ACL LISTS」をクリック デフォルトでは「default_allow」「default_deny」の2つが用意されている ACLが追加された
  60. 60. 応用例2 ※ACLの設定 サブネット「Subnet1」のアドレスからくるパケット(Port22とICMP)のみ許可
  61. 61. 応用例2 Cloudnで複数サブネットを持つ構成 VPC(VPC-test) Subnet1 192.168.0.0/16 (1)Global IPの追加 192.168.100.0/24 153.146.160.108 VM 192.168.100.72 ◯ Private (2)ポート 転送 R ◯ Internet × 192.168.200.0/24 ACL※ VM 192.168.200.4 ※ACLは「Private」サブネットを作る前に 作成しておく必要があります あとでACLの変更はできない (ルールの追加削除は可能)ので注意! 柔軟なセキュリティ設定が可能
  62. 62. 応用例2 (1)Global IPの追加 「新しいIPアドレスの取得」 IPアドレスが追加された
  63. 63. 応用例2 (2)ポート転送 「構成」タブ
  64. 64. 応用例2 (2)ポート転送 ルールを追加する 例) →2222番ポートにきたパケットをVM「mvm-pri」の22番ポートに転送 →80番ポートにきたパケットをVM「mvm-pri2」の80番ポートに転送 など
  65. 65. 来年もどうぞよろしくね

×