AWSネットワークサービスとは何か?
AWSネットワークサービスは、AWSバックボーン上に構築されたグローバルなソフトウェア定義ネットワークを通じて、AWSで動くワークロードを互いに・エンドユーザーに・オンプレミスのデータセンターに接続する。CLF-C02タスクステートメント3.5で必須となるAWSネットワークサービスは、Amazon VPC・Route 53・CloudFront・AWS Global Accelerator・AWS Direct Connect・AWS Site-to-Site VPN・AWS Client VPN・AWS Transit Gatewayだ。これらのAWSネットワークサービスは、従来のデータセンターで調達・ラッキング・ケーブリング・運用が必要だった物理スイッチ・ルーター・ファイアウォール・ロードバランサー・CDN・MPLS回線を置き換えるものだ。
AWS CLF-C02試験ガイドではAWSネットワークサービスをドメイン3(Cloud Technology and Services、比重34%)に配置している。そのため、特定のシナリオに対して適切なAWSネットワークサービスを選定する能力は極めて重要だ。Amazon VPCのルートテーブルをバイト単位で設定できる必要はないが、どのAWSネットワークサービスがどの問題を解決するかは答えられなければならない——ネットワーク分離(Amazon VPC)・DNS(Route 53)・グローバルコンテンツ配信(CloudFront)・静的IPのTCP/UDP高速化(Global Accelerator)・プライベートハイブリッドリンク(Direct Connect)・暗号化インターネットトンネル(VPN)・マルチVPCハブ(Transit Gateway)だ。このトピックはネットワーキングの概念とAWSサービス名を組み合わせており、受験者は一貫してAWSネットワークサービスのドメインを難易度0.70と評価している——AWSコンピューティングやデータベースサービスより著しく高い。
AWSネットワークサービスは他のすべてのAWSサービスが乗っかる土台であるため、Amazon VPC・Route 53・CloudFront・Direct Connect・VPNを理解することでSAA-C03やANS-C01などの上位認定の学習も加速する。今ここで時間を投資すれば、その後のAWS学習全体に複利的な恩恵をもたらす。
やさしい解説: AWSネットワークサービスは初見では複雑に見えるが、3つの身近な類比によってAmazon VPC・Route 53・CloudFront・Direct Connect・VPNを日常の感覚にマッピングできる。
類比1 — 駅ビルの構造(Amazon VPCとサブネット)
Amazon VPCをAWSリージョン内に借りた駅ビルだとイメージしてほしい。ビル全体があなたのAmazon VPCだ。ビルの中をゾーンに分割する——通りに面したパブリックな飲食フロア(Internet Gatewayに向くルートを持つパブリックサブネット)と、鍵のかかったバックヤードの倉庫(Internet Gatewayのルートがないプライベートサブネット)だ。Security Groupsは各テナントの入り口に立つ警備員——入退場の両方を確認し、一度通した人を覚えている(ステートフル)。NACLはビルの廊下に描かれた進行方向の矢印と通行区分——誰が歩いているかに関係なくすべての床タイルに適用される(ステートレス・サブネットレベル)。VPC Peeringは自分の駅ビルと通り向かいの提携ビルを結ぶ屋根付きの渡り廊下——互いに行き来できるが、その渡り廊下を使って3ブロック先の第三のビルに行くことはできない。Transit Gatewayは市内のすべての駅ビルが接続する中央バスターミナル——乗り換え1回でネットワーク上のどこへでも到達できる。
類比2 — 郵便システム(Route 53とCloudFront)
Route 53は郵便局の住所録だ。誰かがexamlab.netと入力すると、Route 53が住所を調べて荷物をどこへ届けるかを送り手に伝える。Route 53のルーティングポリシーは、どの仕分けセンターを経由するかを郵便局が決める判断に当たる——シンプル(住所1つ)・加重(2つの倉庫に80/20で配分するA/Bテスト)・レイテンシー(最寄りの仕分けセンターから発送)・フェイルオーバー(第一倉庫が火災なら迂回先へ切り替え)・ジオロケーション(アジアの顧客は東京センター、欧州の顧客はダブリンセンター)。CloudFrontは各地に展開するコンビニエンスストアチェーンだ。中央倉庫からの配送トラックを待つ代わりに、顧客は徒歩2分の最寄り店舗で商品をすぐに受け取れる(エッジロケーション)。Signed URLsは番号付き整理券——その整理券を持つ顧客だけが店頭で商品を受け取れる。
類比3 — 本社への電話回線(Direct Connect対VPN)
オンプレミスのデータセンターを支社、AWSリージョンを本社とする。AWS Site-to-Site VPNはスクランブラー付きの普通の電話——安くて素早く開通し、どこからでも利用できるが、公衆電話網を共有しているため通話品質が変動する。AWS Direct Connectは支社から本社に直接引き込んだ専用線——費用がかかり開通まで数週間かかるが、他の誰もその回線を使わないため帯域とレイテンシーが契約で保証される。AWS Client VPNは会社支給のVPNアプリ——どのラップトップからでも外出先のWi-Fiから本社に接続できる。AWS Global Acceleratorは法人向けフリーダイヤル番号——どこからかけても即座にAWSのプライベート網に乗り、社内の正しい内線にスムーズに繋がる。
この3つの類比——駅ビル・郵便システム・電話回線——で、CLF-C02が出題しうるすべてのAWSネットワークサービスを網羅したメンタルマップができる。
Core Operating Principles — Amazon VPCが基盤である理由
他のすべてのAWSネットワークサービスはAmazon VPC上に構築されるか、Amazon VPCに接続する。そのためAmazon VPCを最初に理解することは必須だ。Amazon VPCとはAWSリージョン内に定義する論理的に分離されたバーチャルネットワークだ。IPv4 CIDRブロック(例:10.0.0.0/16)を選び、サブネットに分割し、ゲートウェイを接続し、ルールを設定する。ピアリング・Transit Gateway・PrivateLink・VPNを通じて明示的に許可しない限り、他のAWSカスタマーはあなたのAmazon VPCの中を見ることができない。
サブネット:パブリックとプライベート
サブネットはAmazon VPCのCIDRを切り出したもので、正確に1つのAvailability Zoneに存在する。パブリックサブネットは0.0.0.0/0をInternet Gateway(IGW)に向けるルートテーブルエントリを持つ——ここのインスタンスはインターネットに到達でき、インターネットから到達可能だ(パブリックIPを持つ場合)。プライベートサブネットにはIGWルートがない——ここのインスタンスはパブリックサブネット内のNAT Gateway経由でのみインターネットに間接的にアクセスできる。Route 53のインバウンド/アウトバウンドリゾルバー・VPCエンドポイント・RDS Multi-AZレプリカは通常プライベートサブネットに配置する。
ルートテーブル・Internet Gateway・NAT Gateway
ルートテーブルはトラフィックをどこへ向けるかを決定する。すべてのサブネットは正確に1つのルートテーブルに関連付けられる。Internet Gatewayは水平スケーリング可能で冗長化されたVPCコンポーネントで、パブリックサブネットにインターネットアクセスを提供する——1つのAmazon VPCにつき1つ。NAT Gatewayはマネージドサービスで、プライベートサブネット内のインスタンスがインバウンド接続を受け入れることなくアウトバウンドのインターネット接続(例:パッチのダウンロード)を開始できるようにする。NAT GatewayはAZ単位のため、高可用性を確保するにはAZごとに1つデプロイする。
Security Groups対NACLs — 最頻出の落とし穴
Security GroupsとNACLsはどちらもトラフィックをフィルタリングするが、異なるレイヤーで動作し、挙動も異なる。Security Groupsはインスタンスレベルに存在し、ステートフル(リターントラフィックは自動的に許可)、許可ルールのみをサポートし、インバウンドはデフォルト拒否・アウトバウンドはデフォルト許可だ。NACLsはサブネットレベルに存在し、ステートレス(リターントラフィックも明示的に許可が必要)、許可と拒否のルール両方をサポートし、番号順に評価され、デフォルトNACLはすべてのトラフィックをデフォルト許可する。この2つを混同することがCLF-C02で最も多いAWSネットワークサービスの落とし穴だ。
Security Group — Security GroupはEC2インスタンス・ENI・RDSインスタンス・Amazon VPCに接続したLambda関数に対するステートフルな仮想ファイアウォールだ。許可ルールのみをサポートし、許可された接続のリターントラフィックを自動的に許可する。Security Groupsは主要なAmazon VPCネットワークセキュリティコントロールだ。 参照:https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html
VPC PeeringとTransit Gateway
VPC Peeringは2つのAmazon VPC間(同一アカウントまたはクロスアカウント、同一リージョンまたはクロスリージョン)に一対一の接続を作成する。重要なのはVPCピアリングが非推移的であることだ——VPC-AがVPC-Bとピアリングし、VPC-BがVPC-Cとピアリングしていても、VPC-AはVPC-B経由でVPC-Cに到達できない。直接のA-Cピアリングが必要になる。大規模になるとN×(N-1)/2の接続が必要になり、「メッシュ地獄」と呼ばれる状況を引き起こす。
AWS Transit Gatewayはハブアンドスポークルーターとして機能することでこのメッシュ地獄を解決する——すべてのAmazon VPC・VPN・Direct Connectが1つのTransit Gatewayに接続し、トラフィックはハブ経由で推移的にルーティングされる。1つのTransit Gatewayで数千のAmazon VPCを接続できる。「5つ以上のVPC」または「大規模マルチアカウント」と書かれたAWSネットワークサービスの問題では、ほぼ確実にVPCピアリングではなくTransit Gatewayが正解だ。
典型的な落とし穴:VPCピアリングは推移的ではない — VPC-AがVPC-Bに到達でき、VPC-BがVPC-Cに到達できても、VPC-AからVPC-B経由でVPC-Cへのパスは存在しない——直接のA-CピアリングかTransit Gatewayが必要だ。これはCLF-C02で最も多く出題されるAWSネットワークサービスの落とし穴だ。語呂合わせ:「ピアは友人のパケットを転送しない」。 参照:https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html
Amazon VPC詳解 — コンポーネントと境界
エンドポイント:GatewayとInterface
VPCエンドポイントを使うと、AWSプライベートネットワーク経由でAWSサービスと通信でき、パブリックインターネットを経由しない。Gateway EndpointsはS3とDynamoDBのみをサポートし、ルートテーブルのプレフィックスリストを使用する(料金なし)。Interface Endpoints(AWS PrivateLinkで提供)はサブネット内にプライベートIPを持つENIを作成し、ほとんどのAWSサービスに対応する。Interface Endpointは時間単位とGB単位で課金される。
Elastic IPとパブリックIP
パブリックIPはパブリックサブネットで起動したインスタンスに自動的に割り当てられ(有効な場合)、インスタンスを停止すると失われる。**Elastic IP(EIP)**は自分が所有する静的IPv4アドレスで、インスタンス間で再割り当て可能だ。割り当て済みだが起動中のインスタンスに接続されていないEIPは時間単位で課金される——よくあるAWS請求の意外な出費だ。
Amazon VPC Flow Logs
VPC Flow LogsはAmazon VPC内のネットワークインタフェースを通過するIPトラフィックに関するメタデータを記録する。CloudWatch LogsまたはS3に書き出され、セキュリティフォレンジクス・トラブルシューティング・コンプライアンスに活用される。Flow Logsはパケットの内容は記録しない——5タプルのメタデータ・アクション・バイト数のみだ。
Amazon VPC CLF-C02向けの数値まとめ — - リージョンあたりのデフォルトAmazon VPC数:5(ソフト上限)。
- サブネットとAZのマッピング:サブネット1つ = AZ 1つ(AZをまたがない)。
- サブネットあたりの予約IP:5つ(CIDRの先頭4つと末尾1つ)。
- Security Groups:ステートフル・インスタンスレベル・許可のみ。
- NACLs:ステートレス・サブネットレベル・許可と拒否・番号順に評価。
- デフォルトNACL:すべてを許可。カスタムNACL:すべてを拒否。 参照:https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html
Amazon Route 53 — マネージドDNSとルーティングポリシー
Amazon Route 53はAWSネットワークサービスのマネージドDNSコンポーネントで、DNSのUDPポート53にちなんで名付けられた。主な機能は3つだ:ドメイン登録(examlab.netをAWSから直接購入)・権威あるDNS名前解決(www.examlab.netをIPに変換)・ヘルスチェック(エンドポイントを監視し障害時にフェイルオーバー)。Route 53はAWSサービスの中で最も高い100%可用性SLAを持つ。
Route 53のルーティングポリシー
- シンプル — 1つのレコード、1つ以上の値、ヘルスチェックなし。デフォルト。
- 加重 — 重みで複数のレコードにトラフィックを分割(A/Bテストやブルーグリーンデプロイ用)。
- レイテンシーベース — 最も低いレイテンシーのAWSリージョンにユーザーをルーティング(必ずしも最近接ではない)。
- フェイルオーバー — アクティブ-パッシブ:Route 53ヘルスチェックがプライマリレコードを不健全と判断するまでトラフィックを提供し、その後セカンダリに切り替える。
- ジオロケーション — ユーザーの大陸・国・州によってルーティング(コンテンツローカライズや規制対応用)。
- ジオプロキシミティ — バイアスオプション付きの地理的距離によるルーティング(ジオロケーションより高度)。
- マルチバリューアンサー — 1回のレスポンスで最大8つの健全なレコードを返す(簡易ロードバランシング)。
エイリアスレコード
エイリアスレコードはRoute 53固有のDNS A/AAAAレコードの拡張で、AWSリソース(ELB・CloudFront・S3ウェブサイト・API Gateway・別のRoute 53レコード)にIPではなく名前で直接向ける。エイリアスレコードは無料で、標準CNAMEはDNS RFCによりゾーン頂点では使用できない——エイリアスを使う必要がある。このエイリアスのルールはCLF-C02のお気に入りだ。
Route 53ヘルスチェック
ヘルスチェックは複数のAWSロケーションからエンドポイントの正常性を監視し、フェイルオーバーポリシーや加重ポリシーと統合される。HTTP/HTTPSエンドポイント・TCPポート・他のヘルスチェック(ネスト)・CloudWatchアラームをヘルスチェックできる。
Route 53エイリアスレコードはゾーン頂点で無料かつ必須 — examlab.net(ゾーン頂点)に対してはCloudFrontディストリビューションまたはApplication Load Balancerに向けるエイリアスレコードを使用する。通常のCNAMEはゾーン頂点でSOAレコードおよびNSレコードと共存できないため、エイリアスが必須だ。AWSターゲットへのエイリアスクエリも無料で、標準のDNSクエリは少額の料金がかかる。
参照:https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html
Amazon CloudFront — グローバルCDN
Amazon CloudFrontは世界600以上のエッジロケーションを持つコンテンツデリバリーネットワーク(CDN)だ。ユーザーがコンテンツをリクエストすると、CloudFrontは最寄りのエッジロケーションから提供する。コンテンツがキャッシュにない場合(キャッシュミス)、CloudFrontはオリジン——S3バケット・ALB・EC2インスタンス・MediaStore・任意のHTTPサーバー——からフェッチしてエッジのTTL期間キャッシュする。
CloudFrontが選ばれる理由
- パフォーマンス:エッジロケーションはユーザーの物理的に近くに存在し、RTTを200msから20msに短縮する。
- コスト:キャッシュヒットのたびにオリジンへのリクエストと関連するデータ転送コストを節約できる。
- セキュリティ:AWS WAF(アプリケーション層フィルタリング)・AWS Shield(DDoS保護)・Origin Access Control(S3へのアクセスをCloudFront経由のみに制限)と統合される。
- TLS:無料のACM証明書・最新の暗号スイート・自動ローテーション。
Signed URLとSigned Cookies
どちらもプレミアムコンテンツへのアクセスを制限する。Signed URLsは1ファイルを保護する(例:1つのPDFダウンロードリンク)。Signed Cookiesはファイルセットを保護する(例:動画ストリーミングセッションや認証済みポータル)。ファイル数が多いまたは不明の場合はSigned Cookiesを選ぶ。
オリジンフェイルオーバー
プライマリオリジンとセカンダリオリジンを定義する。CloudFrontはプライマリからの特定のHTTPステータスコード(例:5xx)を受信すると自動的にセカンダリへフェイルオーバーする。これにより、DNSフェイルオーバーを必要とせずにCloudFrontのオリジン側にディザスタリカバリパターンを持てる。
CloudFrontは単なるCDNではない——セキュリティとコスト最適化ツールでもある — CloudFrontをS3ウェブサイトやALBの前に置くと通常コストが下がり(オリジンのエグレスが減少)、セキュリティが向上する(AWS WAF・AWS Shield Standard無料枠・エッジでのTLS終端)。CloudFrontはトラフィックの多いグローバルアプリにしか恩恵がないという誤解がよくあるが、小規模なリージョナルアプリでも無料のAWS Shield StandardとオリジンProtectionの恩恵を受けられる。 参照:https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
AWS Global Accelerator — AWSバックボーン上の静的エニーキャストIP
AWS Global Acceleratorはアプリケーションの固定フロントドアとして機能する2つの静的エニーキャストIPアドレスを提供する。トラフィックは最寄りのAWSエッジロケーションに到達し、AWSグローバルネットワークバックボーンに入り、混雑したパブリックインターネット経路を迂回して特定のAWSリージョン内のアプリケーションへプライベートに届けられる。
CloudFront対Global Accelerator — 典型的な混同
AWSネットワークサービスの問題の中で2番目に多く出題される落とし穴だ。以下のチートシートを使おう。
- プロトコル:CloudFront = HTTP/HTTPSのみ。Global Accelerator = TCP・UDPいずれも対応。
- ユースケース:CloudFront = キャッシュ可能なウェブコンテンツ(画像・動画・API)。Global Accelerator = ウェブ以外またはキャッシュ不可のトラフィック(ゲームサーバー・VoIP・IoT・金融取引・マルチプレイヤーゲームの状態同期)。
- IPアドレス:CloudFront = ディストリビューションごとに変動するCloudFront IP群。Global Accelerator = 2つの固定エニーキャストIP(IPのホワイトリスト指定が必要な企業ファイアウォールに最適)。
- キャッシュ:CloudFrontはエッジでコンテンツをキャッシュする。Global Acceleratorはキャッシュせず、ルーティングの高速化のみを行う。
- フェイルオーバー:どちらもリージョンフェイルオーバーをサポート。Global Acceleratorは1分以内に不健全なエンドポイントからトラフィックを切り替える。
AWS Direct Connect — 専用プライベート接続
AWS Direct Connectはオンプレミスのデータセンター(またはコロケーション施設)からAWSネットワークへDirect Connectロケーションで終端する専用の物理ネットワークリンクだ。パブリックインターネットを完全に迂回する。
接続の種類
- 専用接続:1 Gbps・10 Gbps・または100 GbpsのポートがユーザーだけのためにAから割り当てられる。
- ホスト接続:AWS Direct Connect Partnerを通じて50 Mbpsから10 Gbpsまでプロビジョニングされる。専用接続より早く開通できる。
仮想インタフェース(VIF)
Direct Connectリンク上でVIFを作成する。
- プライベートVIF:Virtual Private GatewayまたはTransit Gateway経由で特定のAmazon VPCに到達する。
- パブリックVIF:専用リンク経由(インターネット経由ではなく)でAWSパブリックサービス(S3・DynamoDB等)に到達する。
- トランジットVIF:大規模なマルチVPCアクセスのためにDirect Connect Gatewayに到達する。
プロビジョニングの現実
新しい専用Direct Connectの発注から開通まで数週間から数か月かかる。物理コロケーションでの光ファイバー相互接続が必要なためだ。これはCLF-C02の落とし穴だ——シナリオに「今週中に接続が必要」とあればDirect Connectは誤り——まずSite-to-Site VPNを使い、Direct Connectが開通したら移行する。
Direct Connect対VPN — 意思決定マトリックス
| 観点 | Direct Connect | Site-to-Site VPN |
|---|---|---|
| 媒体 | 専用光ファイバー | パブリックインターネット |
| 暗号化 | デフォルトでは暗号化なし(MACsecまたはVPN over DXで追加) | IPSecトンネル |
| 帯域 | 最大100 Gbps・安定 | トンネルあたり最大1.25 Gbps・変動あり |
| レイテンシー | 低・安定 | 変動あり |
| 開通時間 | 数週間〜数か月 | 数分 |
| コスト | ポート時間 + データ転送 | トンネル時間 + データ転送(通常安価) |
| 最適なユースケース | 本番・コンプライアンス・大容量データ | DR・開発/テスト・素早いスタート |
Direct Connectはデフォルトで暗号化されない — Direct Connectはプライベートな物理リンクであるためAWSはデフォルトではトラフィックを暗号化しない。HIPAA・PCI-DSSなどのコンプライアンス要件により転送中の暗号化が必要な場合は、MACsec(10 Gbpsおよび100 Gbpsで利用可能)を有効にするか、Direct ConnectリンクでIPSec VPNを実行すること。「プライベート = 暗号化済み」と思い込むことが試験でも実際の現場でも起きがちな誤りだ。 参照:https://docs.aws.amazon.com/directconnect/latest/UserGuide/encryption-options.html
AWS Site-to-Site VPNとAWS Client VPN
Site-to-Site VPN
Site-to-Site VPNはオンプレミスのカスタマーゲートウェイデバイス(IPSecをサポートするルーターまたはファイアウォール)と、Amazon VPCに接続したVirtual Private Gateway(VGW)またはTransit Gatewayとの間に暗号化されたIPSecトンネルを作成する。各AWS Site-to-Site VPN接続には冗長性のため2つのAZにまたがる2本のトンネルが含まれる。セットアップは数分で完了し、コストも数セント/時間だ。
Site-to-Site VPNを選ぶのはこんな場合だ。
- 接続がすぐに必要なとき。
- 帯域要件が控えめなとき(トンネルあたり1.25 Gbps未満)。
- レイテンシー予測可能性よりコストが重要なとき。
- Direct Connectが発注中だがまだ開通していないとき。
AWS Client VPN
AWS Client VPNはマネージドOpenVPNベースのサービスで、個々のエンドユーザー(従業員・委託スタッフ)がラップトップやスマートフォンからAmazon VPCへ暗号化トンネルで接続できるようにする。認証オプションはActive Directory・SAML連携・相互TLSだ。データセンター全体を接続するSite-to-Site VPNとは用途が異なる「企業向けリモートアクセスVPN」として理解すること。
AWS VPN CloudHub
単一のVGWが複数のSite-to-Site VPNを終端し、支社同士がAWS経由で通信する古いパターン。Transit Gatewayに概ね置き換えられているが、CLF-C02のスコープには依然として含まれる。
AWS Transit Gateway — ネットワークハブ
AWS Transit GatewayはAmazon VPC・Direct Connect Gateway・Site-to-Site VPNを接続するリージョナルハブだ。すべてのアタッチメントがTransit Gatewayと通信し、Transit Gatewayが推移的なルーティングを担う。主な特性は以下の通りだ。
- ハブアンドスポークトポロジーで数千のAmazon VPCにスケールする。
- アタッチメントごとのルートテーブルでセグメンテーションを構築できる(例:両方がアタッチされていても本番VPCから開発VPCへの通信をブロック)。
- Transit Gateway PeeringでAWSリージョン間にハブを拡張できる。
- AWS Resource Access Manager(RAM)経由で共有できるため、複数のAWSアカウントが中央のTransit GatewayにVPCをアタッチできる。
シナリオにマルチアカウント・マルチリージョン・多数のVPC・推移的ルーティングが記述されていれば、Transit GatewayがAWSネットワークサービスの正解だ。
認識レベルで覚えるその他のAWSネットワークサービス
タスクステートメント3.5の中心はVPC・Route 53・CloudFront・VPN・Direct Connectだが、CLF-C02では以下も選択肢として登場することがある。
- Amazon API Gateway — HTTP REST・WebSocket APIを公開するマネージドサービス。Amazon VPCの配管の一部ではないが、しばしば並記される。
- AWS App Mesh — マイクロサービス向けサービスメッシュ。認識レベルのみ。
- AWS Cloud Map — AWSクラウドリソースのサービスディスカバリー。
- AWS PrivateLink — ピアリングなしに自分のサービスをInterface Endpoint経由で他のAmazon VPCへプライベートに公開する。
- AWS Network Firewall — VPCレベルのマネージドステートフルファイアウォール(Security Groups/NACLsより深い)。
- Elastic Load Balancing(ELB) — ALB(レイヤー7)・NLB(レイヤー4)・GWLB(セキュリティアプライアンス向けレイヤー3)。VPCサブネット内に存在するためAWSネットワークサービスとしても分類される。
横断比較:AWSネットワークサービスチートシート
| シナリオ | 正解のAWSネットワークサービス |
|---|---|
| AWS内の分離されたバーチャルネットワーク | Amazon VPC |
| DNS + ドメイン登録 | Amazon Route 53 |
| ウェブコンテンツ向けグローバルCDN | Amazon CloudFront |
| TCPゲームサーバー向け静的IP | AWS Global Accelerator |
| データセンターへの専用10 Gbpsリンク | AWS Direct Connect |
| オンプレミスへの素早い暗号化トンネル | AWS Site-to-Site VPN |
| リモート従業員のラップトップVPN | AWS Client VPN |
| 50のVPCをハブで接続 | AWS Transit Gateway |
| クロスアカウントのプライベートAPI公開 | AWS PrivateLink |
| インスタンスのインバウンドファイアウォール | Security Group |
| 拒否ルールを持つサブネットレベルACL | Network ACL(NACL) |
AWSネットワークサービスのよくある試験の落とし穴
- VPCピアリングは推移的ではない — マルチVPCメッシュにはTransit Gatewayを選べ。
- Security Groupsはステートフル、NACLsはステートレス — 正反対だ。
- Security Groupsは許可ルールのみ、NACLsは拒否をサポート — 特定IPのブラックリスト化に重要。
- Direct Connectはデフォルトで暗号化されない — MACsecまたはDX上のIPSec VPNを追加すること。
- CloudFrontはHTTPコンテンツ向け、Global AcceleratorはTCP/UDP向け — プロトコルが最速の判断基準だ。
- Route 53エイリアスは無料でゾーン頂点で必須 — 標準CNAMEは頂点で失敗する。
- NAT GatewayはAZ単位、リージョン単位ではない — 高可用性のためにAZごとにデプロイすること。
- Elastic IPは未接続時に課金される — よくある請求の意外な出費。
- Direct Connectの開通には数週間かかる — 「急ぎ」の答えにはならない。
- サブネット1つ = AZ 1つ — サブネットはAvailability Zoneをまたがない。
CLF-C02のための3大ネットワーク区別ポイント — 試験当日にAWSネットワークサービスについて3つだけ覚えるなら、これを選べ:
- VPCピアリング ≠ 推移的;Transit Gateway = 推移的。
- Security Group = ステートフル/インスタンス;NACL = ステートレス/サブネット。
- CloudFront = HTTPエッジキャッシュ;Global Accelerator = AWSバックボーン経由のTCP/UDP向け静的IP。 参照:https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/introduction.html
AWSネットワークサービスとグローバルインフラストラクチャ — 3.5と3.2の境界
CLF-C02はAWSネットワークサービスを2つのタスクステートメントに分割している。**タスクステートメント3.2(グローバルインフラストラクチャ)**はリージョン・AZ・エッジロケーションの概念を担当する。**タスクステートメント3.5(AWSネットワークサービス)**はそのインフラ上で動くサービス——Amazon VPC・Route 53・CloudFront・Direct Connect・VPN——を担当する。重複するのはCloudFrontだ。CloudFrontはサービス(3.5)でありエッジロケーションに存在する(3.2)。「インフラがどこにあるか?」という問題は3.2、「どのサービスを選ぶか?」という問題は3.5だ。
AWSネットワークサービスとセキュリティサービス — 3.5と2.4の境界
Amazon VPCのSecurity Groups・NACLs・Network FirewallはAWSネットワークサービスに技術的に属するが、セキュリティドメイン(2.4)にも登場する。CLF-C02では、Security GroupsとNACLsは主にAWSネットワークサービス(3.5)、AWS WAF・AWS Shield・Network FirewallはセキュリティDomain(2.4)でテストされることが多い。両方が当てはまる場合は、タスクステートメントの表現に合致するドメインを選ぶ。
AWSネットワークサービスの演習問題パターン
CLF-C02ではAWSネットワークサービスを以下の形式で出題することが多い。
- サービス選択:「AWSネットワークサービスでXを提供するものはどれか?」→ 直接的な想起。
- 2択の落とし穴:「UDPゲームサーバーにCloudFrontかGlobal Acceleratorか?」→ プロトコルで判断。
- ステートフル/ステートレス:「サブネットレベルで拒否ルールを設定できるコントロールはどれか?」→ NACL。
- 推移的ルーティング:「AがBとピアリング、BがCとピアリング。AはCに到達できるか?」→ できない。Transit Gatewayを使う。
- ハイブリッド接続:「緊急のDRリンクが必要で暗号化済みかつ低コスト?」→ Site-to-Site VPN(Direct Connectではない)。
- DNSルーティングポリシー:「ヘルスチェックに基づくプライマリ-セカンダリフェイルオーバー?」→ Route 53フェイルオーバーポリシー。
FAQ — AWSネットワークサービス 頻出問題
Q1: Amazon VPCのSecurity GroupとNACLの違いは何か?
Security GroupはEC2インスタンス・ENI・RDSに接続したステートフルなファイアウォールで許可ルールのみをサポートし、リターントラフィックは自動的に許可される。NACLはサブネット全体に接続したステートレスなファイアウォールで許可と拒否の両方のルールをサポートし、リターントラフィックにも明示的なルールが必要だ。Security Groupsが主要な防衛手段で、NACLsは二次的なサブネット全体フィルターであり特定IPをブラックリスト化する場所だ。
Q2: AWS Site-to-Site VPNよりAWS Direct Connectを選ぶのはどんな場合か?
Direct Connectを選ぶのは、約1 Gbpsを超える安定した帯域・予測可能な低レイテンシー・パブリックインターネットを禁止するコンプライアンス・またはDXのエグレス価格がVPNに勝る継続的な大容量データ転送が必要な場合だ。Site-to-Site VPNを選ぶのは、数分で接続が必要・帯域が1.25 Gbps未満・またはDirect Connectの安価な冗長バックアップとして利用する場合だ。本番環境での一般的なパターンはDXをプライマリ、VPNをセカンダリとする構成だ。
Q3: Amazon CloudFrontとAWS Global Acceleratorは同じものか?
違う。CloudFrontはHTTP/HTTPSコンテンツをエッジロケーションでキャッシュするCDNだ。Global Acceleratorはキャッシュなしに2つの静的エニーキャストIPを提供してTCPとUDPのトラフィックをAWSバックボーン経由でルーティングする。CloudFrontはキャッシュ可能なウェブコンテンツ・静的アセット・APIに使う。Global Acceleratorはゲーム・IoT・VoIP・ファイアウォールのホワイトリスト用に固定IPが必要な場合など、リアルタイムの非HTTPワークロードに使う。
Q4: なぜVPCピアリングは非推移的と呼ばれるのか、また回避策は何か?
VPCピアリングは直接ピアリングされた2つのVPCの間だけでパケットを転送する。VPC-AがVPC-Bとピアリングし、VPC-BがVPC-Cとピアリングしていても、VPC-AはVPC-B経由でVPC-Cに到達できない——AWSはトランジットトラフィックを転送しない。大規模に推移的なルーティングを実現するには、AWS Transit Gatewayを中央ハブとして使用する。すべてのVPCが一度接続するだけで、ハブのルートテーブルを通じて推移的にトラフィックがルーティングされる。
Q5: グローバルディザスタリカバリに使うべきRoute 53のルーティングポリシーは何か?
プライマリエンドポイントにRoute 53ヘルスチェックを付けたフェイルオーバールーティングポリシーを使う。プライマリレコード(例:us-east-1のALB)はヘルスチェックが失敗するまでトラフィックを提供し、Route 53はセカンダリレコード(eu-west-1のALB)にDNSレスポンスを切り替える。2リージョン以上またはレイテンシー最適化が必要な場合は、ネストされたレコードでフェイルオーバーとレイテンシーベースまたは加重ポリシーを組み合わせる。
Q6: S3静的ウェブサイトの前にCloudFrontを置く必要はあるか?
強くお勧めする。CloudFrontを置くことで無料のAWS Shield Standard DDoS保護・グローバルエッジキャッシュ(ユーザーには速く、オリジンエグレスコストは安く)・自動ローテーション付きの無料ACM TLS証明書・S3バケットをCloudFront経由でのみ読み取れるようにするOrigin Access Controlが得られる。パブリックS3ウェブサイトエンドポイントから直接提供するとこれらのメリットをすべて逃す。
Q7: AWS PrivateLinkとはVPCピアリングと比べてどう違うか?
PrivateLinkはInterface Endpoint(プライベートIPを持つENI)を使って1つのVPCの特定のサービスを別のVPCに公開する——ピアリングもルートテーブルの変更も不要だ。一方向(サービス提供者-消費者モデル)で、ルートテーブルを増大させることなく数千の消費者にスケールする。VPCピアリングは双方向でCIDR範囲全体を公開し、スケールには不向きだ。SaaSスタイルのサービス公開にはPrivateLinkを使い、汎用的なVPC間接続にはピアリングまたはTransit Gatewayを使う。
参考資料
- AWS VPC Connectivity Options Whitepaper
- Amazon Route 53 Developer Guide(ルーティングポリシーに関する全章)
- Amazon CloudFront Developer Guide(Getting StartedおよびSecurityセクション)
- AWS Direct Connect Resiliency Recommendations Whitepaper
- AWS Transit Gateway Design Best Practices Whitepaper
- AWS Well-Architected Framework — ReliabilityおよびSecurityピラー
これらのAWSネットワークサービス——Amazon VPC・Route 53・CloudFront・AWS Global Accelerator・AWS Direct Connect・AWS Site-to-Site VPN・AWS Client VPN・AWS Transit Gateway——をマスターすれば、CLF-C02のタスクステートメント3.5は地雷原ではなく確実に得点できる領域になる。代表的な落とし穴(VPCピアリングの非推移性・Security Groups対NACLs・CloudFront対Global Accelerator・Direct Connect対VPN)は繰り返し出題されるパターンであり、メンタルモデルを今構築しておけば試験本番で即座に見抜ける。CLF-C02のAWSネットワークサービス問題で健闘を祈る。