Featured image of post 【仮想ネットワーク】AWS上に独自VPCを作ってみよう【AWSの土台】

【仮想ネットワーク】AWS上に独自VPCを作ってみよう【AWSの土台】

AWSでVPC(Virtual Private Cloud)を自分で作る手順。VPCの作成、サブネットの作成、インターネットゲートウェイの作成とアタッチ、ルートテーブルの作成とサブネット・ゲートウェイの関連付けまで♪

2545文字

VPCとは

What’s?

皆さんはVPCという言葉をご存知でしょうか?

サーバーサイドエンジニアやインフラエンジニアの方には馴染みがあると思いますが、やフロントサイドエンジニアやアプリエンジニアの方はピンとこないかもしれませんね。

VPCとはVirtual Private Cloudの略で、AWSアカウント専用の仮想ネットワークの事を指します。

似た言葉にVPNというものもありますが、あちらはVirtual Private Networkの略で少し意味が違います。

AWSが主流になりつつある

AWSはご存知の通り、クラウド環境にインフラを構築していくことが可能です。

Webシステムを開発する場合、近年ではAWSにインフラを構築するケースがデファクトスタンダードになってきています。

また、基本的にはAWSではEC2インスタンスを構築してWebシステムを稼働する形になると思います。

このEC2などのモジュールはAWS上のVPC内に構築されていくのですが、VPCの作成をしていないと、アカウントに最初から用意されているデフォルトVPC内に追加していくことになります。

しかし、カスタマイズ性細かいセキュリティを考えると、専用のVPC環境を作っておいたほうが良いです。

今回はVPC周りの作成作業をまとめてみましたので、作成手順をご紹介致します。

手順

[adsense]

VPCの作成

まずは土台となるVPCの作成を行います。

AWSのマネジメントコンソールにログインし、サービスメニューからネットワーク&コンテンツ配信>VPCを選択します。

次に、左部メニューVPCを選択し、VPCの作成ボタンをクリックします。

すると、VPCの作成ダイアログが表示されますので、名前タグ/IPv4 CIDRブロックを入力し、その他は初期値のままではい、作成するボタンをクリックします。

これでVPCの作成は出来ました。

サブネットの作成

次にサブネットを作成します。

サブネットとは、VPCに割り振ったIPをさらに細かく分割したものを指します。

各サブネットに紐付けたEC2を複数台構成しELBを挟むことで冗長構成などを実現することが可能になります。

今回はごく一般的な冗長構成を実現するための、publicprivateのサブネットをそれぞれ2つずつ作成をしてみます。

用途としては、publicサブネットはAPIやWebサイトなどの外部に公開するモジュールを乗せ、privateサブネットはDatabaseなどの外部に公開しないモジュールを乗せて使い分けを行います。

左部メニューサブネットを選択し、VPCの作成ボタンをクリックします。

すると、サブネットの作成ダイアログが表示されるので、任意の名前タグ/先ほど作成したVPC/任意のアベイラビリティゾーン/サブネットに割り符るIPv4 CIDR ブロックを入力の上、はい、作成するボタンをクリックします。

同じように、冗長構成用の2つ目のサブネットを作ってください。
その際に、アベイラビリティゾーンかぶらないように変えて作成しましょう。

public/private合わせて4つ作成したら、サブネットの作成は完了です。

インターネットゲートウェイの作成

次にインターネットゲートウェイを作成します。

こちらを作成して設定しないと、publicサブネット内のモジュールに外部ネットワークからの接続が出来ません。

また、privateサブネットには設定しないように気をつけましょう。
あくまで、privateサブネットはVPC内部からのみのアクセスに留めたいからです。

左部メニューインターネットゲートウェイを選択し、VPCの作成ボタンをクリックします。

すると、インターネットゲートウェイ作成画面に遷移するので、任意の名前タグを入力し作成ボタンをクリックします。

以下のような画面が表示されればインターネットゲートウェイの作成は完了なので閉じるボタンをクリックします。

VPCにアタッチ

作成されたインターネットゲートウェイは状態detachedになっていると思います。
ですので、先ほど作成したVPCにアタッチをしましょう。

作成したインターネットゲートウェイにチェックを入れ、アクションメニューからVPCにアタッチを選択します。

すると、VPCにアタッチ画面が表示されるので、作成したVPCを選択し、アタッチボタンをクリックします。

これでインターネットゲートウェイがVPCにアタッチされました。

ルートテーブルの作成

次にルートテーブルを作成します。

こちらもpublicとprivateの2つを作る必要があります。

左部メニュールートテーブルを選択し、ルートテーブルの作成ボタンをクリックします。

次に、ルートテーブルの作成ダイアログが表示されるので、任意の名前タグ/先ほど作成したVPCを選択し、はい、作成するボタンをクリックします。

これでルートテーブルの作成は完了です。

ルートテーブルとサブネットを関連付け

次に、ルートテーブルとサブネットを関連付けします。

作成したルートテーブルにチェックを入れ、サブネットの関連付けタブを選択し、編集ボタンをクリックします。

すると、作成済みのサブネットを選択することが可能なので、publicルートテーブルならpublicサブネット、privateルートテーブルならprivateサブネットをそれぞれ選択し、保存ボタンをクリックします。

これでルートテーブルとサブネットの関連付けは完了です。

ルートテーブルとインターネットゲートウェイの関連付け

次に、同様にルートテーブルとインターネットゲートウェイを紐付けます。

こちらは、publicのみインターネットに公開したいのでpublicのルートテーブルのみ行う作業となります。

作成したpublicルートテーブルにチェックを入れ、ルートタブを選択し、編集ボタンをクリックします。

次に、別のルートを追加ボタンを押すと、入力行が追加されるので、送信先0.0.0.0/0を入力し、ターゲット作成したインターネットゲートウェイを選択し、保存ボタンをクリックします。

これでルートテーブルとインターネットゲートウェイの関連付けは完了です。

終わりに

以上の作業で、AWSのVPC周りの下準備は完了しました。

次回はpublicサブネットとprivateサブネットにそれぞれEC2を構築し、踏み台サーバー経由で接続するところまでまとめようと思っています。

興味があれば、是非そちらも見て頂ければなと思います。