📡

【VPC】AWS VPC完全ガイド: 知識ゼロから学ぶネットワークの基礎

2024/08/07に公開

おはこんばんにちは!

今日は、AWSの VPC(Virtual Private Cloud) についてお話ししようと思います。
AWSを使ったことがなくても、VPCが何なのかを知ると、クラウドのネットワーク管理がもっと身近に感じられるようになりますよ。
難しそうに見えるかもしれませんが、優しく解説していきますので、安心してくださいね。


VPCとは?

まずは「VPC」って何なのか、から始めましょうね。
VPCは 「Virtual Private Cloud」 の略で、日本語にすると 「仮想プライベートクラウド」 となります。
ちょっと難しい言葉が並んでいますが、要するにAWS上に自分だけの専用ネットワークを作ることができるサービスなんです。

VPCの基本イメージ

イメージとしては、自分だけの「仮想的なデータセンター」 をAWSのクラウド上に作る感じです。
このネットワークの中で、サーバーやデータベースなどのリソースを自由に配置し、管理することができます。


VPCの基本要素

VPCを理解するためには、いくつかの基本要素を知っておく必要があります。
それぞれの要素がどのように機能するのかを見ていきましょう。

サブネット

サブネットは、VPCの中でネットワークをさらに細分化するためのものです。
サブネットを使うことで、異なる種類のリソース(例えば、公開用内部用)を分けて管理することができます。

サブネットの種類

  • パブリックサブネット :
    インターネットと直接通信できるサブネットです。一般的には、ウェブサーバーなどインターネットに公開したいリソースを配置します。

  • プライベートサブネット :
    インターネットとの通信ができないサブネットです。データベースサーバーなど、内部で使用するリソースを配置します。

サブネットについて、更に詳しく知りたい方はコチラ👇

https://zenn.dev/yukun369/articles/dde9d96cb1ffed

インターネットゲートウェイ

インターネットゲートウェイは、VPC内のリソースがインターネットと通信するためのゲートウェイです。
インターネットゲートウェイをVPCに接続することで、パブリックサブネット内のリソースがインターネットにアクセスできるようになります。

インターネットゲートウェイについて、更に詳しく知りたい方はコチラ👇

https://zenn.dev/yukun369/articles/0703765388c70c

ルートテーブル

ルートテーブルは、VPC内のトラフィックがどのようにルーティングされるかを決めるための設定です。
ルートテーブルを使って、どのサブネットやインターネットゲートウェイにトラフィックを送るかを定義します。

ルートテーブルの設定例

  • 0.0.0.0/0 : この設定は、全てのインターネットトラフィックをインターネットゲートウェイにルーティングします。

  • 10.0.0.0/16 : VPC内のトラフィックは、内部のリソースにルーティングします。

ルートテーブルについて、更に詳しく知りたい方はコチラ👇

https://zenn.dev/yukun369/articles/b3eafe886e17e2

セキュリティグループ と ネットワークACL

セキュリティグループとネットワークACLは、VPC内のリソースへのアクセスを制御するためのものです。

セキュリティグループ

セキュリティグループは、EC2インスタンスなどのリソースに対するファイアウォールの役割を果たします。
どのIPアドレスやポートからのアクセスを許可するかを設定できます。

ネットワークACL

ネットワークACL(Access Control List) は、サブネット単位でトラフィックを制御します。
セキュリティグループよりも広い範囲で制御を行いますが、個別のリソースには対応しません。

セキュリティグループ と ネットワークACL について、更に詳しく知りたい方はコチラ👇

https://zenn.dev/yukun369/articles/9e8a243218e1e1

NATゲートウェイ

NATゲートウェイは、プライベートサブネット内のリソースがインターネットにアクセスできるようにするためのものです。
プライベートサブネットのリソースが外部にデータを送信するためには、NATゲートウェイを通します。

NATゲートウェイについて、更に詳しく知りたい方はコチラ👇

https://zenn.dev/yukun369/articles/7c629bb56dc450


VPCの設計方法

VPCを設計する際には、いくつかのポイントを考慮する必要があります。
以下に、基本的な設計方法を紹介します。

ネットワークの範囲を決める

まずは、VPCのネットワーク範囲を決めましょう。
これは、VPC内で使用するIPアドレスの範囲を指定することです。
例えば、「10.0.0.0/16」という範囲を指定すると、10.0.0.0から10.0.255.255までのIPアドレスを使用できるようになります。

IPアドレスとは? と思った方はこちら👇

https://zenn.dev/yukun369/articles/385408ad790754

サブネットの配置

次に、サブネットの配置を考えます。
パブリックサブネットとプライベートサブネットをどう分けるか、どのアベイラビリティゾーンに配置するかを決めます。
これにより、リソースの可用性やセキュリティを確保します。

セキュリティの考慮

セキュリティは非常に重要です。
セキュリティグループとネットワークACLを設定して、リソースへの不正アクセスを防ぎましょう。
また、必要に応じてVPNやDirect Connectを利用して、オンプレミス環境とセキュアに接続することも考慮します。


VPCと他のAWSサービスの連携

AWSのVPCは、他のAWSサービスと連携することで、より多くの機能を活用できます。
ここでは、いくつかの主要なサービスとの連携について説明します。

EC2インスタンスとの接続

EC2(Elastic Compute Cloud)は、AWSの仮想サーバーです。VPCを使用して、EC2インスタンスをデプロイする際には、以下のような設定が必要です。

  • サブネット選択 : EC2インスタンスをどのサブネットに配置するか決めます。パブリックサブネットに配置することで、インターネットからアクセス可能なインスタンスを作成できます。

  • セキュリティグループ設定 : セキュリティグループでインスタンスへのアクセスを制御します。例えば、ポート80(HTTP)やポート22(SSH)を開放することで、ウェブサーバーやリモート管理が可能になります。

  • パブリックIPアドレス : インターネットからアクセスするためには、パブリックIPアドレスを割り当てる必要があります。これにより、EC2インスタンスがインターネットと通信できるようになります。

RDSとの接続

RDS(Relational Database Service)は、AWSのデータベースサービスです。VPC内にRDSインスタンスを配置することで、アプリケーションとデータベースをセキュアに接続できます。

  • プライベートサブネット : データベースインスタンスは通常、プライベートサブネットに配置します。これにより、インターネットから直接アクセスできなくなり、セキュリティが向上します。

  • セキュリティグループ設定 : データベースインスタンスへのアクセスは、セキュリティグループを使って制御します。アプリケーションサーバーのセキュリティグループからのアクセスを許可する設定を行います。

  • パラメータグループ : RDSのパラメータグループを使って、データベースの設定をカスタマイズします。例えば、接続数の制限やバックアップの設定などがあります。


VPCの設定と管理

VPCの設定は少し複雑に思えるかもしれませんが、AWSの管理コンソールやCLIを使うことで、簡単に設定することができます。
以下に、基本的な設定手順を説明します。

VPCの作成

  1. AWS管理コンソールにログイン : AWSの管理コンソールにログインします。

  2. VPCダッシュボードに移動 : 「VPC」を選択し、「VPCダッシュボード」に移動します。

  3. VPCの作成 : 「VPCの作成」ボタンをクリックし、ネットワーク範囲(CIDRブロック)を指定します。例えば「10.0.0.0/16」など。

  4. サブネットの作成 : VPC内にサブネットを作成します。パブリックサブネットやプライベートサブネットを定義し、アベイラビリティゾーンを選択します。

  5. インターネットゲートウェイのアタッチ : インターネットに接続するためには、インターネットゲートウェイを作成し、VPCにアタッチします。

サブネットの作成

  1. サブネットの作成 : VPCダッシュボードから「サブネット」を選択し、「サブネットの作成」をクリックします。

  2. サブネットの設定 : サブネットの名前、CIDRブロック、アベイラビリティゾーンを指定します。例えば、パブリックサブネットに「10.0.1.0/24」、プライベートサブネットに「10.0.2.0/24」などと設定します。

  3. ルートテーブルの設定 : サブネットに関連付けるルートテーブルを設定します。パブリックサブネットには、インターネットゲートウェイへのルートを追加します。

セキュリティ設定

  1. セキュリティグループの作成 : 「セキュリティグループ」を選択し、新しいセキュリティグループを作成します。インバウンドとアウトバウンドのルールを設定し、必要なポートやIPアドレスを指定します。

  2. ネットワークACLの設定 : 「ネットワークACL」を選択し、サブネットに関連付けます。セキュリティグループとは異なり、ネットワークACLはサブネット単位でトラフィックを制御します。


よくある質問

VPC内のリソースはどのようにアクセスしますか?

VPC内のリソースには、パブリックIPアドレスやElastic IPアドレスを割り当てることでインターネットからアクセスできます。
プライベートサブネット内のリソースには、VPNやDirect Connectを使ってアクセスすることもできます。

VPCのサイズはどのくらいにすればいいですか?

VPCのサイズは、使用するリソースやトラフィック量によって決まります。
一般的には、最初は小さめのネットワーク範囲を設定し、必要に応じてサイズを変更することが推奨されます。
CIDRブロックのサイズは、後から変更することができませんので、将来的なスケーラビリティも考慮して設定しましょう。

セキュリティグループとネットワークACLの違いは何ですか?

セキュリティグループは、EC2インスタンスなどのリソースに対するアクセス制御を行います。
一方、ネットワークACLは、サブネット単位でトラフィックを制御します。
セキュリティグループは「ステートフル」であり、ネットワークACLは「ステートレス」です。
これにより、セキュリティグループは自動的にレスポンスを許可しますが、ネットワークACLでは明示的な許可と拒否の設定が必要です。


まとめ

今日は、AWSのVPCについて基礎から応用まで幅広くお話ししました。
VPCは、AWSクラウド上でセキュアで柔軟なネットワーク環境を作成するための重要なサービスです。
サブネットやルートテーブル、セキュリティグループなどの基本要素を理解し、自分のプロジェクトに適したVPCを設計することが、クラウドインフラの管理に役立ちます。

この内容を参考にして、自分のペースでAWSのVPCを理解していくと、クラウドネットワークの設計がもっと楽しくなりますよ。
どんどん実践して、自分だけのクラウド環境を作ってみてくださいね。

もしこの記事が役立ったと思ったら、ぜひコメントやシェアをお願いします!
質問があれば、お気軽に聞いてくださいね。AWSのVPCの学習、頑張ってください!


" ❤️ " や、フォローバッジなどもお待ちしています!


Discussion