メニュー
Amazon CloudFront
開発者ガイド (API バージョン 2016-09-29)

既存のコンテンツと CloudFront ディストリビューションを更新する

CloudFront が配信するように設定されている既存のコンテンツを更新するには、次の 2 つの方法があります。

  • 同じ名前を使用してファイルを更新する

  • ファイル名にバージョン識別子を使用して更新する

CloudFront が提供するコンテンツを管理しやすいように、ファイル名またはフォルダ名にバージョン識別子を使用することをお勧めします。

バージョン付きのファイル名を使用した既存ファイルの更新

CloudFront ディストリビューション内の既存のファイルを更新する場合、何らかのバージョン識別名をファイル名またはディレクトリ名に含めて、コンテンツを容易に制御できるようにすることをお勧めします。この識別名には、日付タイムスタンプ、連番など、同じオブジェクトの 2 つのバージョンを区別する方法を使用できます。

たとえば、グラフィックファイルに image.jpg ではなく image_1.jpg という名前を付けることができます。ファイルの新しいバージョンを供給する場合は、新しいファイルに image_2.jpg という名前を付けて、image_2.jpg を指すようにお使いのウェブアプリケーションまたはウェブサイトのリンクを更新します。また、すべてのグラフィックを images_v1 ディレクトリに配置することもできます。1 つ以上のグラフィックの新しいバージョンを供給する場合は、新しい images_v2 ディレクトリを作成し、そのディレクトリを指すようにリンクを更新します。バージョニングを行うことで、CloudFront で新しいバージョンの供給を開始するのにオブジェクトの有効期限切れを待つ必要がなくなり、オブジェクトの無効化に対して料金を支払う必要もなくなります。

ファイルにバージョンを設定した場合も、有効期限切れ日付を設定することをお勧めします。詳細については、「コンテンツがエッジキャッシュに保持される期間の管理 (有効期限)」を参照してください。

注記

バージョン付きのファイル名またはディレクトリ名の指定は、Amazon S3 オブジェクトのバージョニングとは関係がありません。

同じファイル名を使用した既存ファイルの更新

CloudFront ディストリビューション内の既存のファイルを更新し、同じファイル名を使用することができますが、これはお勧めしません。CloudFront は、ファイルが要求されたときにのみ、ファイルをエッジロケーションに配信します。新しいまたは更新されたファイルがオリジンに配置されたときではありません。オリジン内の既存のファイルを同じ名前の新しいバージョンで更新した場合、以下の両方のイベントが発生するまで、エッジロケーションはオリジンから新しいバージョンを取得しません。

ファイルを置き換えるときに同じ名前を使用した場合、CloudFront で新しいファイルの供給を開始するタイミングを制御できません。デフォルトでは、CloudFront はエッジロケーションのキャッシュにファイルを 24 時間保持します。 (詳細については、「コンテンツがエッジキャッシュに保持される期間の管理 (有効期限)」を参照してください)。たとえば、ウェブサイト全体のすべてのファイルを置き換えると仮定します。

  • 人気のないページのファイルは、どのエッジロケーションにも存在しない可能性があります。これらのファイルの新しいバージョンについては、次回のリクエストで供給が開始されます。

  • ページによっては、そのファイルが一部のエッジロケーションに存在し、他のエッジロケーションに存在しない場合があります。したがって、供給元のエッジロケーションによって、エンドユーザーに表示されるバージョンが異なります。

  • 最も人気のあるページの新しいバージョンのファイルは、最大で 24 時間供給されない可能性があります。そのようなページのファイルは、新しいバージョンで置き換えられる直前に、CloudFront が取り込んでいる可能性があるためです。