Share
Embed
Transcript
35 slides
-
VPCとは?(簡単におさらい) ⚫ AWS上に構築する仮想ネットワーク空間 ⚫ IPアドレス空間(CIDR)を定義・管理 Virtual private cloud (VPC) 10.0.0.0/16
Internet gateway Internet AWS Cloud -
サブネットとは?(簡単におさらい) Virtual private cloud (VPC) 10.0.0.0/16 ⚫ VPC内のネットワークをさらに分割 ⚫ パブリック/プライベートなど役割をもたせる
Private subnet 10.0.0.0/24 Public subnet 10.0.10.0/24 Internet gateway Internet AWS Cloud -
ルートテーブルの構成と役割 ⚫ サブネットに1つ紐づく ⚫ 宛先とネクストホップ(次はどこに向かうか)をルートとして登録 ⚫ 通信の宛先がルートの宛先と一致したら、そのルートを使用 Virtual private cloud
(VPC) 10.0.0.0/16 Public subnet 10.0.10.0/24 Internet gateway Internet ルートテーブル ※あくまでイメージです ※正確なルートテーブルは後のスライドで 宛先 ネクストホップ インターネット Internet gateway EC2 Instance Route table -
ルートテーブルの構成と役割 ⚫ サブネットに1つ紐づく ⚫ 宛先とネクストホップ(次はどこに向かうか)をルートとして登録 ⚫ 通信の宛先がルートの宛先と一致したら、そのルートを使用 Virtual private cloud
(VPC) 10.0.0.0/16 Public subnet 10.0.10.0/24 Internet gateway Internet EC2 Instance Route table ルートテーブル ※あくまでイメージです ※正確なルートテーブルは後のスライドで 宛先 ネクストホップ インターネット Internet gateway -
ルートテーブルの構成と役割 ⚫ サブネットに1つ紐づく ⚫ 宛先とネクストホップ(次はどこに向かうか)をルートとして登録 ⚫ 通信の宛先がルートの宛先と一致したら、そのルートを使用 Virtual private cloud
(VPC) 10.0.0.0/16 Public subnet 10.0.10.0/24 Internet gateway Internet EC2 Instance Route table ルートテーブル ※あくまでイメージです ※正確なルートテーブルは後のスライドで 宛先 ネクストホップ インターネット Internet gateway -
ルートテーブルの構成と役割 ⚫ サブネットに1つ紐づく ⚫ 宛先とネクストホップ(次はどこに向かうか)をルートとして登録 ⚫ 通信の宛先がルートの宛先と一致したら、そのルートを使用 Virtual private cloud
(VPC) 10.0.0.0/16 Public subnet 10.0.10.0/24 Internet gateway Internet Route table EC2 Instance ルートテーブル ※あくまでイメージです ※正確なルートテーブルは後のスライドで 宛先 ネクストホップ インターネット Internet gateway インターネットに行きたい -
ルーティングの基本ルール ⚫ より詳細なルートを採用(ロンゲストマッチ) ⚫ 0.0.0.0/0は何でも通すデフォルトルート ⚫ どのルートにもマッチしない通信は破棄される 宛先 ネクストホップ 10.1.0.0/16
local 10.1.0.0/8 Transit Gateway 0.0.0.0/0 IGW VPC 10.1.0.0/16 Public subnet 10.1.10.0/24 Internet gateway Internet Route table VPC 10.101.0.0/16 VPC 10.201.0.0/16 Transit Gateway AWS Cloud -
ルーティングの基本ルール ⚫ より詳細なルートを採用(ロンゲストマッチ) ⚫ 0.0.0.0/0は何でも通すデフォルトルート ⚫ どのルートにもマッチしない通信は破棄される 宛先 ネクストホップ 10.1.0.0/16
local 10.1.0.0/8 Transit Gateway 0.0.0.0/0 IGW 10.1.0.1に向かうとき こっちのほうが採用 VPC 10.1.0.0/16 Public subnet 10.1.10.0/24 Internet gateway Internet Route table VPC 10.101.0.0/16 VPC 10.201.0.0/16 Transit Gateway AWS Cloud 0.0.0.0/0 10.1.0.0/8 10.1.0.0/16 192.168.1.10 10.2.1.2 10.1.0.1 -
ルーティングの基本ルール ⚫ より詳細なルートを採用(ロンゲストマッチ) ⚫ 0.0.0.0/0は何でも通すデフォルトルート ⚫ どのルートにもマッチしない通信は破棄される 宛先 ネクストホップ 10.1.0.0/16
local 10.1.0.0/8 Transit Gateway 0.0.0.0/0 IGW VPC 10.1.0.0/16 Public subnet 10.1.10.0/24 Internet gateway Internet Route table VPC 10.101.0.0/16 VPC 10.201.0.0/16 Transit Gateway AWS Cloud 0.0.0.0/0 10.1.0.0/8 10.1.0.0/16 -
ルーティングの基本ルール ⚫ より詳細なルートを採用(ロンゲストマッチ) ⚫ 0.0.0.0/0は何でも通すデフォルトルート ⚫ どのルートにもマッチしない通信は破棄される 宛先 ネクストホップ 10.1.0.0/16
local 10.1.0.0/8 Transit Gateway 0.0.0.0/0 IGW VPC 10.1.0.0/16 Public subnet 10.1.10.0/24 Internet gateway Internet Route table VPC 10.101.0.0/16 VPC 10.201.0.0/16 Transit Gateway AWS Cloud -
エンドポイント 利用イメージ VPCエンドポイント ⚫ AWSサービスにインターネットに出ずに接続できる仕組み ⚫ 以下の4種類が定義されている VPC AWS Cloud
Endpoints ENI EC2 Instance Private subnet D ENI A) ゲートウェイエンドポイント B) インターフェースエンドポイント C) ゲートウェイロードバランサーエンドポイント D) EC2インスタンス接続エンドポイント S3 C A B CloudWatch Endpoints Network Firewall Public subnet (Network Firewall用) Internet gateway Internet -
ゲートウェイエンドポイント ⚫ 対象AWSサービス:S3・DynamoDB ⚫ ルートテーブルにルートを追加して利用 ⚫ コスト無料 VPC AWS Cloud
Endpoints EC2 Instance Private subnet S3 Route table 宛先 ネクストホップ S3のCIDRリスト (プレフィックスリスト) S3用エンドポイントID -
インターフェースエンドポイント ⚫ 対象AWSサービス:多くのAWSサービス ⚫ ルートテーブルへの記載は不要 ⚫ ENIを通じて通信 ⚫ 利用料がかかる VPC
AWS Cloud Endpoints EC2 Instance Private subnet CloudWatch ENI -
ゲートウェイロードバランサーエンドポイント VPC AWS Cloud EC2 Instance Private subnet Endpoints Network
Firewall Internet gateway Internet Route table Route table Route table Public subnet (NAT ゲートウェイ用) NAT gateway Public subnet (Network Firewall用) ⚫ 対象のAWSサービス:Network Firewall、Gateway Load Balancer ⚫ ルートテーブルにルートを追加して利用 ⚫ 利用料がかかる ルートテーブルは後ほどご紹介 -
EC2インスタンス接続エンドポイント ⚫ EC2 Instance Connectを使用する際に利用 ⚫ ルートテーブルへの記載は不要 出展:EC2 Instance Connect
エンドポイント を使用したインスタンスへの接続 - Amazon Elastic Compute Cloud -
ユースケース①よくあるNAT Gateway構成 VPC(10.0.0.0/16) Private subnet Public subnet Internet gateway Internet
AWS Cloud EC2 Instance NAT gateway Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 NAT Gateway ID Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 IGW ID Route table Route table NATゲートウェイ経由 してインターネットに アクセスしたい -
ユースケース①よくあるNAT Gateway構成 VPC(10.0.0.0/16) Private subnet Public subnet Internet gateway Internet
AWS Cloud EC2 Instance NAT gateway Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 NAT Gateway ID Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 IGW ID Route table Route table NATゲートウェイ経由 してインターネットに アクセスしたい -
ユースケース①よくあるNAT Gateway構成 VPC(10.0.0.0/16) Private subnet Public subnet Internet gateway Internet
AWS Cloud EC2 Instance NAT gateway Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 NAT Gateway ID Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 IGW ID Route table Route table NATゲートウェイ経由 してインターネットに アクセスしたい -
ユースケース②Network Firewall通信 Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0
NAT Gateway ID Public Subnet(NATゲートウェイ) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 Network Firewall エンドポイントID VPC AWS Cloud EC2 Instance Private subnet Endpoints Network Firewall Internet gateway Internet Route table Route table Route table Public subnet (NAT ゲートウェイ用) NAT gateway Public subnet (Network Firewall用) Public Subnet(Network Firewall用) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 IGW Network Firewallで通 信を検査してから送信 したい -
ユースケース②Network Firewall通信 Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0
NAT Gateway ID Public Subnet(NATゲートウェイ) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 Network Firewall エンドポイントID VPC AWS Cloud EC2 Instance Private subnet Endpoints Network Firewall Internet gateway Internet Route table Route table Route table Public subnet (NAT ゲートウェイ用) NAT gateway Public subnet (Network Firewall用) Public Subnet(Network Firewall用) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 IGW Network Firewallで通 信を検査してから送信 したい -
ユースケース②Network Firewall通信 Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0
NAT Gateway ID Public Subnet(NATゲートウェイ) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 Network Firewall エンドポイントID VPC AWS Cloud EC2 Instance Private subnet Endpoints Network Firewall Internet gateway Internet Route table Route table Route table Public subnet (NAT ゲートウェイ用) NAT gateway Public subnet (Network Firewall用) Public Subnet(Network Firewall用) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 IGW Network Firewallで通 信を検査してから送信 したい -
ユースケース②Network Firewall通信 Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0
NAT Gateway ID Public Subnet(NATゲートウェイ) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 Network Firewall エンドポイントID VPC AWS Cloud EC2 Instance Private subnet Endpoints Network Firewall Internet gateway Internet Route table Route table Route table Public subnet (NAT ゲートウェイ用) NAT gateway Public subnet (Network Firewall用) Public Subnet(Network Firewall用) ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 0.0.0.0/0 IGW Network Firewallで通 信を検査してから送信 したい -
ユースケース③Transit Gatewayを用いた他VPCへのアクセス VPC(10.1.0.0/16) Public subnet Internet gateway Internet Route table
VPC (10.101.0.0/16) VPC (10.201.0.0/16) Transit Gateway AWS Cloud EC2 Instance Private subnet Route table ENI Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 10.0.0.0/8 TGW ID 0.0.0.0/0 IGW ID Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local インターネット向けはIGWに 他VPC向けはTransit Gatewayに 送信したい -
ユースケース③Transit Gatewayを用いた他VPCへのアクセス VPC(10.1.0.0/16) Public subnet Internet gateway Internet Route table
VPC (10.101.0.0/16) VPC (10.201.0.0/16) Transit Gateway AWS Cloud EC2 Instance Private subnet Route table ENI Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 10.0.0.0/8 TGW ID 0.0.0.0/0 IGW ID Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local インターネット向けはIGWに 他VPC向けはTransit Gatewayに 送信したい -
ユースケース③Transit Gatewayを用いた他VPCへのアクセス VPC(10.1.0.0/16) Public subnet Internet gateway Internet Route table
VPC (10.101.0.0/16) VPC (10.201.0.0/16) Transit Gateway AWS Cloud EC2 Instance Private subnet Route table ENI Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 10.0.0.0/8 TGW ID 0.0.0.0/0 IGW ID Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local インターネット向けはIGWに 他VPC向けはTransit Gatewayに 送信したい -
ユースケース③Transit Gatewayを用いた他VPCへのアクセス VPC(10.1.0.0/16) Public subnet Internet gateway Internet Route table
VPC (10.101.0.0/16) VPC (10.201.0.0/16) Transit Gateway AWS Cloud EC2 Instance Private subnet Route table ENI Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 10.0.0.0/8 TGW ID 0.0.0.0/0 IGW ID Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local インターネット向けはIGWに 他VPC向けはTransit Gatewayに 送信したい -
ユースケース③Transit Gatewayを用いた他VPCへのアクセス VPC(10.1.0.0/16) Public subnet Internet gateway Internet Route table
VPC (10.101.0.0/16) VPC (10.201.0.0/16) Transit Gateway AWS Cloud EC2 Instance Private subnet Route table ENI Public Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local 10.0.0.0/8 TGW ID 0.0.0.0/0 IGW ID Private Subnet ルートテーブル 宛先 ネクストホップ 10.0.0.0/16 local インターネット向けはIGWに 他VPC向けはTransit Gatewayに 送信したい -
まとめ ⚫ どんなリソースをどこに配置するか意識して、適切にサブネットを分ける ⚫ VPCエンドポイントをサービスに応じて、適切に使い分ける ⚫ ルートテーブルでは宛先とネクストホップを意識 ➢ マルチAZの場合、ルートテーブルの設計は? ➢
オンプレミスへ接続がある場合のルートは? ➢ Transit Gatewayのルートテーブルについても考えてみる! ➢ 実際に構築してみるだけでなく、構成図を書いてみるとより理解が深まりますのでぜひ! ここまで学んだ方におすすめの深堀ポイント