【AWS 初心者向け】ざっくり解説!Amazon VPC とは?
はじめに
こんにちは。
見習いエンジニアの卵の
システムソリューション部のほとです。
みなさんは AWS の VPC というサービスを耳にしたことはありますでしょうか?
AWS に最近ふれ始めた人や、なんとなく聞いたことはあるけどよく分からないという方に向けて、解説していきたいと思います。
VPC とは?
エンジニアたるもの、一次ソースにあたりなさいとよく言われます。
3年目にして最近本当にそうだなと感じてます。
ということで見てみましょう(唐突)。
With Amazon Virtual Private Cloud (Amazon VPC), you can launch AWS resources in a logically isolated virtual network that you've defined. This virtual network closely resembles a traditional network that you'd operate in your own data center, with the benefits of using the scalable infrastructure of AWS.
引用:AWS 公式ドキュメント(https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、論理的に隔離されている定義済みの仮想ネットワーク内で AWS リソースを起動できます。仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークによく似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。
〇 引用:AWS 公式ドキュメント(https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html)
はい、なんだか難しい言葉を使っていますが、まとめると下記ということです。
AWS リソースを構築できる仮想ネットワーク
なにがいいの?
大きなメリットとしては下記が挙げられます。
- 手間やコストが省ける
- カスタマイズしやすい
手間やコストが省ける
従来のオンプレミス環境では、例えばサーバーを設置する場合、自社内に設置場所を用意したり、データセンターに設置したり、はたまたレンタルサーバーなどと手間がかかるものでした。
また、その上で、ネットワーク回線を開通させたりと、非常に工数やコストがかかるものでした。
ただし、Amazon VPC を利用すれば、手軽に専用のネットワークを構築できます。
カスタマイズしやすい
オンプレミスではネットワークの構築をするなどにあたり、用途などをしっかりと調査したうえで、ルーターなど部品を用意したりと手間がかかるものでした。
また、実際に運用が始まってみてから、変更が必要となった際も準備が大変です。
当然、Amazon VPC を使っていても、影響範囲の調査や実際の変更にあたっての作業等は必要になりますが、物理部品を触る必要は一切なく、AWS コンソールなどから操作が可能なのは非常に嬉しいですね!
これだけはおさえておけ!重要単語
さて、メリットも(多分)伝わったと思うので、ここからは Amazon VPC をもっと理解するために抑えておくべき重要単語を紹介していきたいと思います。
1. リージョン
AWS は皆さんご存知の通り、アメリカの企業ですが AWS を利用している企業は世界中に存在します。
いくらクラウドといえど、物理的な距離が離れていれば通信速度などにも影響が出るため、世界各地に AWS がデータセンターを所有しており、それぞれは物理的に分離されています。
この世界各地、分離した地域のことを「リージョン」と呼びます。
日本には、2024年6月現在で、東京(ap-northeast-1)と大阪(ap-northeast-3)が存在しています。
本題とは逸れますが、先日、AWS が日本への投資計画が発表されたこともあり、今後リージョンも増えるかもしれませんね。
https://aws.amazon.com/jp/about-aws/whats-new/2024/01/aws-commits-2trillion-yen-investment-into-japan-ai-and-digital-transformation-from-2023-to-2027/
2. アベイラビリティーゾーン(AZ)
各地域に存在するリージョンの中には、複数の独立した場所が存在します。
これを「アベイラビリティーゾーン」と呼びます。
各アカウント内でアベイラビリティーゾーンを選択することが出来ますが、同じ名称でもアカウントによってどのアベイラビリティーゾーンを指すかは異なります。
下記の画像は、us-east-1 というリージョンの中に存在する、アベイラビリティーゾーン「us e 1-az1 / us e 1-az2 / us e 1-az3」はそれぞれ Account1111111111 と Account22222222 で指すものが異なっているということを指す画像です。
〇 引用:AWS 公式ドキュメント(https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#availability-zones-describe)
3. サブネット
サブネットは VPC として作成した仮想ネットワークをさらに、ある IP アドレスの範囲でまたネットワークを切り出したものです。
VPC の中にまた仮想ネットワークを作成するようなイメージです。
このサブネットには、パブリックサブネットとプライベートサブネットと呼ばれるものを作成します。
パブリックサブネットは、インターネットとの直接通信可能にするネットワークのことです。
またプライベートサブネットは、直接は外のネットワークとの接続はできないようにするネットワークのことです。
それぞれのサブネットはアベイラビリティーゾーンを指定する必要があり、例えば東京リージョンの ap-northeast-1a というアベイラビリティーゾーンに、パブリックサブネットとプライベートサブネットそれぞれを置くことが可能です。
サブネットが無事作成できたら、そこに EC2 や RDS のリソースを作成していきます。
4. インターネットゲートウェイ
個人の AWS アカウント上に作成された VPC と、外部であるインターネット間の通信を可能にするための、門のようなものです。
これがなければ、VPC 内のリソースは外部であるインターネットにアクセスができません。
5. ルートテーブル
VPC 内のネットワーク経路を決めるルールのようなものを「ルート」と呼び、
それらルートを記載するリソースを「ルートテーブル」と呼びます。
例えば、VPC 内に作成した EC2 から外部のインターネットへのアクセスを許可する場合は、このルートテーブルに許可したいリソースの IP からインターネットゲートウェイへのルートを記載する必要があります。
6. セキュリティグループ
同一 VPC 内に作成されているリソースに対してアクセスを許可するルールを設定できるものです。
具体的にはアクセス元の IP やプロトコル、ポート番号を記載します。
例えば、EC2 に対して SSH 接続をしたいときには、下記の様な設定を追加することで EC2 に対して接続が可能となります。
アクセス元 IP | プロトコル | ポート番号 |
XXX.XXX.XXX.XXX | SSH | 22 |
さいごに...
いかがでしたでしょうか?
ボンヤリとでも皆さんの中に VPC ってこういうことかな?というイメージができていれば幸いです。