メニュー
Amazon CloudFront
開発者ガイド (API Version 2016-09-29)

Amazon S3 オリジンおよびカスタムオリジンを使用したウェブディストリビューション

ウェブディストリビューションを作成する場合、エッジロケーションに配信するファイルに対するリクエストを CloudFront がどの場所に送信するかを指定します。CloudFront は、オリジンとして Amazon S3 バケットおよび HTTP サーバー(ウェブサーバーなど)を使用することをサポートします。

オリジンとしての Amazon S3 バケットの使用

ディストリビューションのオリジンとして Amazon S3 を使用する場合、CloudFront が配信するすべてのオブジェクトを、Amazon S3 バケットに配置します。オブジェクトを Amazon S3 に格納するには、Amazon S3 でサポートされる任意の方法を使用できます(例: Amazon S3 コンソールや API、サードパーティツール)。他の Amazon S3 バケットと同様に、バケット内に階層を作成してオブジェクトを保存できます。

既存の Amazon S3 バケットを CloudFront オリジンサーバーとして使用してもバケットに変更は一切ありません。Amazon S3 オブジェクトの保存やアクセスで通常使用しているとおりに通常の Amazon S3 価格でバケットを使用できます。バケットへのオブジェクトの保存には、通常の Amazon S3 料金が発生します。CloudFront の使用料の詳細については、「CloudFront レポート」を参照してください。

重要

バケットが CloudFront で正常に機能するには、その名前が DNS 命名要件に沿ったものでなければなりません。詳細については、「Amazon Simple Storage Service 開発者ガイド」の「バケットの制約と制限」を参照してください。

CloudFront がオブジェクトを取得する Amazon S3 バケットを指定するとき、バケット名を指定する方法は、バケットをウェブサイトエンドポイントとして構成しているかどうかによって変わります。

バケットはウェブサイトエンドポイントとして構成されていない

一般に、次の形式を使用します。

bucket-name.s3.amazonaws.com

バケットが米国スタンダードリージョンにあり、Amazon S3 がバージニア北部の施設にリクエストをルーティングするように設定する場合は、次の形式を使用します。

bucket-name.s3-external-1.amazonaws.com

この形式でバケット名を指定した場合、以下の CloudFront 機能を使用することができます。

バケットはウェブサイトエンドポイントとして構成されている

バケットの Amazon S3 静的ウェブサイトホスティングエンドポイントを入力します。この値は、Amazon S3 コンソールの [Static Website Hosting] の [Properties] ページに表示されます。

この形式でバケット名を指定すると、Amazon S3 リダイレクトと Amazon S3 カスタムエラードキュメントを使用できます。(CloudFront でもカスタムエラーページが提供されています。詳細については、「エラーレスポンスのカスタマイズ」を参照してください。) Amazon S3 の諸機能について詳しくは、「Amazon S3 ドキュメント」を参照してください。

以下の形式を使用してバケットを指定しないでください。

  • Amazon S3 のパススタイル(s3.amazonaws.com/bucket-name

  • Amazon S3 の CNAME(ある場合)

Amazon EC2 または他のカスタムオリジンの使用

カスタムオリジンは、HTTP サーバーです(例: ウェブサーバー)。HTTP サーバーには、Amazon EC2 インスタンス、またはプライベートで管理する HTTP サーバーを使用できます。カスタムオリジンを使用する場合、サーバーの DNS 名に加えて、オリジンからオブジェクトを取得するときに CloudFront が使用する HTTP ポート、HTTPS ポート、およびプロトコルを指定します。

カスタムオリジンを使用する場合、以下の機能を除いて、ほとんどの CloudFront 機能がサポートされます。

  • RTMP ディストリビューション – サポートされません。

  • プライベートコンテンツ – 署名付き URL を使用してカスタムオリジンからコンテンツを配信できますが、CloudFront の場合、カスタムオリジンにアクセスするには、オリジンがパブリックにアクセス可能な状態になっている必要があります。詳細については、「CloudFront を使用してプライベートコンテンツを供給する」を参照してください。

カスタムオリジンを使用する場合の要件および推奨事項については、「Amazon EC2 と他のカスタムオリジンの使用に関する要件および推奨事項」を参照してください。