概要
コンソールからVPC設定しているのでついでにVPC周辺の詳細を記述していきます。
VPC(Virtual Private Cloud)とは
- AWSアカウント専用の仮想ネットワーク空間のこと
- 社内ユーザのみアクセスが可能な仮想ネットワークの構築が可能(インターネットからはアクセスできない)
- アカウント作成時はデフォルトでVPC(Default VPC)が1つ作成されているが、ユーザ毎に個別で作成可能
リージョン
世界22ヶ所の分散されたデータセンター群で構成されている。
日本のリージョンは現在(2020年2月時点)は東京リージョン(ap-northeast-1)のみ
※ 大阪ローカルリージョンが2021年初頭までに3つのアベイラビリティーゾーンを持つ完全なAWSリージョンに拡大するそうです。
アベイラビリティーゾーン(AZ)
各リージョンに存在するデータセンタの事
VPCはAZをまたいで作成できるがリージョンはまたげない
IPアドレスの範囲
ユーザー毎に隔離されたネットワークを作成する為には、VCP領域に対してIPアドレスの範囲を与える必要がある。
CIDR(Classless Inter-Domain Routing)表記とは
例: 192.168.1.0〜192.168.1.255
上記のような256個のIPアドレスは通常IPアドレス範囲を表す時はサブネットマスク表記やCIDR表記を使用します。
サブネットマスク表記だと
192.168.1.0/255.255.255.0となり
ネットワーク部が32ビット中24ビット使用されているのでCIDR表記では
192.168.1.0/24と記述することができます。
24の部分は「プレフィックス」とも言いVPCではプレフィックスは16ビットから28ビットで構成する必要があります。
CIDRと利用可能なIPアドレス数
CIDRブロックでは最初の4IPと最後の1IPは利用できない為、利用可能なIPアドレス数から-5しています。
参考: https://aws.amazon.com/jp/premiumsupport/knowledge-center/change-subnet-mask/
16ビットから28ビットのプレフィックスと利用可能なIPアドレス数を下記の表にまとめました。
プレフィックス | 利用可能なIPアドレス数 |
---|---|
16 | 65531 |
18 | 16379 |
20 | 4091 |
22 | 1019 |
24 | 251 |
26 | 59 |
28 | 11 |
例: プレフィックスが18の時
サブネットマスクが下記のようになり
11111111 11111111 11000000 00000000
=> (64 * 256) -5 = 16,379となる
サブネット
- VPC内に構成するネットワークを分割したもので1つのVPCに対して1つ以上のサブネットで構成される。
- サブネットを分けることで仮に片方のサブネットに障害が起きても、異なるサブネットに影響が生じにくくなることやそれぞれ別のネットワークの設定ができる為セキリティを高められる。
- VPCのIPアドレスの範囲内で設定
例: VPC CIDRが「10.0.0.0/16」の場合
サブネットは細分化された「10.0.1.0/24」や「10.0.2.0/24」などで作成
パブリックサブネット
インターネットに直接接続し外部に公開される
インターネットゲートウェイを経由させることでインターネットとの接続を可能にする
インターネットゲートウェイ
インターネットゲートウェイをVPCにアタッチすることで、アタッチしたVPC内のサブネットがインターネットへ接続できる。
ルートテーブル
どのネットワークに対する通信をどこのネットワークに流すかを定義するもの
ルートテーブルでデフォルトゲートウェイ(0.0.0.0/0)を設定して、インターネットゲートウェイを指定したものはパブリックサブネットになり、それ以外はプライベートサブネットになる
destination(送信先) | target |
---|---|
10.0.0.0/16 | local |
0.0.0.0/0 | インターネットゲートウェイ |
プライベートサブネット
DBサーバーなどバック部分はインターネットに接続されたくない事やセキュリティーを高める必要があるので、プライベートサブネットでサーバーを隠す
サーバーからインタネットに接続することもできなくなるのでソフトのインストールやアップデート(yumの実行など)を可能にするにはNATを使用する
NATゲートウェイ
NATはIPアドレスの置換を行う(送信元のプライベートIPアドレスをNAT上のパブリックIPアドレスに置換する)事でプライベートサブネットからインターネットへ接続が可能にする
インターネットからプライベートサブネットへの接続はできない
ちなみにIPアドレスとポート番号を置換する事で複数のホストを共有可能にしたものはNAPTという
NATを使用する為にNATゲートウェイ設置する必要があるが、作成時にはインターネット接続可能なパブリックサブネットとEIPを割り当てる必要がある
EIP(Elastic IP)
パブリックIPアドレスは起動/停止するたびに別のIPアドレスに割り当てられるのでEIPでIPアドレスを固定する
インスタンスにアタッチされている時は料金は発生しないが、どのインスタンスにもアタッチされていない場合は1時間当たり約0.5円の料金がかる
公式(オンデマンド料金): https://aws.amazon.com/jp/ec2/pricing/on-demand/
セキュリティーグループとネットワークACL
ファイアウォール | 範囲 | 初期インバウンド | 初期アウトバウンド | ルール |
---|---|---|---|---|
セキュリテイーグループ | EC2インスタンス毎 | 全て拒否 | 全て許可 | 累積的に許可 |
ネットワークACL | サブネット毎 | 全て許可 | 全て許可 | マッチした時点で許可、以降は拒否 |
最後に
今回はVPCを中心に内容を記述していきましたが、今回書いていないVPC周辺の知識やコンソール上では理解しにくいAWSの他のサービスの知識があるので設定しながらまたまとめていけたらなと思います。