zakihayaメモ

RubyとRailsのことが中心

AWS VPCでセグメントを分けてサーバを管理する

VPCとは

Amazon Virtual Private Cloud(Amazon VPC)で、アマゾン ウェブ サービス(AWSクラウドの論理的に分離したセクションを確保し、ここで、お客様が定義する仮想ネットワークで AWS リソースを起動することができます。独自の IP アドレスレンジの選択、サブネットの作成、ルートテーブル、ネットワークゲートウェイの設定など、仮想ネットワーク環境を完全にコントロールできます。

AWSの中に専用のネットワークが作れるようなイメージです。

今回は下のような構成で構築します。

f:id:zakihaya:20140503162727p:plain

VPCを作成する

1) AWSにログインし、VPCを選択する

f:id:zakihaya:20140503163008p:plain

2) Your VPCsをクリック → Create VPCをクリック

f:id:zakihaya:20140503163704p:plain

ここにもともとあるVPCは消してはいけないそう。
EC2のインスタンス等を作成する時にVPCを指定しないと、このデフォルトVPCに作成される。

3) VPCの名前とネットワーク全体を表すアドレスを入力して、Yes, Createをクリック

f:id:zakihaya:20140503164325p:plain

TenancyはDefaultを選択しておく。
Dedicatedにすると1つの物理マシンを専有できるが、高いらしい。

サブネットを作成する

1) Subnetsを選択 → Create Subnetをクリック

f:id:zakihaya:20140503164827p:plain

2) public subnetの情報を入力して、Yes, Createをクリック

f:id:zakihaya:20140503165221p:plain

AZはどこでもOK

3) 同様にprivate subnetを作成する

f:id:zakihaya:20140503165600p:plain

Internet Gatewayを作成する

1) Internet Gatewaysを選択 → Create Internet Gatewayをクリック

f:id:zakihaya:20140503170027p:plain

2) 名前を入力して、Yes, Createをクリック

f:id:zakihaya:20140503172309p:plain

3) 作成したInternet Gatewayを選択して、Attach to VPCをクリック
  → ダイアログが開いたら、Yes, Attachをクリック

f:id:zakihaya:20140503172511p:plain

Route Tableを作成する

Route Tableについて

サブネット間、サブネットとインターネット間の仮想的なルーティングテーブルのようなイメージ。
デフォルトで作成されているRoute TableはVPC内の通信のみ可能になっているので、そのままprivate subnetに利用する。public subnet用にはインターネットにできるRoute Tableを作成する。

public subnet用Route Tableの作成

1) Route Tablesを選択 → Create Route Tableをクリック

f:id:zakihaya:20140503175203p:plain

2) 名前を入力、VPCを選択してYes, Createをクリック

f:id:zakihaya:20140503175333p:plain

3) 作成したVPCを選択して、Editをクリック

f:id:zakihaya:20140503175457p:plain

4) Destinationに0.0.0.0/0、TargetにInternet Gatewayを選択して、Saveをクリック

f:id:zakihaya:20140503175555p:plain

5) Subnetsを選択 → public subnetのみにチェック → Route Table → Edit の順にクリック

f:id:zakihaya:20140503175953p:plain

6) 作成したpublic subnet用Route Tableを選択して、Saveをクリック

f:id:zakihaya:20140503180147p:plain


APサーバとDBサーバの構築はまた次回。。。