share facebook facebook twitter menu hatena pocket slack

S3オリジンのCloudFrontでインデックスドキュメントやエラードキュメントを利用できるようにする

鈴木 宏康

WRITTEN BY 鈴木 宏康

CloudFrontにはDefault Root Objectという設定項目があり、
http://cloudfront.suz-lab.com/ 等のURLでアクセスすると、
上記の設定項目で指定したファイル(ページ)が表示されるようになります。

しかし、http://cloudfront.suz-lab.com/sub/ 等のサブディレクトリに対するアクセスには
対応していません。

また、ステータスコード404等に対するエラードキュメントに関しても、
独自のエラーページを表示させることはできません。

CloudFrontのオリジンをS3にしている場合(S3オリジン)は、上記の制限が効いてしまいます。

尚、カスタムオリジンの場合はオリジンによるので、オリジンサーバがインデックスドキュメントや
エラードキュメントを指定できるようにしていれば、独自のエラードキュメントやアブディレクトリに
対するインデックスドキュメントも可能となります。

しかし、コンテンツは高い可用性と耐久性を誇るS3に配置しておきたいところです。

もとより、S3にはWeb Site Hostingという機能があるので、これを有効にすると
サブディレクトリを含めたインデックスドキュメントとエラードキュメントを
独自のファイルに指定することができます。
但し、Web Site Hosting用のURLからアクセスすることで、上記の機能を利用することができます。

再度、CloudFrontの話しに戻ります。

CloudFrontを設定する際に、S3オリジンでバケットを指定するのではなく、
カスタムオリジンで上記のWeb Site HostingのURLを指定することも、可能となっています。

カスタムオリジンにすることでWeb Site Hosting機能の結果がキャッシュされるので、
実質、サブディレクトリを含めたインデックスドキュメントや独自のエラードキュメントも
利用できていることになります。

キャッシュの期間には注意が必要です。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。