【初心者向け】AWS VPCとは?7つの特徴と設定例を解説!

【初心者向け】AWS VPCとは?7つの特徴と設定例を解説!

髙橋 瑛博

フロントエンジニア/エンジニア歴1年11ヶ月/サバゲー部

AWSEC2やデータベースを作成するときにVPCを作るけど、そもそもVPCってなんだろう?特徴は?」今回はこんな疑問にお答えします。

VPC(Virtual Private Cloud)とは一言でいうと「クラウド上に作成することが出来る、作成者が自由にアクセスをコントロールすることが可能な空間」です。

この記事ではVPCで設定出来る主要な項目、料金、どういう風に使用するか、設定方法を分かりやすく解説していきます。

tiktokの配信を見る

1.AWS VPCとは?の7つの主な機能

先ほどVPCのことを「クラウド上に作成することが出来る、作成者が自由にアクセスをコントロールすることが可能な空間」と表現しました。具体例を出すと、「セキュリティ上の問題でデータペースサーバーをインターネットに接続したくない・・・」といった要件があったとします。

その場合はAWS RDS(データベース)をVPCの『プライベートサブネット』に設置することによってこの要件をクリアできます。このようにアプリやリソースとのネットワーク設定を設定出来るのがAWS VPCなのです。まずはそんなVPCで設定出来る7つの主な機能を解説します。

1-1.サブネット

サブネット(Subnet)とは、VPCで設定したIPアドレスを分割して作成するネットワーク空間です。例えば、ある会社に「IT部」という部署があったとします。このIT部の中にはさらに細かく「開発部門」「インフラ部門」「セキュリティ部門」といった感じで部門が分かれてます。この時、開発部門・インフラ部門といったIT部の中でさらに分けれたのがサブネットにあたります。

  • VPC=IT部といった大きなくくり
  • サブネット=IT部(VPC)をさらに区切った小さなくくり

という感じです。

また、サブネットはインターネットに接続が出来る・出来ないかで呼び名が変わります。

  • パブリックサブネット=インターネットに接続できるサブネット
  • プライベートサブネット=インターネットに接続できないサブネット

この二つの呼び方はVPCを学ぶ上で良く出てくるので、覚えておくと便利です。

1-2.ネットワーク ACL

ネットワークACL(ネットワークアクセスコントロールリスト)は一言でいうとファイアウォールです。サブネット単位で設定し、サブネットへのアクセスとサブネットから外部へのアクセスをコントロールすることが出来ます。

1-3.セキュリティグループ

セキュリティグループもファイアウォールの一種です。

ネットワークACLはサブネット単位で設定するのに対し、セキュリティグループはEC2RDSなどインスタンス単位で設定します。また、新規のセキュリティグループにはインバウンドルールが設定されていませんので、通信を許可するには新しくインバウンドルールを設定してあげる必要があります。なお、アウトバウンドルールにはすべてのアウトバウンドを許可するルールがデフォルトで設定されているため、セキュリティグループの中から外への通信は問題なくできます。

1-4.インターネットゲートウェイ

インターネットゲートウェイを使用することでVPCからインターネットへアクセスすることが出来ます。

1-5.NAT ゲートウェイ

インターネットから接続されたくないが、VPC内からインターネットに接続したい時に使用します。

例えば、RDS(データベース)で顧客データなど高いセキュリティが要求されるようなデータを保存している時、インターネットと接続出来ないようにプライベートサブネットにRDSを設定することが良くあります。

しかし、データベースのバージョンアップでどうしてもインターネットに接続したいといった要件の時にインターネットゲートウェイを使用します。

1-6.エンドポイント

サブネット内のインスタンスから他のAWSサービスに接続したいときに使用します。例えば、プライベートサブネット内のEC2からS3DynamoDBに接続したい時にエンドポイントを使用します。外部のインターネットを経由しなくても接続出来るため、高いセキュリティで接続することが可能です。

1-7.料金

AWS VPC自体には料金は発生しません。しかし、オプションの中には使用時間、転送容量によって課金が発生する場合があります。

課金が発生するオプション

NAT ゲートウェイ(東京リージョン)

 一時間あたり:0.062USD

 1 GBの処理データあたり:0.062USD

使用するリージョンによっても料金が変わりますので、詳細が知りたい方は以下のAWS公式サイトをご覧ください。

https://aws.amazon.com/jp/vpc/pricing/


2.VPCの設定例

用語の説明だけだとイメージがつきにくいので、構成図を用いて分かりやすく解説していきます。今回解説するパターンは以下の二つです。

  • NAT ゲートウェイを用いてDBからインターネットに接続する
  • 踏み台サーバを経由してプライベートサブネットに接続する

2-1.NAT ゲートウェイを用いてDBからインターネットに接続する

構成図

1-5.NAT ゲートウェイで紹介した使用例を構成図で書いてみました。使用例をおさらいすると、要件は以下の二つになります。

  1. データベースはセキュリティ観点でインターネットから接続してはいけない。
  2. しかし、データベースのアップデートがあるためデータベースからインターネットへのアクセスは必要

この要件を満たすためには上記のようにデータベースとインターネットをNAT ゲートウェイで仲介してあげる必要があります。このように構築すればインターネットからはデータベースにアクセス出来ず、データベースからインターネットにアクセスしようとした時のみ、インターネット通信をする事が出来ます。

2-2.踏み台サーバを経由してプライベートサブネットに接続する

インターネットからRDSに接続する方法

2-1では、RDSからインターネットに接続する方法を解説しました。今度は逆にインターネットからRDSに接続する方法を解説します。以下のようにVPCを構築していきます。

  1. 0.0.0.0/0(フルオープン)のインターネットゲートウェイを設置し、インターネットとの接続を可能にする。
  2. パブリックサブネットにHTTPS(443)ポートのインバウンドルールを許可したセキュリティグループを設定し、その中に踏み台用のEC2インスタンスを設置します。
  3. プライベートサブネットにMySQL(3306)ポートのインバウンドルールを許可したセキュリティーグループを設定し、その中にデータベースを設置します。

こうすることでインターネットから直接データベースへ接続することを防ぐことが出来ます。なお、この構成はAWSアソシエイトレベルのソリューションアーキテクトという資格試験で高確率で出題される構成です。


3.VPCの設定方法パブリックサブネットとプライベートサブネット

今回は試しにVPCウィザードというVPCの初期設定を簡単に設定出来る機能を使って、上記のようにパブリックサブネットとプライベートサブネットを作成していきます。

3-1.VPC設定画面へ移動

AWSコンソールにログインしたら、左上の検索窓を選択

AWSコンソールにログインしたら、左上の検索窓を選択。

3-2.VPCを選択

VPCを選択

検索窓にVPCと入力したら、候補に出て来た「VPC」をクリック。

3-3.VPCウィザードを起動

VPCウィザードを起動

VPCダッシュボードに移動したら、左上の「VPCウィザードを起動」をクリック。

3-4.VPCウィザードでの設定その1

VPCウィザードでの設定その1

以下のように設定していきます。

  1. 今回はパブリックサブネットとプライベートサブネットを作成するので、「VPC、サブネットなど」を選択
  2. 任意の名前を入力

3-5.VPCウィザードでの設定その2

VPCウィザードでの設定その2

アベイラビリティゾーンとサブネットを以下のように設定していきます。

  1. マルチAZ配置にするかどうかを設定
  2. 任意のアベイラビリティゾーンを選択
  3. 任意のパブリックサブネットの数を選択
  4. 任意のCIDRブロックを設定
  5. 任意のプライベートサブネット数を選択
  6. 任意のCIDRブロックを設定

3-6.VPCウィザードでの設定その3

VPCウィザードでの設定その3

NATゲートウェイとVPCエンドポイントを以下のように設定していきます。

  1. NATゲートウェイを設置する際はここで設定します。今回はなしを選択
  2. VPCエンドポイントを設置する際はここでS3ゲートウェイを設定します。今回はなしを選択
  3. 各設定が完了したら、VPCを作成をクリック

3-7.VPCウィザードでの設定完了

VPCウィザードでの設定完了

すべて成功になれば作成完了です!


4.まとめ

今回はEC2RDSを作成する際に避けては通れないAWS VPCについて解説しました。VPCはインターネットとの接続を管理する事が出来るとても大事なAWSサービスです。言葉だけで覚えようとしてもなかなか理解するのは難しいので、簡単な構成で良いので実際にVPCを構築してみるのがおすすめです。

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め定年まで働けるエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって、エンジニアとしてだけでなくビジネスパーソンとして高い水準を目指し、社会や顧客に必要とされることで、関わる人々に感動を与える集団であろうと思っています。

  • 定年までIT業界で働くためのスキルが身につく「感動大学」と「技術勉強会」!
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な「人事評価制度」!
  • 理想のエンジニア像に近づくためのよきアドバイザー「専任コーチ制度」!
  • 稼動確認の徹底により実現できる平均残業時間17時間の働きやすい環境!

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。

コメント

文系IT未経験歓迎!株式会社ボールドの 採用エントリー を受付中!
文系IT未経験歓迎!
株式会社ボールドの 採用エントリー を受付中!