332-AWS SAP AWS 「理論・実践・一問道場」CloudFront管理プレフィックスリスト

 

理論

CloudFrontとALBの連携に関する汎用的知識

WebアプリケーションをAWSで構築する際、CloudFrontとALB(Application Load Balancer)を組み合わせることで、高速でセキュアな配信を実現できます。ただし、CloudFrontを経由せず直接ALBにアクセスされることを防ぐ設定が必要になる場合があります。以下に、この問題に関連する重要な知識を簡潔にまとめます。

CloudFrontとALBの役割

  1. CloudFront
      • グローバルコンテンツ配信ネットワーク(CDN)。
      • キャッシュを利用して高速化し、トラフィックを最適化。
      • セキュリティ機能(AWS WAFやオリジンアクセス制御)を提供。
  1. ALB
      • アプリケーション層の負荷分散を提供。
      • 複数のターゲット(EC2、ECSなど)にトラフィックを分散。

CloudFront経由のみアクセスを許可する方法

CloudFrontを通さず直接ALBにアクセスされるリスクを防ぐには、以下の方法を使用します。

1. CloudFront管理プレフィックスリストを利用

  • AWSはCloudFront用の管理プレフィックスリストを提供しています。
  • 設定方法:
    • ALBのセキュリティグループのインバウンドルールに、com.amazonaws.global.cloudfront.origin-facing を指定。
    • これにより、CloudFrontのオリジン-facingエッジIPのみがALBにアクセス可能となる。

2. AWS WAFを活用

  • ALBにAWS WAFを設定し、特定のリファラーやIPからのアクセスを制限。
  • WAFのルールを利用して、CloudFront以外からのトラフィックをブロック。

3. Lambda@Edgeを利用

  • CloudFrontのリクエスト時にLambda@Edgeを使用して、リファラーを検証。
  • ALBに直接アクセスされるリクエストをCloudFrontレベルでブロック可能。

運用上の注意点

  • CloudFrontのIP変更:
    • ip-ranges.jsonを手動で利用する方法は非推奨。管理プレフィックスリストを使用する方が効率的。
  • コスト最適化:
    • CloudFrontを経由することでキャッシュが効率化され、ALBの負荷を軽減。

まとめ

CloudFrontとALBを安全かつ効率的に運用するには、管理プレフィックスリストを利用してALBへのアクセスを制限することが最も推奨されます。この設定により、CloudFront経由のみのアクセスを簡単に実現できます。

実践

一問道場

質問 #332
ある企業が、WebアプリケーションをオンプレミスのデータセンターからAWSクラウドに移行しました。このWebアプリケーションのインフラストラクチャは、Amazon CloudFrontディストリビューションを使用してApplication Load Balancer(ALB)にルーティングし、Amazon Elastic Container Service(Amazon ECS)でリクエストを処理する構成です。最近のセキュリティ監査で、このWebアプリケーションがCloudFrontエンドポイントとALBエンドポイントの両方からアクセス可能であることが判明しました。しかし、企業はWebアプリケーションがCloudFrontエンドポイントからのみアクセス可能であることを求めています。
最小限の手間でこの要件を満たすソリューションはどれですか?
A: 新しいセキュリティグループを作成し、それをCloudFrontディストリビューションにアタッチする。ALBセキュリティグループのインバウンドルールを更新して、CloudFrontのセキュリティグループからのみアクセスを許可する。
B: ALBセキュリティグループのインバウンドルールを更新して、CloudFront管理プレフィックスリスト com.amazonaws.global.cloudfront.origin-facing のみからのアクセスを許可する。
C: Elastic Load Balancing用のVPCインターフェイスエンドポイント com.amazonaws.region.elasticloadbalancing を作成する。ALBのスキームを「インターネット向け」から「内部」に変更する。
D: AWSが提供する ip-ranges.json ドキュメントからCloudFrontのIPを抽出する。ALBセキュリティグループのインバウンドルールを更新して、CloudFront IPのみからのアクセスを許可する。

解説

解説
この問題の目的は、Webアプリケーションが CloudFrontエンドポイント のみを介してアクセスできるようにし、直接のALBエンドポイントからのアクセスを制限することです。以下、各選択肢について解説します。

A: CloudFront用のセキュリティグループを作成してALBに適用

  • CloudFrontに直接セキュリティグループを適用することはできません。CloudFrontはAWSのエッジサービスであり、EC2やALBのようにセキュリティグループをサポートしていないため、このアプローチは技術的に不可能です。
  • 不適切な回答です。

B: CloudFront管理プレフィックスリストを使用する

  • AWSはCloudFrontの管理プレフィックスリスト(com.amazonaws.global.cloudfront.origin-facing)を提供しています。このリストには、CloudFrontのオリジン-facingエッジIPが含まれています。
  • ALBセキュリティグループのインバウンドルールを更新して、このプレフィックスリストのみにアクセスを許可することで、CloudFront経由のみのアクセスを実現できます。
  • 最も効率的な方法であり、正解です。

C: ALBを内部ALBに変更する

  • ALBを「インターネット向け」から「内部」に変更することで、ALBがプライベートアクセス専用になります。ただし、この方法ではCloudFrontのIP範囲を明示的に許可する設定が別途必要になります。
  • この方法は、設定が複雑になるため、手間が増えます。
  • 効率的ではないため不適切です。

D: ip-ranges.json からCloudFrontのIPを抽出して設定

  • AWSが提供する ip-ranges.json ファイルにはCloudFrontのIPアドレス範囲が記載されています。この情報を手動でALBセキュリティグループに設定することで、CloudFront経由のトラフィックのみを許可できます。
  • ただし、この方法ではCloudFrontのIP範囲が変更された場合に都度更新が必要になり、運用負荷が増加します。
  • Bと比べると手間が多いため不適切です。

正解: B

CloudFront管理プレフィックスリストを使用することで、簡単かつ効率的にCloudFront経由のトラフィックのみを許可できます。この方法は、運用負荷も最小限に抑えられるため、推奨される解決策です。
333-AWS SAP AWS 「理論・実践・一問道場」バックアップとリストア330-AWS SAP AWS 「理論・実践・一問道場」API Gateway ゲーム
Loading...
minami
minami
みなみの成長 🐝
Announcement

🎉 ブログへようこそ 🎉

名前: みなみ一人会社
性別:
国籍: China 🇨🇳
政治スタンス: 民主主義支持者
完全独学で基本情報技術者をはじめ、32個の資格を仕事をしながら取得。
現在はIT会社で技術担当として働きながら、ブログ執筆や学習支援にも取り組んでいます。
独学で合格できる学習法や勉強法、試験対策を発信中!

📚 発信内容

  • 💻 IT・システム開発
  • 🏠 不動産 × 宅建士
  • 🎓 MBA 学習記録