【AWS】VPCとは?特徴や利用するメリット・デメリットを紹介

AWS VPCとは?何ができるの?
AWS VPCのメリット・デメリットを知りたい!

Amazonが提供しているクラウドサービス、AWS(Amazon Web Service)を利用する際に必要なネットワークをコントロールする機構のことを、VPC(Virtual Private Cloud)と言います。

AWSを利用した開発においては、AWS VPCが必ず使用されます。そこでこの記事では、AWS VPCについて理解するためにメリットとデメリットを含めて解説し、さらに、VPCを設定するときに使用するコンポーネントを見ていきます

AmazonのAWSを利用した開発においてVPCは必要な知識なので、この機会に理解しておきましょう。

【いまさら聞けない】AWS VPCとは?

AWS VPCとは

画像:AWS VPCとは

VPC(Virtual Private Cloud)は、Amazonが提供しているAWS(Amazon Web Service)の利用において、ユーザー専用のクラウド環境を構築・設定する機構。AWSを利用する場合、必ずVPCでクラウド環境をコントロールしています。

AWSにはVPCの構築や設定をしなくても使用できるデフォルトVPCが用意されているので、VPCのことを知らずに利用されているケースもあるかもしれません。

VPCを設定することで以下のことなどができます。

  • AWSのサービス間の連携
  • インターネットに接続しないプライベートなネットワークの構築
  • オンプレミス環境との連携

オンプレミス環境は企業内などに設置した、物理的なシステム環境のことを言います。

AWS VPC公式ページへ

AWS VPCを利用する3つのメリット

AWS VPCを利用する3つのメリット

画像:AWS VPCを利用する3つのメリット

AWS VPCはデフォルトVPCのままでも利用できますが、設定を抽象化したコンポーネントを使用して詳細に設定することで、さまざまな環境の構築が可能になります。ここでご紹介するメリットは、以下の3つ。

  • クラウド上で仮想ネットワークを簡単に構築できる
  • インターネットを使わないセキュアな通信もできる
  • 便利なコンポーネントが多くカスタマイズ性が高い

AWS VPCを設定するメリットを、一つひとつ解説していきます。

クラウド上で仮想ネットワークを簡単に構築できる

AWS VPCを使用すると、AWSの仮想サーバーやデータベースで構成される専用の仮想ネットワークを構築できます。ネットワークの構築をAWSのクラウドサービスで行うため、時間やコストをかけることなく仮想上のネットワーク形成が可能です。

AWSはネットワークに関する知識がなくても、仮想ネットワークを簡単に運用できる仕組みを備えています。さらに、専門的知識に基づいてAWS VPCを設定することで、複雑であったり高度な設計の仮想ネットワークを構築できます。

インターネットを使わないセキュアな通信もできる

インターネットを使わないセキュアな通信

画像:インターネットを使わないセキュアな通信

AWS VPCを設定することで、専用のネットワークの中にサブネットワークをいくつでも作れます。サブネットワークはインターネットに接続したパブリックにも、接続しないプライベートにも設定できます。インターネットに接続しないプライベートなサブネットワークを利用することで、外部からアクセスする必要のない情報システムのセキュリティの信頼性を高めることも可能

企業における経理システムなどは、社外に漏れることが許されない情報です。セキュリティ面に危惧のある内部システムなどは、プライベートなネットワークによるセキュアな通信にすることで、AWSを導入しやすくなります。

便利なコンポーネントが多くカスタマイズ性が高い

AWS VPCには各種の設定をオブジェクトとして、抽象化したコンポーネントが用意されています。コンポーネントを組み合わせることで、容易にネットワークの構築が可能です。

コンポーネントにはサブネットワークを作るものや、インターネットに接続できるようにするものなどがあり、ネットワークやサブネットワークに組み込んで利用します。AWS VPCにおけるネットワークの構築は、必要な機能のコンポーネントでカスタマイズして行ないます。

AWS VPCを利用する2つのデメリット

AWS VPCを利用する2つのデメリット

画像:AWS VPCを利用する2つのデメリット

便利な各種のコンポーネントを使用して、設定オブジェクトを組み込める高機能なAWS VPCですが、デメリットを挙げることもできます。

  • 使いこなすまでに学習が必要
  • 構築する環境によって使うコンポーネントが変わる

上記の2つのデメリットについて見ていきましょう。

使いこなすまでにある程度の学習が必要

AWSによるシステム開発全般に言えることですが、VPCの設定機能を使いこなすのにもある程度の学習が必要です。専門書での学習が望ましく、知識も経験もない人が扱うのは難しいでしょう。

仮想環境であっても、ネットワークをさまざまなコンポーネントと組み合わせて構築します。そのためには、ネットワークについての知識とコンポーネント一つひとつに関する使い方について学ばなくてはいけません。

学習コストがかかるのは、AWS VPCを利用する上でのデメリットです。

構築する環境によって使うコンポーネントが変わる

各種の機能を設定するコンポーネントですが、どのような仮想ネットワークを構築するかによって、使用するコンポーネントが変わります。またひとつのネットワークを構築するのに、いくつものコンポーネントを組み合わせて使用しなければいけません。

ネットワークをセキュアなプライベートなものにするのか、インターネットに接続するのかによっても、使用するコンポーネントが異なります。AWS VPCを十分に使いこなすには、さまざまな環境のネットワークを構築した経験が必要になるのは、デメリットのひとつと言えるでしょう。

次節でおもなコンポーネントについて見ていきましょう。

AWS VPCでよく使われるコンポーネント5選

AWS VPCでよく使われるコンポーネント5選

画像:AWS VPCでよく使われるコンポーネント5選

AWS VPCで仮想ネットワークを構築する際に、よく使われるコンポーネントが以下の5つです。

  • VPC エンドポイント
  • VPC Peering
  • サブネット
  • NAT ゲートウェイ
  • ルートテーブル

これらのコンポーネントを使用して設定オブジェクトを作成し、AWS VPCに組み込むことでネットワークを構築します。

VPC エンドポイント

他のAWSのサービスへインターネットを介さずに、接続するためのコンポーネント。プライベートなネットワーク環境でAWSのサービスを連携する場合に使用します。

VPCエンドポイントには以下の2つがあり、構築するVPCの環境によって使い分けられています。

  • ゲートウェイエンドポイント:AWSのS3やDynamoDBとの接続をサポート
  • インターフェイスエンドポイント:プライベートIPアドレスで他のAWSのサービスに接続する

VPC Peering

VPC Peering(ピアリング)は、2つのVPCをIPアドレスを使用して接続するコンポーネント。VPC Peeringで接続したVPCは、1つのプライベートなネットワーク環境のように扱えます。

2つのVPC間のデータ通信におけるルーティング(宛先の確定)によって実現しています。VPC Peeringによる接続は、同じAWSアカウントのVPC間でも、異なるAWSアカウントのVPC間でも可能です。

サブネット

サブネット

画像:サブネット

AWS VPCのネットワーク環境内に、サブネットワーク(サブネット)を作成して利用するもの。容量の制限内であれば、ネットワーク内にいくつでもサブネットを作れます。

サブネットごとにネットワーク環境を設定することが可能で、インターネットに接続するパブリックにも、接続しないプライベートにも設定できます。AWS VPCの利用にあたっては、ネットワーク環境内にサブネットを複数作成して使用するのが通常です。

NAT ゲートウェイ

NAT ゲートウェイのNATは、「ネットワークアドレス変換」の略。インターネットに接続していないプライベートなAWS VPCのサブネットに使用すると、サブネットからインターネットにアクセスできるようになります。

NAT ゲートウェイを使用することでサブネット側からはインターネットに接続できるものの、インターネットなどの外部からはサブネットに接続できない環境を構築します。また、ネットワーク外のAWSにも一方向的に接続することが可能です。

ルートテーブル

AWS VPCにおけてルーターの役割をするコンポーネント。つまり、AWS VPCのサブネットにルートテーブルを設定することで、宛先(IPアドレス)から通信先を特定でき、データの送信が可能になります。

AWS VPCのサブネットにルートテーブルを設定することで、インターネットに接続したパブリックなネットワークになります。インターネットに接続するサブネットには、一つひとつにルートテーブルの作成が必要です。

まとめ

AWS VPCについてメリットとデメリットを交えて解説し、AWS VPCを設定するおもなコンポーネントを見てきました。

AWS(Amazon Web Service)には何も設定しなくても利用を開始できるデフォルトVPCが用意されていますが、本格的にAWSでシステムを開発して運用するには、VPCと設定に使用するコンポーネントの知識が必須です。

AWSは導入する企業が増え続けているクラウドサービスなので、AWS開発について学習しておくと必ず役に立つでしょう。

侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI ENGINEER Plus

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら