2023-01-11 · 5

VPC・サブネット・インターネットゲートウェイ・ルートテーブル

cloudvpc

この記事は公開から2年以上経過しています。

VPN(Virtual Private Network)とは?

  • VPN は日本語で**「仮想プライベートネットワーク」です。名前の通り「仮想」**のプライベート網です。すでに構成されたネットワークを分け直したいとき、物理的に一つひとつ直すこともできますがお金と時間がかかるため、そこで VPN を利用して解決できます。
  • VPN は、複数のコンピュータをつなぐプライベートネットワークを作る際、一つひとつ電線で接続するとコストがかかり物理的な脆弱性もあるため、インターネット網と暗号化技術を利用して通信システムを構築することを指します。
  • また特殊目的のイントラネットを構築するとき、該当するコンピュータだけを専用線でつなぎ、第三者がアクセスできないようにもできます。

VPC(Virtual Private Cloud)とは?

Amazon Virtual Private Cloud(Amazon VPC)を利用すると、ユーザーが定義した仮想ネットワークで AWS リソースを起動できます。この仮想ネットワークは、AWS のスケーラブルなインフラを使えるという利点とともに、お客様自身のデータセンターで運用する従来のネットワークによく似ています。— Amazon 公式ドキュメント

上で説明した VPN 技術をクラウドに適用したのが VPC(Virtual Private Cloud)です。VPC は AWS クラウドで他の顧客と完全に論理的に隔離されたネットワーク空間を提供し、仮想ネットワークに AWS リソースを作るために使われるリソースです。

  • VPC はリージョンに従属し、AWS 内に隔離されたネットワークを作ります。
  • VPC の名前と IPv4 CIDR ブロックが必須です。
  • クラウドで生成するリソースは基本的に特定のネットワーク上に作られ、そこへアクセスするためのプライベート IP を持ちます。
  • これらのリソースは特定の VPC 上に作られます。したがって VPC の CIDR 範囲内で適切な IP 割り当てを受けます。
  • 1 つの VPC の最大サイズは /16 で、65,536 個の IP を使えます。
  • プライベートアドレス帯を使います。
    • 10.0.0.0 ~ 10.255.255.255(10/8 prefix)
    • 172.16.0.0 ~ 172.31.255.255(172.16/12 prefix)
    • 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix)
  • デフォルト VPC の CIDR は 172.31.0.0/16 です。

サブネット(Subnet)とは?

  • VPC を使うには Subnet が必ず必要です。
  • Subnet は VPC が指定した IP 範囲を小さく分割して使えるようにします。
  • サブネットの最大サイズは VPC の最大サイズと同じです。
  • 1 つの AZ に問題が起きてもサービス障害にならないよう、サブネットは最低 2 つ以上作ることを推奨します。

インターネットゲートウェイ(Internet Gateway)とは?

インターネットゲートウェイは水平スケーリングされ可用性の高い冗長な VPC コンポーネントで、VPC とインターネット間の通信を可能にします。
インターネットゲートウェイには、インターネットルーティング可能なトラフィックのために VPC ルートテーブルにターゲットを提供することと、パブリック IPv4 アドレスが割り当てられたインスタンスに NAT(ネットワークアドレス変換)を行うことの 2 つの目的があります。
インターネットゲートウェイは IPv4 と IPv6 のトラフィックをサポートします。ネットワークトラフィックに可用性リスクや帯域制約は発生しません。

  • Internet gateway は VPC でホスティングされるリソースとインターネット間の通信を可能にする AWS コンポーネントで、サブネット内の EC2 のようなリソースがインターネットに接続するために必ず必要です。
  • Internet Gateway は水平スケーラビリティと高可用性を持つコンポーネントで、ネットワーク帯域に制約がありません。
  • VPC 内でホスティングされるサービスが外部世界からアクセスされるためのチャネルの役割を果たし、あわせて AWS 内でホスティングされるリソースがインターネットに接続できるようにします。
  • つまり Internet Gateway は外部インターネットへ出るための通路の役割を担います。

ルートテーブル(Route Table)とは?

  • ルートテーブルはサブネットに関連付けられたリソースです。
  • サブネットがネットワークを使うとき、このルートテーブルを使って宛先を見つけます。
  • ルートテーブルはサブネットに関連付けられていますが、VPC 作成時に作られ VPC にも関連付けられています。
  • このルートテーブルは、VPC に属するサブネットを作るときデフォルトのルートテーブルとして使われます。
  • VPC の CIDR ブロックが宛先の場合は内部範囲で探します。
  • インターネットに接続したり他の VPC と通信したりするには、ルートテーブルにルート規則を追加定義する必要があります。

VPC の使い方

VPC の名前と IPv4 CIDR を適切に入力します。上の 10.0.0.0/16 の範囲は 10.0.0.0 ~ 10.0.255.255 までです。その後 Create VPC を押して作成します。

きちんと作成されたのが分かります。次に新しく作った VPC にチェックして右クリックし、Edit VPC Settings を押してください。そして DNS 関連のすべての設定のチェックを有効にしてください。

Save を押せば VPC の作成は完了です。次は Subnet に移ります。

デフォルトで作成された VPC が 1 つ存在するため、Subnets も 4 つあらかじめあるのが見えます。Create subnet を押してください。

上の写真に合わせて設定します。ソウルの ap-northeast-2a ゾーンに 10.0.32.0/20 を割り当てて作成しました。

きちんと作成されたのが確認できます。このように同じゾーンに Public 1 つ・Private 2 つずつ、2 ゾーン分作成します。

もう一方のゾーンは 2c で作りました。

最終結果は上の通りです。では Internet Gateway に入りましょう!

Create Internet gateway を押します。

名前を設定し、Create internet gateway をクリックして作成します。

その後 Actions -> Attach to VPC で Internet gateway を VPC にアタッチします。

これで作成した VPC はインターネットが使えるようになります。ではルーティングをしに行きましょう。Route table に入ってください!

Create route table を押します。

名前と正しい VPC を選択し、Create route table を押します。最初は public 同士をつなぐルーターを作ります。

上の写真の通りに public 2 つを選択して associations します。

宛先パケットが 10.0.0.0/16 以外のものはどこへ行くべきか設定する必要があります。0.0.0.0/0 のすべてのパケットが、先ほど作った Internet Gateway へ移動するよう設定します。その後それぞれの Private 用の route table を作ります。

最終結果です。public のルートには Internet Gateway へ行くものがありますが、残りのすべての private にはありません。そのため public だけインターネットが可能で、private はインターネットと相互作用できません。

ここまでやれば基本的な VPC の設定は完了です。


原文(韓国語): tistory — 2023-01-11 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。

コメント

コメントを削除しますか?

関連記事

VPC・サブネット・インターネットゲートウェイ・ルートテーブル · 나봄하랑