CloudFront は、ユーザーに近いキャッシュの集まりです。各エッジ ロケーションは独立して動作します。
デフォルトでは、CloudFront は http キャッシュ コントロール ヘッダーに従います。ファイルが 1 年間有効期限切れにならないようにヘッダーを設定すると、CloudFront はオリジンサーバーにチェックバックすることなく、そのファイルを 1 年間提供し続けます。
各エッジ ロケーションは独立して動作するため、この例では、ニューヨークは引き続きファイルを提供しますが、モスクワはファイルを削除 (404) します。想像できるように、これにより、さまざまなユーザーにさまざまなコンテンツが表示される可能性があります。
この問題を回避するための戦略があります。
CloudFront ドキュメント ( http://aws.amazon.com/cloudfront/#details ) から:
オブジェクトのバージョニングとキャッシュの無効化 Amazon CloudFront エッジロケーションにキャッシュされたファイルを更新するには、2 つのオプションがあります。オブジェクトのバージョン管理を使用して、コンテンツへの変更を管理できます。オブジェクトのバージョン管理を実装するには、オリジン サーバーでファイルのバージョンごとに一意のファイル名を作成し、Web ページまたはアプリケーションで正しいバージョンに対応するファイル名を使用します。この手法により、Amazon CloudFront は、新しいバージョンを提供する前にオブジェクトの有効期限が切れるのを待つことなく、必要なオブジェクトのバージョンをキャッシュします。
また、無効化 API を呼び出すことで、いつでもすべての Amazon CloudFront エッジ ロケーションからファイルのコピーを削除できます。この機能は、オリジンサーバーでそのファイルに設定した有効期限に関係なく、すべての Amazon CloudFront エッジロケーションからファイルを削除します。一度に複数のファイルを削除する必要がある場合は、ファイルのリスト (最大 1,000) を XML ドキュメントで送信できます。無効化機能は、予期しない状況で使用するように設計されています。たとえば、アップロードしたビデオのエンコード エラーを修正したり、Web サイトの CSS ファイルの予期しない更新を修正したりする場合などです。ただし、ファイルが頻繁に変更されることが事前にわかっている場合は、オブジェクトのバージョン管理を使用してファイルの更新を管理することをお勧めします。