AWS VPC関連

2024-11-19

Summary: Subnet, Route Table, Internet Gateway, NAT Gateway, NAT Instance, Egress-Only Internet Gateway, AWS Privatelink, ENI, EFA, AWS Transit Gateway, 通信制御

VPC関連

サブネット

VPC内のネットワーク空間を論理的に分割したものです。各サブネットは、1つのAZに属し、1つのAZ内に複数のサブネットを作成できます。

名称 特徴 使用シン
Public Subnet Internet GatewayへのRouting設定がある Internetから直接アクセスされるAWSリソースを配置します
Private Subnet Interget GatewayへのRoutingがない Internetから直接アクセスされないAWSリソースを配置します。

Route Table (ルートテーブル)

VPC内での通信において、どのネットワークへデータを転送するかを定義する機能です。ルートテーブルに従って、送信先ごとに指定したターゲットへデータを転送することを「ルーティング」といいます。VPC内の各サブネットは、1つのルートテーブルを関連付けることができます。ルートテーブルが関連付けられていないサブネットは、VPC全体に適用される「メインルートテーブル」に従ってルーティングが行われます。

インターネットゲートウェイ(Internet Gateway)

VPC内のAWSリソースとインターネットを接続する機能です。Internet Gatewayへのルーティングが設定されたサブネットは、パブリックサブネットになります。パブリックサブネットでは、インターネットとサブネット両方からの接続開始要求を通します。インターネットゲートウェイは一つのVPCに一つしか作成できないので、複数のパブリックサブネットで共有して利用します。

インターネットゲートウェイのイメージ

img

NATゲートウェイ

Private SubnetからInternetへの通信を可能にするIPv4専用の機能です。NAT(Network Address Translation)とは、IPアドレスを別のIPアドレスに変換する機能のことです。

NATゲートウェイを利用するには、Elastic IPアドレスを割り当てたNATゲートウェイをPublic Subnet内に作成し、Private SubnetのRoute TableにターゲットがNATゲートウェイのルーティングを設定します。 NATゲートウェイはPrivate Subnet内リソースからInternetへの接続開始要求は通しますが、InternetからPrivate Subnet内リソースへの接続開始要求は通しません(片道通します)。

NATゲートウェイのイメージ

img

NATゲートウェイ向けルートテーブルの例

img

NATゲートウェイはAWSによってAZ内で冗長化されており、NATゲートウェイの機器障害時やトラフィック増加時でも継続して利用できます。ただし、AZに障害が発生した場合には利用できなくなるため、さらに可用性を高める場合は複数のAZにそれぞれNATゲートウェイを配置する必要があります。

NATインスタンス

NATゲートウェイと同じく、プライベートサブネットからインターネットへの通信を可能にするIPv4専用の機能です。NATゲートウェイはマネージドサービスなのに対し、NATインスタンスはEC2インスタンスから作成するため、ユーザーが障害対応などの運用管理を実施する必要があります。 NATインスタンスを利用するには、パブリックサブネットにパブリックIPアドレスまたはElastic IPアドレスを割り当てたNATインスタンスを作成した後、プライベートサブネットのルートテーブルにターゲットがNATインスタンスのルーティングを設定します。 NATインスタンスはNATゲートウェイと同じく、プライベートサブネット内リソースからインターネットへの接続開始要求は通しますが、インターネットからプライベートサブネット内リソースへの接続開始要求は通しません。

NATインスタンスのイメージ

img

Egress-Onlyインターネットゲートウェイ

NATゲートウェイとインターネットゲートウェイの特徴を併せ持つIPv6専用の機能です。VPCからインターネットへ(Egress)の接続開始要求は通しますが、インターネットからVPCへ(Ingress)の接続開始要求は通しません。 Egress-Onlyインターネットゲートウェイを利用するには、VPCにEgress-Onlyインターネットゲートウェイを作成し、プライベートサブネットのルートテーブルに、送信先が「::/0(デフォルトルート)」、ターゲットが「Egress-OnlyインターネットゲートウェイID」となるルートを追加します。

Egress-Onlyインターネットゲートウェイ向けルートテーブルの例

k58522.jpg

プライベートサブネット内のAWSリソースからVPC外のAWSサービスへ、プライベートネットワーク経由でアクセスするには「VPCエンドポイント」を利用します。

VPCエンドポイントにはゲートウェイ型とAWS PrivateLink(インターフェイス型)があり、Amazon CloudWatch Logsへの接続は「AWS PrivateLink」を利用します。PrivateLinkは、CloudWatch LogsやS3など多数のサービスで利用できます。 なお、CloudWatch Logsは、AWSサービスやEC2インスタンスのOSやアプリケーションのログを収集し、一元管理するサービスです。

img

ENI(Elastic Network Interface)

AWSリソースのネットワークインターフェイスです。オンプレミス環境におけるNIC(Network Interface Card)と同じ役割を持ち、VPC内のEC2インスタンスやNATゲートウェイなどに割り当てて利用します。

EFA(Elastic Fabric Adapter)

Elastic Fabric Adapter (EFA)は、AWSが提供する高性能なネットワークインターフェースで、科学研究、工学、機械学習などの高パフォーマンスを要求する計算タスクに最適です。EFAは特定のEC2インスタンスタイプでのみ利用可能で、これらのインスタンスに接続して使用します。

拡張ネットワーキング(Enhanced Networking)

拡張ネットワーキング(Enhanced Networking)は、Amazon EC2インスタンスのネットワーク性能を向上させる機能です。インスタンス間での高スループット・低レイテンシーを実現できるため、リアルタイム性が求められるアプリケーションに最適です。さらに、追加料金もかかりません。

VPCフローログ

VPC内のENIに流れるネットワークトラフィック情報を出力する機能です。ログはAmazon CloudWatch LogsまたはS3へ保存されます。 VPCフローログには、送信元/送信先IPアドレス、送信元/送信先ポート番号、プロトコル番号、通信の許可/拒否の結果などが記録されます。VPCフローログを利用することでVPC内のリソースが受信した不審な通信や、VPC内のリソースから発信された不要な通信の発見に繋がります。

AWS Transit Gateway

複数のVPCや複数のオンプレミスネットワークを相互に接続するハブ機能を持つサービスです。VPCピアリングはVPC同士を1対1で接続するサービスなのに対し、Transit Gatewayは複数のVPCを1つのハブで相互に接続できるのでネットワーク経路を簡素化できます。

img

VPC Pairingとの区別

img

通信制御

VPCにはネットワークアクセスを制御する機能として「セキュリティグループ」と「ネットワークACL」があります。

img

Private SubnetがNAT Gateway経由でInternetへ接続する運用の場合、NAT Gateway所属するSubnetはPublic Subnetになります。

img