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間接続のコスト比較
-
VPCピアリング:
- 最も低コストで、直接VPC間のプライベート接続が可能。
-
AWS PrivateLink:
- VPCエンドポイントを介して、サービスへのプライベート接続を実現(中間コスト)。
-
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の実装:
- Route 53でKey Signing Key (KSK) を作成し、有効化します。
- 親ゾーンにDSレコードを追加して、DNSSECの信頼チェーンを構築します。
- 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アドレス の範囲が部分的に重なっているかどうかで判断します。
【手順】
- 各CIDRブロックの開始IPアドレスと終了IPアドレスを算出する。
- それらの範囲が部分的に一致していれば重複していると判断する。
- 部分一致があれば 重複
- 一致がなければ 重複していない
【例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に完全に含まれているため、重複しています。
- 範囲: 192.168.128.0 〜 192.168.255.255
【例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
→ 両者の範囲は全く異なるため、重複していません。
- 範囲: 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アドレス枯渇対策として広く利用されています.