学んだこと

よくやる設定

  • S3 への直接アクセスを防ぎたい場合には Origin Access Identity を利用する
  • コンテンツへの IP 制限を行いたい場合には WAF を利用すると良い
  • 必要なヘッダは転送する
  • / を 任意のコンテンツに転送したい場合(例:/ にアクセスしたら index.html にアクセスさせる)には「デフォルトルートオブジェクト」を指定する
  • CloudFront 自体の IP アドレス範囲は https://ip-ranges.amazonaws.com/ip-ranges.json から取得出来る

等。

注意点

  • 「デフォルトルートオブジェクト」が適用されるのはトップルートのみ
  • サブディレクトリにも同様の設定(デフォルトルートオブジェクト)を行いたい場合には Web Site Hosting を有効にするしかない(今のところ)
  • Web Site Hosting を有効にした S3 バケットをオリジンにする場合にはオリジンの設定には Web Site Hosting の URL を指定すること
  • Web Site Hosting を有効にした S3 バケットには Origin Access Identity は適用されない
  • 上記の場合、WAF で IP 制限かけていても、バケットポリシーで IP 制限をかけていない場合には S3 バケットのオブジェクトにはどっからでもアクセスが可能となる

参考文献

まだまだ、勉強が必要そうです。

元記事はこちら

CloudFront + S3 で Web サイトを公開する時に学んだことの幾つか