Amazon EC2 Tips (3) ヤマハルーターをAmazon Virtual Private Cloud(VPC)に接続するための設定例 (Windows編)
VPCを試してみたので、そのテスト結果を記載します。
◆構成
・ルーター機種:RTX1100
・VPCの構成:シナリオ3 パブリック・プライベートサブネットとハードウェア VPN アクセスを持つVPC
(VPC with Public and Private Subnets and Hardware VPN Access)
EC2の仮想サーバーには、NICは1枚しか無い為、VPN接続したサーバーを外部に公開することはできません。
そこで、公開用サーバーと社内用サーバーの2台のサーバーをVPC内に作成し、外部に公開できる構成にします。
もちろん、2台のサーバーはセグメントは異なりますが、通信できます。
この状態だと、社内用サーバーは、インターネットへアクセスできません。これでは、ソフトウェアのアップデート等が出来ない為、かなり不便です。
そこで、3台目のサーバーとして、「NATインスタンス」を作成し、社内用のサーバーもインターネットへアクセスできるようにしてやります。
・かんたん構成図
◆設定の流れ
・VPC作成
・EC2作成
・Elastic IPの取得と割り当て
・RTX1100設定
・接続テスト
・NATインスタンス作成
・RouteTableの変更
・接続テスト
◆設定
1)VPC作成
AWS管理コンソールのVPCタブを開きます。
Get started creating a VPC ボタンをクリックします。
ここで、3番目のVPC with Public and Private Subnets and Hardware VPN Accessを選択し、Continueボタンをクリックします。
VPCと接続するヤマハルータのWAN側のIPアドレスを指定し、Continueボタンをクリックします。
VPCの設定情報が表示されるので、Create VPCボタンをクリックします。
VPC作成中の表示が出ます。
ルータの設定の雛形がダウンロードできます。このファイルを参考に、RTX1100のconfigを修正します。
設定ファイルの雛形が提供されているメーカーはヤマハを含めて4社のようです。(ヤマハルータを使ってて良かった...)
ここで、ヤマハを選択してファイルをダウンロードします。
これで、VPCの設定は終了です。
2)EC2作成
次は、VPCで立ち上げるサーバー2台を作成します。
EC2のインスタンスを作成する際に、好みのAMIを選択し、次の画面で、3番目のLaunch Instances Into Your Virtual Private Cloudを選択してやります。
その際、パブリックとプライベートの2つあるサブネットを選択できるようになっていますが、今回は、両方のサブネットに1づつのインスタンスを作成します。
画面コピーを忘れてしまったんですが、IPアドレスを各インスタンスに設定することができます。
次のステップで疎通確認できるように、IPアドレスを設定することをお勧めします。
例)公開用:10.0.0.200 プライベート用:10.0.1.200
3)Elastic IPの取得と割り当て
次は外部公開用のIPアドレスを取得して、外部公開用のEC2インスタンスに割り当てます。
IPアドレスを取得する際に、VPCを指定します。
Elastic IPは、EC2用とVPC用に用途が決まっているようです。
EC2を指定したElastic IPはVPC内のインスタンスには割り当てできません。
VPC用に取得したIPアドレスを、外部公開用のEC2インスタンスに割り当てます。
このタイミングで、EC2インスタンスのパスワードを取得し、インターネット経由で、公開用インスタンスにリモートデスクトップでアクセスできるか確認することをお勧めします。
公開用のインスタンスに入ったら、プライベート用インスタンスにもリモートデスクトップでアクセスできるか確認してしまいます。
プライベート用のインスタンスでは、インターネットへはアクセスできません。(IEか、ping yahoo.co.jp などで試してみてください)
この時点では、これが正常です。
この作業を行っておけば、VPC側の設定は、ほぼ大丈夫ですので、RTX1100側の設定に進みます。
4)RTX1100設定
ダウンロードした雛形をもとに、RTX1100に登録した設定内容を記載しますので参考にしてください。
詳しくはわかりませんが、雛形を見ると、2つのトンネルを登録する必要があるようです。
また、普通は「IP route 10.0.1.0/24 gateway tunnel 4」みたいにgatewayを指定するんですが、必要ないみたいで、その代わりにbgpの設定が必要みたいです。
tunnel select 4 ipsec tunnel 4 ipsec sa policy 4 4 esp aes-cbc sha-hmac ipsec ike duration ipsec-sa 4 3600 ipsec ike encryption 4 aes-cbc ipsec ike group 4 modp1024 ipsec ike hash 4 sha ipsec ike keepalive use 4 on dpd 10 3 ipsec ike local address 4 118.xxx.xxx.xxx ipsec ike pre-shared-key 4 text WI5oNAanxteVeQwHGePeUQm0R_Winqg4 ipsec ike remote address 4 27.0.1.16 ipsec ike pfs 4 on ipsec auto refresh 4 on ipsec tunnel outer df-bit clear ip tunnel address 169.254.252.2/30 ip tunnel remote address 169.254.252.1 ip tunnel tcp mss limit 1396 tunnel enable 4 tunnel select 5 ipsec tunnel 5 ipsec sa policy 5 5 esp aes-cbc sha-hmac ipsec ike duration ipsec-sa 5 3600 ipsec ike encryption 5 aes-cbc ipsec ike group 5 modp1024 ipsec ike hash 5 sha ipsec ike keepalive use 5 on dpd 10 3 ipsec ike local address 5 118.xxx.xxx.xxx ipsec ike pre-shared-key 5 text p4rcbpIac.fq1f60oOn1gULgIeVEBkc9 ipsec ike remote address 5 27.0.1.144 ipsec ike pfs 5 on ipsec auto refresh 5 on ipsec tunnel outer df-bit clear ip tunnel address 169.254.252.6/30 ip tunnel remote address 169.254.252.5 ip tunnel tcp mss limit 1396 tunnel enable 5 bgp use on bgp autonomous-system 65000 bgp neighbor 1 10124 169.254.252.1 hold-time=30 local-address=169.254.252.2 bgp neighbor 2 10124 169.254.252.5 hold-time=30 local-address=169.254.252.6 bgp import filter 1 equal 0.0.0.0/0 bgp import 10124 static filter 1 bgp configure refresh
5)接続テスト
RTX1100の設定を反映すると、VPN Connection が UP になります。
社内から各インスタンスにping、リモートデスクトップ接続を行ってみます。
社内用はOKで、公開用はNGとなります。この状態が正常です。
6)NATインスタンス作成
プライベート・サブネット内のインスタンスは、インターネットに直接アクセスできません。
そこで、公開用サブネット内に、NATインスタンスというAmazon提供のLinuxのサーバーを作成し、このサーバーを経由してインターネットにアクセスさせるようにできます。
公開用のサブネットにEC2インスタンスを作成します。
amazon/ami-vpc-natでAMIを検索すると、2つヒットしますが、私はamazon/ami-vpc-nat-1.0.0-beta.i386-ebsの方を試してみました。
VPC内に作成することを指定し、公開用のサブネットを指定し、インスタンスを作成します。
LOGINする必要はなく、作りっぱなしてOKのようです。
出来上がったインスタンスを選択して Source / Dest Check をDisabledにします。
これをおこなうと、次のRouteTableの設定の際に、パケット転送先としてNATインスタンスを指定できるようになります。
そして、Elastic IPを取得して、割り当てます。外部と通信するためには、必須です。
7)RouteTableの変更
RouteTableは2個作成されています。そのうちのvgw-xxxxxxxx(バーチャル・プライベートゲートウェイ)が指定されているのが、プライベートサブネット用のRoute Table(ルーティングの設定)になります。
この設定を変更して、インターネット向けのパケットをNATインスタンスに転送できれば、社内用のサーバーは、インターネットにアクセスできるようになります。
実際の設定ですが、vgw-xxxxxxxx向けのアドレスが0.0.0.0/0になっていますが、これを社内ネットワークのアドレスに変更します。
私の環境では192.168.xxx.xxxを使っているので、192.168.0.0/16を指定しました。
それ以外のパケットは、インターネット向けですので、0.0.0.0/0 を i-xxxxxxx(NATインスタンス)を指定してやります。
8)接続テスト
社内用のサーバーから、インターネットへアクセスできるか、IEかPing yahoo.co.jpなどで試します。
これで、シナリオ3での構成は完了です。
忘れてましたが、セキュリティ・グループについては一切触れませんでしたが、私の場合、全てDefaultを指定しました。
http(80)以外は通さないなどの制限を加えたいときは、新規のセキュリティ・グループを作成し、EC2インスタンスでセキュリティ・グループの変更を行えば、反映できますので、お試しください。
本当なら、VPN接続で使用できて、NIC 2枚挿しの仮想サーバーが1台あれば良いのですが、結果的に3台も借りないといけなくなってしまいました。VPCの場合、マイクロタイプのインスタンスは作成できないので、最少でもスモールタイプになってしまいます。3台を常時稼働させると、スモールの場合、月259.2ドル、約2万円。月2万出すんなら、NTT-COM、IBMのクラウドの方が安いかも。(カタログしか見てませんので、間違ったらごめんなさい)
転送スピードや、課金などについて整理したらまた、記載したいと思います。
つづく...