Amazon VPC編~Natインスタンスについてパート②~

こんにちは! JQです。

前回は『Amazon VPC編~Natインスタンスパート①~』ということで、AWS管理コンソールでNatインスタンスの構築をしてそれを確認するまでをお話しました。

今回は『Amazon VPC編~Natインスタンスについてパート②~』と題して、Natインスタンスのスクリプトを使って起動して、そのNatインスタンスにアクセスするまでを記述したいと思います。
っと、その前にAWSの更新情報をご紹介します。

今回AWS EC2 コンソールにTagsが新しく追加されました!
Tagsページを利用する事で、今までコンソールでは1つ1つ行うしかなかったタグの操作が1度で出来るようになったり、関連づけられたタグを基にEC2のリソースを閲覧したりする事が可能となります。
Tagでの管理がさらに簡単にできますね!

さらに詳しい情報がお知りになりたい方は、公式ブログの【AWS発表】EC2コンソールに新しいタグ管理ツールが追加をご覧下さい。

さて、ここから本題に入りまして、前回構築したVPCのNatインスタンスに実際に接続して確認していきたいと思います。

パート①ではテンプレートを利用して構築したNatインスタンスを確認するところまでを紹介しました。
今回は、簡単なスクリプトでインスタンスを立てて実際に接続確認をしていきましょう。

20130422_01_01

1. インスタンスの起動

まずはCommand Line Tool , AWS SDK ,WEB Consoleなど、自分が好きな物でPublicとPrivate双方にインスタンスを作成しましょう。

今回は分かりやすいよう、簡単なスクリプトを作成してみました。
指定したVPCの全てのSubnetにインスタンスを1つ立てるスクリプトになります。
※KeyとSecurityGroupがない場合は事前に作成をしましょう。

AWS管理コンソールから確認すると、以下のようにPublicとPrivateの両方に作成されました。

20130422_01_02

2. インスタンスの設定
※この手順2での設定については、AWS管理コンソールよりおこないます。

まずは、Public側のインスタンスにEIPを付与してアクセス出来るようにします。

20130422_01_03

ただ、このままでは接続は出来ないのでSecurityGroupの設定をします。

・Natインスタンスが所属するSecurityGroupではPrivateからのアクセスを許可します。
※検証の為の設定となります。
制御の設定は適宜変更して下さい。

Inbound :ALL:10.0.1.0/24
Outbound :ALL:0.0.0.0/0

20130422_01_04

・PublicのSecurityGroupには自社のIPからの22番ポート(SSH)を許可します。

Inbound :22:xxx.xxx.xxx.xxx/32
Outbound :ALL:0.0.0.0/0

20130422_01_05

・PrivateのSecurityGroupにはPublicからのアクセスを許可します。

Inbound :ALL:10.0.0.0/24
Outbound :ALL:0.0.0.0/0

20130422_01_06

3. それぞれにログインして確認

接続出来る環境が整ったので、PuTTYなどの接続ツールよりPublic・Private・Natのインスタンスに接続してみます。

まずはPublicのインスタンスに接続してみます。

問題なく接続出来ていますね。

次にPrivateに対してアクセスを行なってみます。
グローバルIPが無い為、Publicからローカルで接続してみます。

こちらも問題なく接続出来ました!
最後に今回の本題であるインターネットへの接続に関して試してみましょう。

tracerouteコマンドにて確認してみます。
※分かりやすいようにGoogleを宛先にしています。

Publicで叩いてみます。
Natインスタンスを通過せずにそのままインターネットに進んでいるのが分かります。

では、Privateで叩いてみます。
こちらでは1番初めの経路にNatインスタンス(ip-10-0-0-94.ap-northeast-1.compute.internal)を通過してインターネットに進んでいるのが分かります。

いかがでしたでしょうか?

NatインスタンスによってPrivateからインターネットにアクセスする模様が理解出来たかと思います。
今回のものは基本設定になりますので、要件などによってさらに詳細な設定を行うようにしましょう!

次回は『Amazon VPC編~Natインスタンスについてパート③~』ということで、
Natインスタンスの冗長構成に挑戦してみたいと思いますので、お楽しみに!

この記事を書いた人

aws-recipe-user