年別アーカイブ: 2012年

AWSでVPCを使ってみる

食わず嫌いで今までまったく触ってみなかったAWSのVPCを試してみた。 特に目的があるわけではないので、使える使えないは置いておいて、機能の調査を中心に進めてみる。 EC2インスタンスを作って、触れるようになるところまでを目標にしておこう。

VPCの作成

まずは1つVPCを作るところから始める。

メニューからVPCを選択すると、ダッシュボードの画面に移り、何も作成されていないことが分かる。 ここで”Get started creating a VPC”をクリックしてVPCを作成する。

Virtual Private Cloud Dashboard

次の画面でVPCのタイプを選択する。 まずはシンプル(そう)な”VPC with a Single Public Subnet Only”を選択してみる。

Public Subnet Only

IPアドレスなどの確認の画面に遷移する。

VPCとして大きなネットワーク(10.0.0.0/16)を確保しておき、その中に複数のサブネット(10.0.0.0/24など)を作ってゆくというアイディアのようだ。 特に問題はなさそうなので、デフォルト値を受け入れて進める。

Confirm VPC

これでVPCとサブネットを1つ作ることができた。 ダッシュボードのYour Virtual Private Cloudsの表示は次のように変わる。

VPC Created

VPCとSubnetは意識手作成しているので理解できるのだが、その他にもいくつかよくわからないものができている。

  • Network ACL
  • Internet Gateway
  • Route Tables
  • Security Group

このあたりは作業を進めながら調べて行くことにする。

EC2インスタンスの起動

EC2インスタンスを起動してみる。VPCを選ぶと、サブネットが選択できるようだ。 今の段階ではサブネットは1つしか作っていないので、当然一択。

Launch Instance

次の手順に進むと、ネットワーク周りの選択ができるようだ。

Network Configuration

見慣れないものの中で、一番上にあるのがネットワークインターフェースの数の選択。 そういえばいつだったかインターフェースを2つ持てるようになったとか、そんな話を聞いたことがあった気がする。

2つのインターフェースを持って、それぞれを別のサブネットにぶら下げることができるはず。 今回は1つでよいことにする。

さて残りの選択肢をどうするか。Network InterfaceはNew Interfaceしか選択肢がないのでそのままにしておこう。

Subnetも選択の余地なし。これはきっと1つ目のインターフェースだからであろう。

IP Addressはグレーアウトしてauto-assignと表示されているので、きっとこのままにしておけばDHCPで割り当てられるのだろう。

Secondary IP Addressesはポチポチと押してみるといくつかIPエイリアスのように割り振れるように見える。ここで割り当てても、きっとOS側のコントロールはまた別な気がするので、うまく同期しながら設定する必要があるのかな。プライベートなネットワークというのなら、そんなことをしなくてもすむようになっていてもよさそうだけれども。

ということで、ここはすべてデフォルト値を受け入れる。

そのあとは見慣れた手順なので気にせずに進める。 次に引っかかるところはSecurity Groupの作成部分。

Security Group

defaultもあるようなのだが、新しいSecurity Groupの作成の方が先に出てくる。普通のEC2インスタンスの時にこんなことがあったかな。

ココは深く考えずに、デフォルトの22/tcpの許可を受け入れておく。

立ち上がったインスタンスの情報を見てみると次の通り。

Instance Running

インスタンス名の部分を見ると、IPアドレスの表記(10.0.0.201)があるので、 IPアドレスは割り当てられているようだ。 しかし、Private DNSのところは空欄になっている。

また、Public DNSの部分も空欄になっている。これではsshでアクセスできない。

何かしら方法はあるはず。ドキュメントを読めばよいのだろうが、ここは勘に頼って進めてみる。

IPアドレスをつかさどっていそうなところはNetwork Interfacesの部分であろう。 eth0だけが表示されていて、ハイパーリンクになっているようだ。

ハイパーリンクの部分は置いておいて、NavigationのNetwork Interfacesの様子を見てみる。

Network Interface

どうやらここでネットワーク周りのコントロールをしているようだ。 とはいえ、Public DNSがどうにかなりそうな様子はない。 Public IPsという項目はあるが空になっている。

画面上部のメニューを見てみると、Associate Addressという項目があった。 きっとこれに違いない。選択してみる。

Associate Address

どう見てもここでNATの設定をするように見える。 しかし、Addressの部分がNo Addresses available。どこかでアドレスを設定しなければいけないようだ。

能動的にIPアドレスを設定するものと言ったら、Elastic IPくらいしか思いつかない。 1つ作ってみよう。 Allocate New Addessを選択すると次の画面。プルダウンはEC2かVPCを選べる。 当然今回はVPCを選択する。

もういちどNetwork InterfacesからAssociate Addressを実行してみる。

Associate Address Again

今度はアドレスを選択できるようだ。

これで、インスタンスにグローバルIPアドレスでアクセスできるようになった。

ずいぶん手間がかかるなというのが今のところの印象。 もちろん、VPCでなければできないこともあるだろうから、要件によっては使うこともあるだろうが、 無理に使う必要はないかな。