(2021/3/25 こちらにリライトしました!)
こんにちは、yassanです。
今回は「VPCとは?学んだことをまとめてみた【初心者エンジニアのAWS備忘録】」について紹介します。
「AWSを初めたらまずはVPCを構築してみよう」みたいなのをよく見かけますが、いやそもそもVPCって何やねん!って話ですよね。
僕も今回、VPCについて調べたり手を動かしたりしたので、その記録をまとめました。
ぜひ、ご参考にしてください。
初心者エンジニアと記載していますが、僕のレベルは基本情報技術者試験が合格できる程度の知識量です。
AWSに関してはガチの初心者です。
Amazon VPCってなんぞや?
VPCとは Virtual Private Cloud の略です。
VPCはその名の通り、個人(あるいは組織)で使うAWS内のネットワーク仮想環境ということですね。
個人(あるいは組織)というよりかは、AWSルートアカウント単位ということですね。
仮想環境ですので、ネットワーク環境に必要な物理的なものは、全てAWSにて揃っていると考えて良いでしょう。
VPCの中に、EC2などのサーバーを構築したりなんやかんやするわけです。
(VPCはサービスの名前でもありますが、ここでは仮想ネットワークをさすことにします)
さて、VPCは仮想ネットワークとはいえ、どこかに置く必要があります。
この置き場所を、リージョンといいいます。
リージョンは、東京や米国東、アジアパシフィックなど世界各国にあります。
また、各リージョンによってAWSのサービスに違いがあります。
そして、リージョンの中には、アベイラビリティゾーンというデータセンターが複数あります。
各アベイラビリティゾーンの中に、サブネットを用意するみたいな感じです。
VPCには、このリージョンとアベイラビリティゾーンについて2つの注意点があります。
- VPCはリージョンにまたぐことはできない
- VPCはアベイラビリティゾーンをまたぐことができる
VPCを作るというのは、AWS内に個人でネットワーク環境を作るということですね。
作るときの具体的な手順を簡単に言うと、
①VPCの構築(IPアドレスの取得)
②サブネットの作成
③インターネットゲートウェイの作成
④ルートテーブルの作成
みたいな感じですね。
IPアドレスは、ネットワーク上のPCやネットワーク機器を識別する番号です。
パブリックIPアドレスとプライベートIPアドレスがあります。
AWSを利用する際は、パブリックIPアドレスはAWSから貸し出されるので、プライベートIPアドレスだけを意識すれば良いでしょう。
ルートテーブルは、トラフィックの送信先サブネットが設定されたテーブルです。
インターネットゲートウェイは、インターネットに接続するためのIPアドレスのことです。
AWSでは、これらの設定は煩わしいことなく、GUI上で設定することができます。
デフォルトのVPC
Amazonの公式ドキュメントにあるVPCの図を用いて、VPCとはどういうものか詳しく説明します。
図は以下になります。
まず、1番外のAWSと書かれた枠です。
見ての通り、枠の内側がAWS、枠の外側がインターネットとなっております。
AWSとインターネットの間には、Internet Gatewayがあります。
このInternet Gatewayを通じて、インターネットとやり取りをするというわけですね。
次に、外から2番目のVPCと書かれた枠です。
AWSとVPCの間にはRegionがあります。
この図の通り、VPCはあるRegionの中に存在します。
Internet GatewayとVPCの間にRouterがあります。
Routerによって、どのサブネットに(どのEC2に)情報の送受信先を振り分けています。
Main route tableにインターネットゲートウェイを記述し、VPCにアタッチすることで、インターネットと接続することができます。
オレンジの点線は、Availability Zoneです。
AとBの二つが存在します。
このように、VPCはRegionを跨ぐことはできませんが、Availability Zoneを跨ぐことができます。
黒い鍵マークがついた枠は、サブネットです。
Default subnet 1 と Default subnet 2 には、それぞれ別々のPublic IPv4とPrivate IPv4が振り分けられています。
この図の場合、サブネットに/20と記載されているので、上位20ビットがネットワーク部、残りがホスト部になります。
サブネットの中に、EC2 Instance が存在します。
まとめ
いかがでしたでしょうか。
なんとなくでも、VPCについて理解していただけたら幸いです。
実際、僕も完璧に理解できたわけではありませんが、今わかることを書きました。
これからも勉強していきたいと思います。
以上、VPCとは?学んだことをまとめてみた でした。
AWS学習におすすめの書籍
AWSについて、しっかりと基礎から学びたい、実践的なスキルを身につけたいと考えている方向けに、おすすめの書籍を紹介します。
これらの書籍は、実際にAWSエンジニアとして働く僕が参考にしている書籍です。
AWSエンジニア入門講座――学習ロードマップで体系的に学ぶ
AWSを使いこなすための前提となるITインフラの知識が足りない初学者にとって、どこからどのように学べばよいのかがわかりづらくなっています。そこで本書では、AWS学習サイト運営YouTuberである監修者自身が実サービスの導入で習得しながら体系化した「学習ロードマップ」に沿って、AWSのサービスとIT技術をやさしく解説していきます。
著者が作成した学習ロードマップに沿って、AWSやインフラストラクチャを体系的に学ぶことができます。
付属のロードマップの完成度が高く、学習に迷ったときや復習にも使えます。
これからAWSエンジニアを目指す方や、インフラストラクチャを基礎から学びたい方におすすめです。
Amazon Web Services 業務システム設計・移行ガイド
オンプレミス上に構築された業務システムをAWS上に移行するための「サービスの選定」「ネットワーク設計・構築」「サーバとデータの移し方」「運用・監視体制の構築」など。これまで多くの企業にAWSを導入し、コンサルティングフェーズから実際の設計・開発、運用フェーズまでの全行程に携わってきた著者陣のノウハウを凝縮して、一般的な企業にAWSを導入する際のベストプラクティスをお届けします。
実務を想定した様々なユースケースとそれに対するベストプラクティスを、設計構築から運用まで幅広くカバーして紹介しています。
タイトルからは移行に焦点を当てたように見えますが、僕としては移行に限らずエンタープライズとしてAWSを利用する上で知っておくべきことが記されていると思います。
より実践的な知識やノウハウを身に着けたい方、初学者から一皮むけたい方におすすめです。