ablog

不器用で落着きのない技術者のメモ

CloudFront で Distribution の Origin Domain Name を変更して切り替るまでのタイムラグ

CloudFront で Distribution の Origin Domain Name を変更して切り替るまでのタイムラグは TTL でコントロールできる。

  • AWSマネジメントコンソールで CloudFront を選択し、[Distribution]-[Origins and Origin Groups]を選択し、[Edit]で編集する。

f:id:yohei-a:20181205174617p:plain

  • Origin Domain Name で参照先を切り替える。

f:id:yohei-a:20181205174608p:plain
[Distribution]-[Behaviors]で Behavior を選択して、Edit で
f:id:yohei-a:20181205174634p:plain

  • TTL を編集する。

f:id:yohei-a:20181205174641p:plain

参考

最小 TTL
オブジェクトが更新されたかどうかを調べるために CloudFront がオリジンに別のリクエストを送るまでに、オブジェクトを CloudFront キャッシュに保持する最小期間 (秒) を指定します。[Minimum TTL] のデフォルト値は 0 (秒) です。

  • 重要

キャッシュ動作のためにすべてのヘッダーをオリジンに転送するように CloudFront を設定した場合、CloudFront は関連付けられたオブジェクトをキャッシュしません。その代わり、CloudFront はそのオブジェクトに関するすべてのリクエストをオリジンに転送します。その設定では、[Minimum TTL] の値を 0 にする必要があります。

(中略)

最大 TTL
オブジェクトが更新されたかどうかを CloudFront がオリジンに照会するまでに、オブジェクトを CloudFront キャッシュに保持する最大期間 (秒) を指定します。[Maximum TTL] に指定する値は、オリジンが Cache-Control max-age、Cache-Control s-maxage、Expires などの HTTP ヘッダーをオブジェクトに追加するときにのみ適用されます。詳細については、「コンテンツがエッジキャッシュに保持される期間の管理 (有効期限)」を参照してください。

(中略)

デフォルト TTL
オブジェクトが更新されたかどうかを調べるために CloudFront がオリジンに別のリクエストを送るまでオブジェクトを CloudFront キャッシュに保持するデフォルト期間 (秒) を指定します。[Default TTL] に指定する値は、オリジンが Cache-Control max-age、Cache-Control s-maxage、Expires などの HTTP ヘッダーをオブジェクトに追加しないときにのみ適用されます。詳細については、「コンテンツがエッジキャッシュに保持される期間の管理 (有効期限)」を参照してください。

(中略)

[Default TTL] のデフォルト値は 86,400 (秒)、つまり 1 日です。[Minimum TTL] の値を 86,400 (秒) より大きい値に変更する場合は、[Default TTL] のデフォルト値を [Minimum TTL] の値に変更します。

ディストリビューションを作成または更新する場合に指定する値 - Amazon CloudFront