Q&A
前提
ECSをターゲットにしたALBをオリジンにして、CloudFrontをたてました。
ECSではfargateでAuth0を利用したBearer認証があるAPIを立てています。
APIはバージニアリージョンにあるため、アクセス速度が遅い、速度を改善したい。
一人目のユーザーがアクセスした後、二人目以降はオリジンに情報を取りに行かなくていいようにしたい。
実現したいこと
- オリジンには認証情報が渡るようにしたいが(リクエストに Authorization ヘッダーが含まれて、ディストリビューションは Authorization ヘッダーをオリジンに転送する形。)
- ユーザー⇔CloudFrontの間ではキャッシュ単位でAuthorizationを渡さない形にしたい
- バックエンドに影響を出したくないので、できればCloudFront側だけで実現したい
他にやり方はあるのか、知見のある方に教えて頂きたいです。
発生している問題・エラーメッセージ
ドキュメントを見る限りでは、オリジンリクエストポリシーを使用して Authorization ヘッダーを転送することはできません。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/cloudfront-authorization-header/
キャッシュポリシーにAuthorizationヘッダーを含める形にするしかなさそうですが
ユーザー毎に認証情報が違うので、毎回キャッシュが無い状態となり、オリジンに通信しないといけないような状況を避けたい。
二人目以降はアクセスを早くできるようにしたいため。
試したこと
- キャッシュポリシーにAuthorizationヘッダーを含める→キャッシュされない
-オリジンへのカスタムヘッダーにAuthorizationヘッダーとBearerトークンを含める設定にする→キャッシュされない
補足情報(FW/ツールのバージョンなど)
他によさそうな情報を見つけられなかったのですが
不足情報あったらすみませんが教えてください、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2022/09/19 14:43
2022/09/22 06:41