【AWS CloudFront】URLクエリを許可する
CloudFrontでシステム構築の際、URLクエリ(http://example.com/blogs?id=1131 などの?id=1131の部分)を使用するシステムが上手く動かないぞ??ローカルでは上手くいってるのに、、、
-> CloudFrontの設定でURLクエリを許可する必要があることが分かったので、やり方を紹介します。
以下では、ユーザに、AWSのIAMでCloudFrontの実行権限を割当してある前提で進めます。
1. CloudFrontのサービスを選び、[Behaviors (動作)]タブ を選択
Query String Forwarding and Cachingの部分を変更する。
*初期設定は[None(Improves Caching)]
これは、URLクエリを受け付けない設定なので、
http://example.com/blogs?id=1131は
http://example.com/blogsとして、CloudFrontに紐付けてあるシステム([Origins and Origins Groupsで指定したシステム])に渡されてしまいます。
*[Foward all, cache based on whitelist]を選択
これは、上記の[Query String Whitelist]に記載したクエリのみ受け付けます。
例えば、idをQuery String Whitelistに記載すれば、
id=XXXのクエリのみCloudFrontに紐付けてあるシステムに渡され、それ以外のクエリは渡されなくなります。
*[Foward all, cache based on all]を選択
全てのクエリがCloudFrontに紐付けてあるシステムに渡されます。
公式リファレンス
以上ですーーー!!
[Foward all, cache based on whitelist]か[Foward all, cache based on all]を使うといいと思います!
負荷を軽くしたいなら、[None(Improves Caching)]にするのがいいみたいです!なので、URLクエリを使わないシステムなら、デフォルトの[None(Improves Caching)]のままでOK~~~
おやすみなさいぃぃぃ