2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

S3 オリジンへの直接アクセス制限と、インデックスドキュメント機能をCloudFrontFunctionsで共存させる方法

Posted at

S3+CloudFrontの構成で静的Webサイトを構築した場合、サブフォルダまたはサブディレクトリからデフォルトのルートオブジェクトを返さないという問題に対し、Lambda@Edge(L@E)で解決するという記事をよく見かけますが、CloudFrontFunctions(CF2)でも実現することができました。

CF2はL@Eより手前で、シンプルな処理をより高速に、素早く、安価に実行できるサービスです。

今回のように URLにファイル名や拡張子を含まないリクエストにindex.htmlを追加するだけ といった単純なユースケースではより最適な方法かと思います。

やってみた

コードを拾ってくる

コードサンプルがAWS公式のCloudfrontデベロッパーガイドに載っているので以下のページからコピーします

index.html を追加してファイル名を含まない URL をリクエストする

CF2に追加

CloudFront>関数にアクセスし、適当な名前をつけて保存します
CloudFront.png

関数を発行する

発行>関数を発行 をポチります(コレをやらないとCloudFrontと紐付けができない
CloudFront.png

CloudFrontにCF2を関連付ける

CloudFrontの該当するディストリビューション > Behavior > 編集 からViewerRequestに関連付けを行います
CloudFront.png

以上

ググったら出てこなかったので,投稿してみました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?