KATUBLO
技術のメモ
AWS CloudFrontのQuery String Whitelistに関するメモ
2021-01-14

はじめに

Lambda関数を設定したCloudFrontに対してQuery Parameterを渡しても、Query Parameterが渡されたときにLambda関数が返す結果が返ってこないという状況に遭遇しました。原因はCloudFrontのBehaviorのQuery String Whitelistを設定してなかったせいでした。今回の記事ではそもそもQuery String Whitelistとは何だっけ?ってところをメモとして残しておきます。

Query String Whitelistとは

Query String Whitelistingの設定をすることで、特定のQuery Parameterをcache keyとして使用することができます。またこの設定をすることでOriginに対してQuery Parameterを転送することができます。

We are pleased to announce that you can now configure Amazon CloudFront to use only a specific set of HTTP query parameters to be used as the cache key, while still forwarding all the parameters to the origin through a feature called Query String Whitelisting.

引用:「Announcing Query String Whitelisting for Amazon CloudFront」

https://aws.amazon.com/about-aws/whats-new/2016/08/announcing-query-string-whitelisting-for-amazon-cloudfront/

Query String Whitelistのメリット

Query String Whiitelistを使うと、cache keyとして利用するQuery Parameterを選択できるようになります。つまりsession IDなどはcache keyとして見なさないといったルールを作ることができるのでキャッシュのヒット率が上がり、Edge ServerがOriginからデータをロードする頻度が削減できるというメリットがあります。

cache keyとは

cache keyはCloudFrontのEdge ServerにキャッシュされるObjectに割り当てられるユニークな識別値のことです。

参考文献:

広告:

別の記事で開発の生産性やQOL(Quality of Life)を向上させる上で買って良かったものを紹介しているので良かったらみてください。