#はじめに
###なぜこの記事を書こうと思ったのか
アプリ開発の際にDockerを少し触って、仮想サーバーと初対面を果たした。
サーバーと言えば、オンプレミスの物理的なデータセンターをイメージしており、工場で働いていた時も計算室という部屋にサーバーが所狭しと置いてあったのを思い出す。
そこで今回、AWSを学習している際にVPCという仮想サーバーに触れたので自分なりにまとめてみる。
#VPCとは
Amazon Virtual Private Cloud (以下、VPC) は、AWS上に作成できるプライベート仮想ネットワーク空間です。AWSアカウント内に専用のネットワークを作成でき、このネットワーク内に「EC2」(Amazon EC2)などのAWSリソースを配置できます。
1つのVPCを"まとまり"として分離でき、複数のVPC間との接続も可能です。インターネットに公開するパブリックなVPCや、VPNなどを使用して接続するプライベートなVPCの構築もできます。
↑で言う"まとまり"を具体的に言うと、VPCはそれぞれの動物のエリアのようなイメージですね。動物たちがごちゃまぜにならないように、「ここはゾウさんエリアだからコアラとライオンは入ってこないでね!」とエリアを区切ることで、動物たちは安心して過ごすことができます。
仮にオンプレミス環境ではネットワーク環境を構築する場合、データセンター、ハードウェア、回線など用意すべきものが多く、準備期間と初期コストがかかります。
しかし、AWSでVPCをネットワーク環境として準備する場合、いくつかの操作を行えば数分でネットワークを構築できます。ルータ機能、DNS、NTPなどネットワークで必要な基本機能はAWS側で提供されます。
#VPCの主な概念
- Virtual Private Cloud (VPC) — AWS アカウント専用の仮想ネットワーク。
- サブネット — VPC の IP アドレスの範囲。
- ルートテーブル — ネットワークトラフィックの経路を判断する際に使用される、ルートと呼ばれる一連のルール。
- インターネットゲートウェイ — VPC 内のリソースとインターネット間の通信を可能にするために VPC にアタッチするゲートウェイ。
- VPC エンドポイント - PrivateLink を使用してサポートされている AWS サービスや VPC エンドポイントサービスに VPC をプライベートに接続できます。インターネットゲートウェイ、NAT デバイス、VPN 接続、および AWS Direct Connect 接続は必要ありません。VPC のインスタンスは、サービスのリソースと通信するためにパブリック IP アドレスを必要としません。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。詳細については、「」を参照してください AWS PrivateLink および VPC エンドポイント
- CIDR ブロック —クラスレスドメイン間ルーティング。インターネットプロトコルアドレスの割り当てとルート集計方法。
#AWS VPCの使用用途とは?
インターネット向けシステム
インターネットを経由するシステムを提供する用途で使われるケースです。インターネット接続を待ち受けるインスタンスにはグローバルIPを設定しますが、必ず全てのインスタンスに付与する必要はありません。
ELB(Elastic Load Balancing)から複数のEC2にトラフィックを転送する構成がしばしば用いられていますが、高可用システムを作成するために使うことも可能なので覚えておきましょう。
オンプレミス向けシステム
オンプレミスとは、サーバーやソフトウェアなどの情報システムを自社で管理し、運用すること、つまり従来のサーバー運用形態のことをさしています。
オンプレミスのネットワークの延長としてVPCを相互に接続することで、データセンターのサーバーや企業の拠点PC向けシステムを提供しています。
インターネット兼オンプレス向けシステム
これは、先ほどのインターネット向けのシステムとオンプレス向けのシステムとの両方の接続をVPCに設定する構成です。普通は、クラウドか、オンプレスかの2択なので、珍しい使い方です。ルーティングテーブルのセキュリティ設定で対応するようにしましょう。
#まとめ
VPCとはリソースのまとまりを区別してIPアドレスの振り分けやセキュリティ管理を行っていたんですね!
次は実際にマネジメントコンソールを使用して、ハンズオンを行ってみようと思います。
初めてのやってみた!系の記事を投稿するので楽しみです!!
最後まで読んでいただきありがとうございました。