type
status
date
slug
summary
tags
category
icon
password
 

理論

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経由のトラフィックのみを許可できます。この方法は、運用負荷も最小限に抑えられるため、推奨される解決策です。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
333-AWS SAP AWS 「理論・実践・一問道場」バックアップとリストア331-AWS SAP AWS 「理論・実践・一問道場」カットオーバー
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签