AWSのVPCでPrivate+Publicサブネット環境の構築

NO IMAGE

こんにちは、ヤマです。

ずっと気になっていた「AWS」、
仕事で調べる機会があり、ここ数日試行錯誤しながら環境を構築しました。

いまさら感がありますが、備忘録も兼ねて。

AWSはクラウド環境が超簡単に作れる上に、
公開されているAPIを組み合わせることで、超速で構築が可能です。

Private+Public環境に関しては、AWSのVPCメニューから
そのものずばりのメニューがあり、ほぼボタン1発で構築が可能です。
今回はVPCを理解するためにも、全て手動で構築することにしました。

PrivateサブネットとPublicサブネットの環境とは、
例えば公開用WEBサーバの後ろに、Privateな環境でDBサーバがある、などです。

VPCを作る

VPC → 「Create VPC」 を選択し新しいVPCを作ります。
VPCのネットワークのレンジは構築後は変更できません、「CIDR block:」は慎重に指定しましょう。
今回は「192.168.0.0/16」としました。

サブネットを作る

Public用とPrivate用のサブネットをそれぞれ作ります。
同じく、VPC → 「Subnets」 → 「Create Subnet」を選択して作ります。
「VPC」欄からは先ほど作ったVPCを選択します、

CIDRには、
Public用:192.168.0.0/24
Private用:192.168.1.0/24
を指定しました。

ゲートウェイを作る

「Internet Gateway」 → 「Create Internet Gateway」でゲートウェイを作ります。
作ったら先ほどのVPCにAttachします。

ルーティングテーブルを作る

VPCを作ると、デフォルトのルーティングテーブルが作られています。
今回はそれとは別に、Public用のテーブルを作りました。
「Route Tables」 → 「Create Route Table」を選択して作ります。

同様に、VPCには先ほどのVPCを選択して作ります。
作ったら「Route」タブにて実際のルーティングを指定します。
Public用なので、
Destination:0.0.0.0/0
を指定、
さらにTargetには、先ほど作ったゲートウェイを指定します。

また、「Subnet Associations」で、
Public用のサブネットに関連づけします。

これで9割方完成

実は、、、、ここまで来るのに試行錯誤しました。
ですが、一度出来るようになれば簡単です。
この工程を全て自動化もできるのでしょうか?今後チャレンジしてみます。

ここまでの工程で、作りたいVPCの9割方が完成していますので、
あとは、

  1. インスタンスを作る際に、ここで作ったVPCを選択し、どのサブネットに入れるかを決める
  2. PublicサブネットとPrivateサブネット間の通信(SSHとか)は、SecurityGroup、NetworkACLsで適切にポートと宛先を指定する、

などの工程に注意しながら進めればOK

実は2つ目で結構ハマリました。(汗

今後も新しい事が出来るようになりましたら、
少しずつ公開していこうと思います。

それでは、楽しいAWSライフを