VPC基礎
概要
私は都内でエンジニアとして働いている者です。
TypeScriptを使用してフロント、バックエンド、インフラを開発しています。
職場ではAWSを使用しているのですが、私自身AWSの知識が乏しく仕事に影響があるので、学習した内容をメモがわりとしてこちらに記載しようと思います。
ネットワークの基礎知識
VPCは、仮想のネット構築サービスであるので、VPCをいきなり学習するのではなく、ネットワークの基礎知識を先に学習する。
IPアドレスの基礎
- IPアドレスとは
- ネットワーク機器やWEBサイトなどの場所を特定するための住所のこと
特徴
- ICANNという非営利団体が管理している
- 重複が許されない
- 32ビットの数値データから生成される
- 利用可能範囲は0.0.0.0 ~ 255.255.255.255
- IPアドレスは直接機器に割り当てられるのではなく、ネットワークインターフェースカード(NIC)に割り当てられ、ホストにアタッチされる。なので、NICは別のホストにアタッチするとIPアドレスは割り当てられたNICに変わる。
- IPアドレスの枯渇
-最も普及しているグローバルIPアドレスであるIPV4は枯渇しつつあるため、IPアドレスが足りない
IPv4の例:134.128.24.16
↓
そのためIPv6を利用することで無制限に近いIPアドレスが利用できる
IPv6の例:2001:268:c05f:c20e:e0f5:fd5c:9c4f:d7d
グローバルとプライベートのIPアドレス
世界中でのやり取りが可能なグローバルIPアドレスに対して、プライベートIPアドレスは限定エリア内のみで利用可能なIPアドレス。
グローバル・・・世界で重複がない一意のIPアドレス、インターネット上で利用される
プライベート・・オフィス内や家庭内などの自分の場所だけで使用されるアドレス、限定エリア内では重複不可だけど、グローバルでは重複可能
- 設定できるIPアドレス範囲
- 10.0.0.0 ~ 10.255.255.255
- 172.16.0.0 ~ 172.31.255.255
- 192.168.0.0 ~192.168.255.255
サブネットマスクとサブネット
プライベートネットワークはどのように作れるのか?
- ネットワークの範囲を定義することが必要。(何台Wifiにつなげる?)
ネットワークの範囲 = IPアドレスの利用可能な範囲
(グローバルIPアドレスが134.128.24.16の場合、表記方法:10.0.1.0/16)
/の箇所をサブネットマスクという。
IPアドレス(10.0.1.0)+ サブネットマスク(/16)がプライベートIPの利用可能範囲を決める - IPアドレスとサブネットマスク
IPアドレスは3桁(0~255)* 4つの組み合わせで、各桁が8つのバイナリ値の集合を表す
サブネットマスクはIPアドレス表記の後ろに/数値でくっついている
サブネットマスクでマスクされたネットワーク範囲をCIDRという。
196.51../16 → 左から16桁目までが同じネットワーク範囲と指定
ネットワーク部とホスト部
サブネットマスクによって固定される範囲をネットワーク部、利用可能な範囲をホスト部と呼ぶ
- サブネットによるグループ化
- サブネットマスクによるグループ化されたアドレス範囲内をサブネットという。
AWS
VPCとは何か?
AWSクラウドのネットワークからユーザー専用の領域を切り出すことができる仮想ネットワークサービス
特徴
- リージョン内に5つまでVPCを設定可能(上限緩和申請を行えばさらに設定可能)
- 任意のIPアドレス範囲(CIDR)を選択して仮想ネットワークを構築
最小は/28
最大は/16 - VPCはプライベートIPアドレスによってネットワークレンジを設定
- サブネットの作成、ルートテーブルやネットワークゲートウェイの設定などにより、仮想ネットワーキング環境を完全に制御できる。
- 必用に応じてクラウド内外のネットワーク同士を接続したり、外部のネットワークと接続することが可能。
- CIDR.0 .1 .2 .3 .255はすでにAWS側で利用されており、設定できないアドレスもある
- 1つのVPCと1つのサブネットが最小構成。単一サブネットがAZの範囲に設定される。
- サブネットを追加することで複数AZ範囲にVPCを広げることができる。
- しかしVPCはリージョンを超えることはできない。
- AWSアカウントを作成するとデフォルトのVPCが自動で作成される。
AWSのVPCサービス画面
仮装プライベートクラウド
- お使いのVPC
- 仮装ネットワークを構築することができる
- サブネット
- VPC内にサブネットを作成することができる
- パブリックサブネット、プライベートサブネットを作成可能
- ルートテーブル
- 作成したサブネットに対してルートテーブルの設定を行うことができる
- インターネットゲートウェイ
- 作成したVPCにインターネットと接続することができるゲートウェイを作成することができる
- キャリアゲートウェイ
- Wavelength(5G利用サービス)との接続設定ができる
- DHCPオプションセット
- VPC 内のデバイスで使用される DNS サーバー、ドメイン名、または Network Time Protocol (NTP) サーバーを制御ができる
- ELastic IP
- AWSサービス(インスタンスなど)を利用始めは動的なIPアドレスが設定されるが、このサービスを使用すれば静的なIPアドレスを設定することができる。
- マネージドプレフィックスリスト
- マネージドプレフィックスリストは、1つ以上のCIDR ブロックのセットで、プレフィクスリストを使用すると、セキュリティグループとルートテーブルの設定と管理が用意となる
- エンドポイント、エンドポイントサービス
- インターネットゲートウェイやNATゲートウェイ、NATインスタンスなどを経由することなく、VPCと他のAWSのサービスとをプライベートに接続できるAWSのサービス。
- NATゲートウェイ
- プライベートサブネットから外部インターネットへ通信を行うためのゲートウェイ
- ピアリング接続
- VPC同士のトラフィックをルーティングすることを可能にするサービス
セキュリティ
- ネットワークACL
- VPC単位でのファイアーウォール機能
- セキュリティグループ
- インスタンスごとのファイアーウォール
ネットワーク分析
- Reachability Analyzer
- AWSが提供しているネットワーク診断ツールでVPC 内の 2 つのエンドポイント間、または複数の VPC 間で、通信の到達性に関する問題を解決することが可能なサービス
- Network Access Analyzer
- ネットワークアクセスの要件を指定し、指定した要件を満たさない潜在的なネットワークパスを特定することができるサービス
DNSファイアーウォール
- ルールグループ
- ウェブ ACL に追加できる再利用可能なルールのセットのこと
- ドメインリスト
- Routo53を使用したドメインサービスが利用可能
ネットワークファイアウォール
VPC 向けのステートフルなマネージドネットワークファイアウォールのサービスです。インターネットゲートウェイ、NAT ゲートウェイ、VPC、DirectConnect など VPC の境界でトラフィックをフィルタリングすることができます。
仮装プライベートネットワーク(VPN)
ネットワークまたはデバイスから AWS クラウドへの安全でプライベートなトンネルを確立できます。 既存のオンプレミスネットワークを VPC に拡張することも、クライアントから他の AWS リソースに接続することもできます。
Transit Gateway
仮想プライベートクラウド(VPC)とオンプレミスネットワークで相互接続するために使用できるネットワークのゲートウェイサービスです。
トラフィックミラーリング
EC2サーバーにログインせずにパケットキャプチャーし、任意のENIやNLBにパケットをコピーできます。
Discussion