はじめに
こんにちは。rattsl(@rattsl)です。
今回はAWS VPCについてハンズオンで色々いじったのでメモとして残します。
またネットワークの基礎的な知識もないため、間違えて認識している部分があったらご指摘ください。
ネットワーク基礎
IPアドレス
- 重複が許されない一意の32bit数値データのこと。
- ネットワーク機器やwebサイトを特定するために利用する。
- TCP/IPプロトコル通信でリクエストする。
- 利用範囲は
0.0.0.0 ~ 255.255.255.255
ネットワーク機器に直接IPアドレスが割り振られているのではなく、NIC(ネットワークインターフェースカード)に割り当てられ、ホストにアタッチされている。
IPアドレスの数値データは3桁(255)の10進数で表されているが、実際は2進数でコンピュータ側が解釈し32bitデータに置き換えられている。
10進法 | 2進法 | 32bit |
---|---|---|
16 | 10000 | 00010000 |
IPアドレスの枯渇問題とIPv6
我々が良く目にするIPアドレスはIPv4形式。
しかし最近はIPv4形式のIPアドレス数が枯渇してきているため、IPv6形式が利用できるようになっている。
IPv6では128bit長で表され、16ビットごとに「:(コロン)」で区切った上で、16進数で表記する。
この新しいプロトコルでインターネット速度改善が期待できる。
IPv4形式 | IPv6形式 |
---|---|
124.128.24.16 | 2001:0db8:1264:5678:90ab:cdef:0000:0000 |
グローバルIPアドレスとプライベートIPアドレス
上記の説明はグローバルIPアドレスについてのもの。
対してプライベートIPアドレスはオフィス内や家庭内で利用され、グローバルとプライベートでIPアドレスで使い分けて利用される。
このプライベートIPアドレスは規定の範囲内であったら自由に付与して利用可能。基本的にグローバルに割り当てられたIPアドレスをもらい、ローカルエリアの管理者が独自でプライベートIPアドレスを割り当てるという流れになっている。
どうやってプライベートネットワークを作るか
ネットワークの範囲(IPアドレスの範囲)を定義する必要がある。
例)10.0.1.0/16
スラッシュで区切られた左側がIPアドレスで右側がサブネットマスクになる。
IPアドレス+サブネットマスク=IPの範囲
このIPの範囲をCIDRという。
CIDRとは
サブネットマスクを設定し、同じネットワークとして扱うIPアドレスの個数を調整できるIPアドレスの設定方法のこと。
例えば
196.51.XXX.XXX/16
というネットワークの範囲があったとすると、
左から32bit表示時の16桁までが同じネットワーク範囲で固定でき、右側のXXX.XXXをIPアドレスとして自由に使える。
もう少し詳しく説明するとサブネットが/8となった場合、
196.XXX.XXX.XXX/8
196
という値は2進数で表すと11000100
なのでこの8桁のバイナリ値がロックされることになる。
サブネットマスクは32まで設定することが可能で、サブネットマスクの値が大きいほど指定できるIPアドレスの範囲は狭くなる。一般的な使い方は16に指定してその中で細かく指定する際は24で指定する。
サブネットマスク | 設定可能IPアドレス数 |
---|---|
16 | 65534 |
23 | 512 |
24 | 256 |
このサブネットマスクで固定される範囲をネットワーク部、利用可能な範囲をホスト部と呼ぶ。
なぜサブネットでグルーピングするか
ローカルにたくさんのIPアドレスが付与されたデバイスが繋がっているときに見つけづらい。
そこでサブネットでアドレスの範囲を分けておくと見つけやすい。
例)都道府県
〇〇さん(10.0.1.255が付与されたデバイス)に郵便物(データ)を送りたい。東京都(10.0.1)に住んでいる(サブネットの中にある)から東京中央郵便局(10.0.1)に届けよう。
VPC
VPCとは
AWSクラウド上からユーザー専用の仮想ネットワークを作るサービス。
アカウント作成時に各リージョンにVPCが作成される。
作成時は一つのAZ内にVPCが作成されるが同一リージョン内だったら複数AZをリソースを含めることができる。
VPCウィザードを使うと瞬時に頻繁に利用されるVPC構成を作ることができる。ウィザードを使わない場合は
VPC作成(CIDR)→ サブネット作成 → Gatewayの設定 → セキュリティの設定(ネットワークACL)
の順で作る必要がある。
サブネット
VPCをさらに小さく区切ったもの。
基本的にはVPCとサブネットでネットワーク空間を構築する。
VPCをデフォルトで作成時に一つサブネットが自動的に作られる。(最低1つはVPC内にサブネットがある必要がある。)
パブリックサブネットを設定する為に必要な設定
パブリックサブネットを置いただけではパブリックサブネットとしての役割は持たず、インターネットゲートウェイをVPCサブネットのルートテーブルに設定した段階で初めてそのサブネットがパブリックサブネットとしての役割を持つ。
NATゲートウェイの特徴
NATゲートウェイはプライベートサブネットからインターネットへの接続を可能にする為にインターネットに接続されているパブリックサブネットに設定する。
VPC設定前にEC2インスタンスを立てるとVPCはどういった設定になる?
デフォルトVPCにパブリックサブネットが一つ作られる。
セキュリティグループとネットワークACL
セキュリティグループはステートフルなのに対し、ネットワークACLはステートレスなので、トラフィックを明示的に許可する必要がある。
Direct Connectについて
Direct Connectは自社サーバ(オンプレ)とAWS(クラウド)を接続するサービス。
AWSデバイスを自社に設置して接続させるのではなく、AWS Direct Connect のパートナーまたはネットワークプロバイダーと連携して、ユーザーのデータセンター、オフィス、またはコロケーション環境から AWS Direct Connect ロケーションに接続する。
VPCエンドポイントのゲートウェイ型の特徴
VPC内部から直接外のサービスと接続する。
VPC Frow Logs について
ネットワークインターフェース間で行き来するIPトラフィックをキャプチャするサービス。