Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@komazawa

S3のRedirection RulesをCloudFrontに反映させる設定

S3とCloudFrontの組み合わせについて

CloudFrontはコンテンツ配信元となるEC2、S3のコンテンツを高速に配信する仕組みです。例えばS3にある画像・動画をCloudFrontを利用して世界各地にあるエッジサーバにキャッシュさせます。エンドユーザが利用する際に、近くに配置されているエッジサーバから配信されるようになり高速のコンテンツ配信ができます。CDN(Contents Delivery Network)の機能を実装できます。

課題

S3に置いた画像を配信しているサイトがあったとして、サイトに埋め込まれている画像がなくてエラー画像をリダイレクトしたい場合はあると思います。今回は、指定した画像がなかった場合に、エラー画像を表示する設定(S3の設定)と、そのリダイレクト設定をCloudFrontに反映させる方法を書きます。

S3の設定

S3のStatic Website Hostingを有効して、[Edit Redirection Rules]でリダイレクトの設定をします。今回は、リダイレクト設定の詳細は省きます。
リダイレクト設定の公式ドキュメント
スクリーンショット_2015-05-14_20_28_43_1.png

注意点

※正規表現が使えないので、リダイレクト設定が長くなることもあります。
※ルールティングルールの要素で[KeyPrefixEquals]オブジェクトキー名のプレフィックス(接頭)に対するリクエストのリダイレクトができるが、拡張子などの接尾に対するリクエストはできないっぽい。

CloudFrontの設定

CloudFrontで「ディストリビューション(配布設定)」を作成しますが、[Origin Domain Name]でオリジンサーバを選択する際に、ドロップダウンリストでS3を選択するとリダイレクト設定が有効になりません。

スクリーンショット_2015-05-14_20_24_43.png

任意のオリジンサーバを記載することできますので、S3のStatic Website HostingにあるEndpointを記載します。

スクリーンショット_2015-05-14_20_19_33.png

実際にS3のリダイレクトルールが反映されているか検証します。

参考URL

めちゃめちゃ勉強になりました。ありがとうございます!!
Amazon S3 + CloudFrontによるYumリポジトリにリダイレクトルールを適用する
http://dev.classmethod.jp/cloud/yum-repo-s3cf-redirect/
CDP:Cache Distributionパターン
http://aws.clouddesignpattern.org/index.php/CDP:Cache_Distribution%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
7
Help us understand the problem. What are the problem?