📑

VPC基礎

2023/02/11に公開

概要

私は都内でエンジニアとして働いている者です。
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

サブネットマスクとサブネット
プライベートネットワークはどのように作れるのか?

  1. ネットワークの範囲を定義することが必要。(何台Wifiにつなげる?)
     ネットワークの範囲 = IPアドレスの利用可能な範囲
    (グローバルIPアドレスが134.128.24.16の場合、表記方法:10.0.1.0/16)
     /の箇所をサブネットマスクという。
     IPアドレス(10.0.1.0)+ サブネットマスク(/16)がプライベートIPの利用可能範囲を決める
  2. 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