AWS ANS(ネットワーキング)試験メモ

# CloudFront

- **証明書管理:**  
  CloudFrontでサードパーティ証明書を利用する場合、証明書は **us-east-1** のAWS Certificate Manager (ACM) で管理する必要があります。

- **フィールドレベル暗号化:**  
  CloudFrontは、エンドユーザーからCloudFrontまでの通信に対してフィールドレベルの暗号化を実現できます。

- **プロトコルサポート:**  
  CloudFrontはHTTP/HTTPSなどのTCPベースのトラフィックをサポートしています。しかし、UDPトラフィックはサポートしていません。


# ELB（Elastic Load Balancing）

- **クライアントIPの保持:**  
  - **ALB (Application Load Balancer):**  
    バックエンドにクライアントのIPアドレスを渡すため、`X-Forwarded-For`リクエストヘッダーを使用します。ただし、ALB自体はソースIPを直接保持しません。
    
  - **NLB (Network Load Balancer):**  
    クライアントIPをそのまま保持するため、クライアントIPが必要なケース（たとえば、重複するIPアドレスが問題となる場合）にはNLBが適しています。

- **SSL/TLS終端:**  
  - **ALB:**  
    SSL/TLS通信をALB側で終端し、平文または再暗号化してバックエンドに転送できます。
    
  - **NLB:**  
    SSL/TLS通信をそのままバックエンドにパススルー（透過型）する設定が可能です。  


# Direct Connect Gateway

- **推移的接続の非サポート:**  
  Direct Connect (DX) Gatewayは推移的なネットワーク接続をサポートしていません。  
  - たとえば、DX GatewayにVPC-AとVPC-Bが接続されている場合、VPC-AとVPC-B間の通信は自動では確立されません。  


# VPC間接続のコスト比較

1. **VPCピアリング:**  
   - 最も低コストで、直接VPC間のプライベート接続が可能。

2. **AWS PrivateLink:**  
   - VPCエンドポイントを介して、サービスへのプライベート接続を実現（中間コスト）。

3. **AWS Transit Gateway:**  
   - 複数VPCやオンプレミスとの接続を一元管理できるが、利用料金が高めです。

# 静的IPアドレスを提供できるサービス

- **Global Accelerator:**  
  2つの固定（静的）IPアドレスを提供し、グローバルにルーティングできます.

- **NLB (Network Load Balancer)**

- **AWS Transfer Family:**  
  SFTP/FTPS/FTPサービスなどで固定IPを提供可能です.

- **SES (Simple Email Service):**  
  専用のIPプールを利用することで、固定IPを割り当てることが可能です（専用IPオプション）。


# インターフェースエンドポイントとゲートウェイエンドポイント

| 項目             | インターフェース VPC エンドポイント         | ゲートウェイ VPC エンドポイント       |
| ---------------- | -------------------------------------------- | ------------------------------------- |
| 対象サービス     | S3 / DynamoDB 以外の AWS サービス             | S3, DynamoDB                          |
| 通信方式         | AWS PrivateLink（ENI経由）                    | VPCルートテーブル経由                 |
| セキュリティグループ | 適用可能                                   | 適用不可（IAMポリシーで制御）          |
| コスト           | 時間単位の料金＋データ転送費用                 | 無料                                  |
| 複数リージョン対応  | 可能                                      | 不可（同一リージョン内のみ）           |
| レイテンシー      | わずかに高い                                  | 非常に低い                           |
| 運用の簡単さ      | IAMポリシーとセキュリティグループで管理         | ルートテーブルの設定のみ              |


# フェイルオーバー比較（CloudFront, Global Accelerator, Route 53, ALB）

| 項目           | CloudFront           | Global Accelerator      | Route 53           | ALB                      |
| -------------- | -------------------- | ----------------------- | ------------------ | ------------------------ |
| 用途           | CDN（コンテンツ配信）   | グローバルなルーティング最適化 | DNSベースのルーティング | アプリケーション負荷分散        |
| レイヤー       | L7                   | L4                      | L3 (DNS)           | L7                       |
| フェイルオーバー方法 | オリジンフェイルオーバー   | BGPルーティングによる自動切替   | DNSフェイルオーバー     | ターゲットグループのヘルスチェック |
| フェイルオーバー速度 | 秒〜分                 | ミリ秒（非常に速い）         | 数秒〜数十秒         | 数秒〜分                 |
| グローバル対応    | ✅                   | ✅                     | ✅                | ❌（リージョン内のみ）         |


# ログ管理

- **NLBとWAF:**  
  NLBは直接AWS WAFに関連付けることはできません。

- **VPCフローログ:**  
  VPCフローログは、IPトラフィックのフロー情報（ソース・宛先IP、ポート、プロトコルなど）は取得できますが、TCPセグメントのペイロードは取得できません。  
  TCPセグメントのペイロードを解析したい場合は、**トラフィックミラーリング**を使用します。

- **AWS WAFログ:**  
  AWS WAFのウェブACLでログ記録を有効にすると、ログはS3、CloudWatch Logs、またはKinesis Data Firehoseに送信できます。

- **IPAM:**  
  IP Address Manager (IPAM) はCloudWatchで監視できるメトリクスを提供します。  
  EventBridgeを使う必要は基本的にありません。

- **ALBアクセスログ:**  
  ALBのアクセスログはCloudWatch Logsには保持されず、S3に保存されます。

- **NATゲートウェイのログ:**  
  NATゲートウェイ自体にアクセスログ機能はありません。  
  ログを取得したい場合、NATゲートウェイに関連付けられているElastic Network Interface (ENI) のVPCフローログを有効にします。


# VPNとトラフィック

## Site-to-Site VPNアクセラレーション

- **対応:**  
  Transit GatewayにアタッチされているSite-to-Site VPN接続のみ、アクセラレーション機能がサポートされています。

- **設定:**  
  既存のサイト間VPN接続では、アクセラレーションを有効または無効にする設定はできません。

## ジャンボフレーム転送の注意点

- **VPN:**  
  AWS Site-to-Site VPNでは、VPNトンネルの制限によりジャンボフレーム転送が失敗する可能性があります。

- **パブリックインターネット経由:**  
  パブリックインターネット経由の場合、途中のルーターでパケットがドロップされる可能性があります。


# マルチキャスト通信

- **プロトコル:**  
  マルチキャスト通信には、TCPではなくUDPが必要です。  
  - TCPは接続指向でACKが必要なため、複数の受信者への効率的な同時送信には適しません。  
  - UDPはコネクションレスでACK不要なため、マルチキャスト通信に適しています。

- **AWSでの実現:**  
  AWSでは、Transit Gateway がVPC間のマルチキャスト通信をサポートしています（同一リージョン内）。

# Route 53関連

- **DNSSECの実装:**  
  1. Route 53でKey Signing Key (KSK) を作成し、有効化します。  
  2. 親ゾーンにDSレコードを追加して、DNSSECの信頼チェーンを構築します。  
  3. CloudWatchアラームを設定し、エラー発生時に通知を受け取ります。

- **KSK作成の前提:**  
  KSKの作成には、AWS KMSのカスタマーマネージドキー (CMK) が必要です。  
  CMKに適切なアクセス権限（IAMポリシー）が設定されていない場合、コンソール上に「ACTION_NEEDED」ステータスが表示されます。

- **ヘルスチェック:**  
  Route 53のヘルスチェックは、パブリックIPアドレスを対象としており、プライベートIPアドレスには対応していません。


# CIDRブロックの重複

## 接続できないサービス（CIDRが重複していると接続不可）

- VPCピアリング  
- Transit Gateway  
- Direct Connect  
- VPN接続

## 接続可能なサービス（CIDRが重複していても接続可能）

- AWS PrivateLink  
- ALB  
- NLB

## CIDRの重複確認方法

CIDRブロックの重複は、対象となるCIDRの **開始IPアドレス～終了IPアドレス** の範囲が部分的に重なっているかどうかで判断します。

**【手順】**  
1. 各CIDRブロックの開始IPアドレスと終了IPアドレスを算出する。  
2. それらの範囲が部分的に一致していれば重複していると判断する。  
   - 部分一致があれば **重複**  
   - 一致がなければ **重複していない**

**【例1: 重複している場合】**  
- **CIDR1:** 192.168.224.0/19  
  - 範囲: 192.168.224.0 〜 192.168.255.255  
- **CIDR2:** 192.168.128.0/17  
  - 範囲: 192.168.128.0 〜 192.168.255.255  
→ 192.168.224.0/19 の範囲はCIDR2に完全に含まれているため、**重複しています**。

**【例2: 重複していない場合】**  
- **CIDR1:** 10.0.0.0/16  
  - 範囲: 10.0.0.0 〜 10.0.255.255  
- **CIDR2:** 192.168.0.0/16  
  - 範囲: 192.168.0.0 〜 192.168.255.255  
→ 両者の範囲は全く異なるため、**重複していません**。

---

# AWSネットワーク関連のその他のポイント

- **Kubernetesのエンドツーエンド暗号化:**  
  NLBとAWS Load Balancer Controllerを組み合わせることで、エンドツーエンドの暗号化を実現できます。

- **VPC内の通信:**  
  Transit Gatewayで接続したVPC同士は、プライベートIPアドレスのみで通信可能です。

- **DNSルックアップ:**  
  DNSルックアップは、ポート53でTCPとUDPの両方のプロトコルを使用します。

- **セキュリティグループ:**  
  セキュリティグループは、Amazon提供のDNSサーバー（AmazonProvidedDNS）へのアウトバウンドトラフィックを制御できません。


# エラー関連

- **HTTP500エラー:**  
  サーバー内部の問題（プログラムのバグ、例外処理の不備、設定ミス、リソース不足など）によって発生するエラーです。

- **HTTP502エラー:**  
  プロキシやリバースプロキシ（例：Amazon CloudFront）がオリジンサーバーと通信できない場合に発生します。  
  - 原因としては、オリジンサーバーのダウン、ネットワーク障害、SSL/TLS証明書エラー、またはプロトコルの不整合などが考えられます。


# 用語の解説

### エンドツーエンド暗号化 (End-to-End Encryption, E2EE)

送信者と受信者の間でデータを暗号化し、中継点（サーバーやネットワーク機器）では復号しない方式。第三者による盗聴を防ぎます。

### PCI-DSS (Payment Card Industry Data Security Standard)

クレジットカード情報を安全に扱うための国際的なセキュリティ基準です。  
ファイアウォールの設定、暗号化、アクセス管理、脆弱性対策など、12の要件があり、カード情報を扱う企業に義務付けられています。

### PAT (Port Address Translation)

NAT（Network Address Translation）の一種で、複数のプライベートIPアドレスを1つのグローバルIPアドレスに変換します。  
送信元ポート番号を変更して各内部ホストを識別するため、1つのグローバルIPアドレスで多数の内部デバイスがインターネットに接続できます。  
IPv4アドレス枯渇対策として広く利用されています.