ネットワークからみるPCC 2015-08-26 寺内康之 自己紹介 名前:寺内康之 元ネットワーク屋からインフラ屋になり、今は プログラマを目指したい。 今後、PCCの開発・発展の推進をしていくこと になりまして・・・ Agenda • PCCに関わるモノたち • OpenVPNを使うか使わなないか • PCCと仮想マシン • 接続形態とプラットフォーム • プラットフォームにおけるネットワーク情報 • 宛先IPと設定 • PCCとZabbixと私 • 管理端末とPCC • まとめ PCCに関わるモノたち •PCC本体 •Dynamic DNS •Zabbix •OpenVPN •各種IaaS •管理端末 OpenVPNを使うか使わないか 1/3 AWSならば somewhere PrimeCloud Controller OpenVPN Private IP Global IP OpenVPN Network Internet Private IP Global IP Global IP Private IP PCC管理対象 VM PCC管理対象 VM Classic EC2 Default VPC /グローバルIPを持つVPC direct connect/ site to site VPN/ peering Private IP PCC管理対象 VM VPC OpenVPNを使うか使わないか 2/3 Azureならば somewhere PrimeCloud Controller OpenVPN Global IP Private IP VPN GW OpenVPN Network Internet VPN GW Private IP Global IP PCC管理対象 VM Private IP PCC管理対象 VM OpenVPNを使うか使わないか 3/3 Platform A OpenVPN Global IP PrimeCloud Controller PCC管理対象 VM Private IP VPN GW OpenVPN Internet private網 Site to Site VPN VPN GW Private IP Global IP PCC管理対象 VM Platform B Private IP PCC管理対象 VM Platform C Private IP PCC管理対象 VM Platform D 接続形態とプラットフォーム • グローバルIPアドレスならOpenVPN • プライベートIPアドレスなら直接接続 • Platformを登録するときに接続形態を 指定 • 1bitで表現できる • Platformテーブルのinternalカラム 接続形態とプラットフォーム 【Classic EC2プラットフォームの登録】 pcc add platform --iaasName aws --platformName aws_Tokyo --platformNameDisp 'Amazon EC2(Tokyo)‘ --platformSimpleDisp 'Amazon EC2(Tokyo)‘ --endpoint https ://ap-northeast-1.amazonaws.com --region NORTHEAST 【VPCプラットフォームの登録】 pcc add platform --iaasName aws --platformName aws_vpc_Tokyo --platformNameDisp 'Amazon EC2 VPC(Tokyo)‘ --platformSimpleDisp 'Amazon EC2 VPC(Tokyo)‘ --internal 1 --endpoint https://ap-northeast-1.amazonaws.com --region NORTHEAST --vpcid vpc-xxxxx プライベートIPでの接続のと きはinternalフラグを1にして プラットフォームを登録する 【default VPCプラットフォームの登録】 pcc add platform --iaasName aws --platformName aws_defvpc_Tokyo --platformNameDisp 'Amazon EC2 DefVPC(Tokyo)‘ --platformSimpleDisp 'Amazon EC2 DefaultVPC(Tokyo)‘ --endpoint https://ap-northeast-1.amazonaws.com --region NORTHEAST --vpcid vpc-xxxxxx 接続形態とプラットフォーム プライベートIPでの接続のときはinternalフラグ を1にしてプラットフォームを作成する mysql> use adc; Database changed mysql> select * from PLATFORM; +-------------+---------------+---| PLATFORM_NO | PLATFORM_NAME | PLA +-------------+---------------+---| 1 | ec2_tokyo | Ama | 2 | aws_vpc_tokyo | Ama +-------------+---------------+---2 rows in set (0.00 sec) ----+----------+-------+---------------+------------+ ISP | INTERNAL | PROXY | PLATFORM_TYPE | SELECTABLE | ----+----------+-------+---------------+------------+ | 0 | 0 | aws | 1 | | 1 | 0 | aws | 1 | ----+----------+-------+---------------+------------+ 宛先IPと設定 Platform A PrimeCloud Controller Global IP PCC管理対象 VM1 Private IP OpenVPN Global IP Private IP PCC管理対象 VM2 Platform B VM1からみたPCCサーバとVM2か らみたPCCサーバのIPアドレス は? VM1とVM2の各種サーバの宛先指 定を分けなければいけない? 宛先IPと設定 Platform A PrimeCloud Controller Global IP Tunnel IP PCC管理対象 VM1 Private IP OpenVPN Tunnel IP Global IP Platform AがIaaSだと、PCCの private IPは変わる Private IP PCC管理対象 VM2 Platform B OpenVPNのトンネルインターフェ ースは設定で固定可能 VM1からでもIP到達性あり 宛先IPと設定 OpenVPN設定ファイル [pcc@root:openvpn]# cat /etc/openvpn/server.conf (中略) # Configure server mode and supply a VPN subnet # for OpenVPN to draw client addresses from. # The server will take 10.8.0.1 for itself, # the rest will be made available to clients. # Each client will be able to reach the server # on 10.8.0.1. Comment this line out if you are # ethernet bridging. See the man page for more info. ;server 10.8.0.0 255.255.255.0 server 172.16.2.0 255.255.255.0 VPN上のサブネット (後略) 宛先IPと設定 PCC設定ファイル [pcc@root:conf]# cat /opt/adc/conf/config.properties (中略) # Script script.server = 172.16.2.1 # DNS dns.server = 172.16.2.1 #dns.server2 = dns.domain = primecloud.jp dns.timeToLive = 3600 dns.reverseEnabled = true # VPN vpn.server = 52.69.42.123 vpn.port = 1197 (後略) VMが起動シェルスクリプトを取ってくる元サーバ PCCのOpenVPNトンネルインターフェース VMが参照するDynamic DNS PCCのOpenVPNトンネルインターフェース VMがVPNを張る先のOpenVPNサーバ PCCのグローバルIPアドレス PCCとZabbixと私 PCCとZabbix同居の通信パターン Platform A Zabbix Global IP Tunnel IP PrimeCloud Controller PCC管理対象 Agent VM1 Private IP 閉域網 OpenVPN Internet Tunnel IP Global IP 管理端末B Private IP PCC管理対象 VM2 Agent Platform B 管理端末A PCCとZabbixと私 PCCとZabbix別居の通信パターン Platform Bへの Platform A 経路追加 PrimeCloud Controller Zabbix Global IP Tunnel IP PCC管理対象 Agent VM1 管理端末B Private IP 閉域網 Internet Tunnel IP Global IP Private IP PCC管理対象 VM2 Agent Platform B 管理端末A PCCとZabbixと私 PCC設定ファイル [pcc@root:conf]# cat /opt/adc/conf/config.properties (中略) PCCがZabbix APIを呼ぶendpoint URL 同居の場合は、localhostか、自分の OpenVPNトンネルインターフェース # Zabbix zabbix.useZabbix = true zabbix.url = http://172.16.2.1/zabbix/ zabbix.display = http://52.69.42.123/zabbix/ 管理端末からみたZabbix GUI URL zabbix.server = 172.16.2.1 アクセス経路を考慮して決定 (後略) VMからみたZabbix Agentの接続先 PCCのOpenVPNトンネルインターフェース まとめ プライベートなネットワークとグローバルなネットワ ークが混在したいろいろな環境を、ひっくるめて管理 するための工夫 プライベートNWとグローバルNWの仮想マシンから、 PCCを同じに見せる PCC、Zabbix、仮想マシン、管理端末の接続の仕方 も多岐にわたり柔軟な設定が可能
© Copyright 2024 ExpyDoc