AWS CloudFront で接続先の S3 バケットを変更する

Web サイトを(URL は同じ前提で)リニューアルする際、旧 Web サイトは残したまま、新 Web サイトを構築するケースがあると思います。
AWS の CloudFront と S3 を使って、以下の手順で旧 Web サイトから新 Web サイトに切り替えることが可能です。

  1. 旧 Web サイトが保存されているバケットとは別に、新 Web サイトを保存するバケットを作成
  2. CloudFront の S3 接続先を、新 Web サイトを保存しているバケットに切り替え
  3. CloudFront 側でキャッシュを削除 

具体的な手順は以下のとおりです。

前提

バケット「kobe-bucket01」および「kobe-bucket02」を作成し、それぞれに、旧 Web サイトおよび新 Web サイトを想定した以下の Web ファイルをアップロードします。
バケットの作成方法、および Web ファイルのアップロード方法は以下をご参照ください。

関連記事

Amazon S3 の静的ウェブホスティングを使用して、Web サイトを構築する手順を紹介します。 Amazon S3 とは Amazon S3(Amazon Simple Storage Service)とは、オブジェクトスト[…]

旧 Web サイト(kobe-bucket01 に保存)

新 Web サイト(kobe-bucket02 に保存)

CrondFront の URL は、旧サイトが保存されている kobe-bucket01 に保存されている前提です。

バケットの切り替え

CloudFront に接続して、左ペインの「ディストリビューション」から対象のディストリビューションを選択し、「編集」をクリックします。

オリジンドメインで、切替先のバケット(例では kobe-bucket02)を選択し、「変更を保存」をクリックします。

キャッシュ削除」>「キャッシュ削除を作成」をクリックします。

オブジェクトパスに /* を入力し、「キャッシュ削除を作成」をクリックします。

確認

バケット切り替え前は、旧サイトに接続できていることを確認します。

バケットを切り替え、キャッシュクリア後は、新サイトに接続できていることを確認します。

以上

参考書籍