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

ウェブディストリビューションを作成または更新する場合に指定する値

新しいウェブディストリビューションの作成や、既存のディストリビューションの更新を行う場合、以下の値を指定します。CloudFront コンソールを使用したウェブディストリビューションの作成または更新について詳しくは、該当するトピックを参照してください。

配信形式

オリジンの設定

キャッシュ動作の設定

ディストリビューションの詳細

Custom Error Pages(カスタムエラーページ)と Error Caching(エラーキャッシュ)

制限

配信形式

ディストリビューションを作成する場合、配信方法を指定します。ウェブディストリビューションの場合、この値は常に [Web] です。既存のディストリビューションの配信方法を変更することはできません。

オリジンの設定

ディストリビューションを作成または更新する場合、1 つ以上の場所に関する情報を指定します。これは、オリジンと呼ばれるものであり、ウェブコンテンツのオリジナルバージョンを保存する場所です。CloudFront はオリジンからウェブコンテンツを取得し、世界中のエッジサーバーネットワーク経由でビューアにウェブコンテンツを供給します。各オリジンは、Amazon S3 バケットまたは HTTP サーバー(ウェブサーバーなど)です。

ディストリビューションに作成できるオリジンの数に関する現在の制限については、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon CloudFront の上限」を参照してください。制限の引き上げを要求するには、「https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions」を参照してください。

オリジンを削除する場合は、まず、そのオリジンに関連付けられたキャッシュ動作を編集または削除する必要があります。

警告

オリジンを削除する場合は、そのオリジンによって以前供給されていたファイルが別のオリジンで利用可能であり、現在、そのファイルへのリクエストがキャッシュ動作によって新しいオリジンにルーティングされていることを確認します。

ディストリビューションを作成または更新する場合、オリジンごとに以下の値を指定します。

オリジンドメイン名

CloudFront がこのオリジンのオブジェクトの取得先としている Amazon S3 バケットまたは HTTP サーバーの DNS ドメイン名。以下に例を示します。

  • Amazon S3 バケットmyawsbucket.s3.amazonaws.com

  • Amazon EC2 インスタンスec2-203-0-113-25.compute-1.amazonaws.com

  • Elastic Load Balancingロードバランサーmy-load-balancer-1234567890.us-west-2.elb.amazonaws.com

オリジンが HTTP サーバーである場合は、リソースのドメイン名を入力します。ファイルはパブリックに読み取り可能である必要があります。

オリジンが CloudFront コンソールの Amazon S3 バケットである場合は、[Origin Domain Name] フィールドを選択して、現在の AWS アカウントに関連付けられた Amazon S3 バケットの一覧を表示します。次の点に注意してください。

  • バケットがウェブサイトとして構成されている場合は、バケットの Amazon S3 静的ウェブサイトホスティングエンドポイントを入力します。[Origin Domain Name] フィールドの一覧からバケット名を選択しないでください。静的ウェブサイトホスティングエンドポイントは、Amazon S3 コンソールの [Static Website Hosting] の [Properties] ページに表示されます。

  • バケットに Amazon S3 Transfer Acceleration を設定した場合、[Origin Domain Name] に s3-accelerate エンドポイントを指定しないでください。

  • 使用しているバケットが別の AWS アカウントのものであり、そのバケットがウェブサイトとして構成されていない場合は、次の形式で名前を入力します。

    bucket-name.s3.amazonaws.com

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

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

    バケットが 欧州 (フランクフルト) リージョンにある場合は、次の形式を使用することもできます。

    bucket-name.s3.eu-central-1.amazonaws.com

  • CloudFront のオリジンアクセスアイデンティティを使用して Amazon S3 内のコンテンツを保護しない限り、ファイルをパブリックに読み出し可能とする必要があります。詳細については、「オリジンアクセスアイデンティティを使用して Amazon S3 コンテンツへのアクセスを制限する」を参照してください。

重要

オリジンが Amazon S3 バケットの場合、バケット名は DNS 命名要件に準拠する必要があります。詳細については、「Amazon Simple Storage Service 開発者ガイド」の「バケットの制約と制限」を参照してください。

オリジンの [Origin Domain Name] の値を変更すると、CloudFront は CloudFront エッジロケーションに対する変更の複製を直ちに開始します。CloudFront は、該当のエッジロケーションでディストリビューション構成が更新されるまで、リクエストを以前の HTTP サーバーまたは Amazon S3 バケットに引き続き転送します。該当のエッジロケーションでディストリビューション構成が更新されると、CloudFront は新しい HTTP サーバーまたは Amazon S3 バケットへのリクエストの転送を直ちに開始します。

オリジンを変更しても、CloudFront が、新しいオリジンからのオブジェクトでエッジキャッシュを再生成する必要はありません。アプリケーション内でビューアのリクエストが変更されていない限り、各オブジェクトの TTL の有効期限が切れるか、要求頻度の低いオブジェクトが削除されるまで、CloudFront は、引き続き、エッジキャッシュにすでに保持されているオブジェクトを供給します。

オリジンのパス

CloudFront で Amazon S3 バケットまたはカスタムオリジンのディレクトリにコンテンツがリクエストされるようにするには、/ から開始してディレクトリパスを入力します。このディレクトリパスが CloudFront によって [Origin Domain Name] の値に追加されます(例: cf-origin.example.com/production/images)。パスの末尾には / を追加しないでください。

たとえば、特定のディストリビューションに対して次の値を指定したとします。

  • [Origin Domain Name] – myawsbucket という名前の Amazon S3 バケット

  • [Origin Path] – /production

  • [Alternate Domain Names (CNAMEs)] – example.com

この場合、ユーザーがブラウザに「example.com/index.html」と入力すると、CloudFront は myawsbucket/production/index.html に対するリクエストを Amazon S3 に送信します。

ユーザーがブラウザに「example.com/acme/index.html」と入力すると、CloudFront は myawsbucket/production/acme/index.html に対するリクエストを Amazon S3 に送信します。

オリジン ID

このディストリビューション内でこのオリジンを他のオリジンから一意に区別する文字列。デフォルトのキャッシュ動作に加えてキャッシュ動作を作成する場合、ここで指定したオリジン ID を使用して、そのキャッシュ動作のパスパターンにリクエストが一致した場合に CloudFront がリクエストをルーティングするオリジンを識別します。詳細については、「キャッシュ動作の設定」を参照してください。

バケットアクセスの制限(Amazon S3 のみ)

Amazon S3 URL ではなく CloudFront URL のみを使用して Amazon S3 バケット内のオブジェクトにアクセスするようエンドユーザーに要求する場合は、[Yes] を選択します。次に、適用可能な値を指定します。

エンドユーザーが CloudFront URL または Amazon S3 URL を使用してオブジェクトにアクセスできるようにするには、[No] を選択します。

詳細については、「オリジンアクセスアイデンティティを使用して Amazon S3 コンテンツへのアクセスを制限する」を参照してください。

URL のみ使用してカスタムオリジン内のオブジェクトにアクセスするよう要求する方法の詳細については、「CloudFrontカスタムヘッダーを使用してカスタムオリジンのコンテンツへのアクセスを制限する」を参照してください。

オリジンアクセスアイデンティティ(Amazon S3 のみ)

[Restrict Bucket Access] で [Yes] を選択した場合、新しいオリジンアクセスアイデンティティを作成するか、AWS アカウントに関連付けられた既存のオリジンアクセスアイデンティティを使用するかを選択します。オリジンアクセスアイデンティティがすでにある場合は、それを再利用し、メンテナンスを簡素化することをお勧めします。オリジンアクセスアイデンティティの詳細については、「オリジンアクセスアイデンティティを使用して Amazon S3 コンテンツへのアクセスを制限する」を参照してください。

新しいアイデンティティに関するコメント(Amazon S3 のみ)

[Origin Access Identity] で [Create a New Identity] を選択した場合、新しいオリジンアクセスアイデンティティを識別するコメントを入力します。このディストリビューションが作成されると、CloudFront はオリジンアクセスアイデンティティを作成します。

アイデンティティ(Amazon S3 のみ)

[Origin Access Identity] で [Use an Existing Identity] を選択した場合、使用するオリジンアクセスアイデンティティを選択します。別の AWS アカウントに関連付けられたオリジンアクセスアイデンティティを使用することはできません。

バケットに読み取り許可を付与する(Amazon S3 のみ)

CloudFront で、オリジンアクセスアイデンティティに Amazon S3 バケット内のオブジェクトの読み取り許可を自動的に付与するには、[Yes, Update Bucket Policy] を選択します。

重要

[Yes, Update Bucket Policy] を選択すると、CloudFront は、指定されたオリジンアクセスアイデンティティにバケット内のオブジェクトの読み取り許可を付与するようにバケットポリシーを更新します。ただし、CloudFront がバケットポリシー内の既存の許可、または個々のオブジェクトに対する許可を削除することはありません。現在、Amazon S3 URL を使用してバケット内のオブジェクトにアクセスするための許可を持っているユーザーは、CloudFront がバケットポリシーを更新した後もその許可を依然として持っています。既存のバケットポリシー、およびバケット内のオブジェクトに対する既存の許可を表示または変更するには、Amazon S3 から提供される方法を使用します。詳細については、「オリジンアクセスアイデンティティに Amazon S3 バケット内のオブジェクトの読み取り許可を付与する」を参照してください。

許可を手動で更新する場合、たとえば、バケットの許可を更新する代わりにオブジェクトに対する ACL を更新する場合は、[No, I will Update Permissions] を選択します。

オリジン SSL プロトコル (Amazon EC2、Elastic Load Balancing、および他のカスタムオリジンのみ)

オリジンで HTTPS 接続を確立するときに CloudFront が使用できる SSL プロトコルを選択します。SSLv3 プロトコルの安全性が低いため、オリジンが TLSv1 以降をサポートしていない場合にのみ SSLv3 を選択することをお勧めします。

注記

SSLv3 を選択する場合、CloudFront は TLS を使用してオリジンへの接続を試みません。

オリジンが Amazon S3 バケットの CloudFront である場合は、TLSv1.2 を必ず使用します。

オリジンプロトコルポリシー (Amazon EC2、Elastic Load Balancing、および他のカスタムオリジンのみ)

CloudFront がオリジンサーバーからオブジェクトをフェッチするときに使用するプロトコルポリシー。

重要

Amazon S3 バケットをウェブサイトエンドポイントとして構成している場合、[HTTP Only] を指定する必要があります。Amazon S3 はこの構成では HTTPS 接続をサポートしていません。

適用可能な値を選択します。

  • [HTTP Only]: CloudFront は HTTP のみを使用してオリジンにアクセスします。

  • [HTTPS Only:]: CloudFront は HTTPS のみを使用してオリジンにアクセスします。

  • [Match Viewer]: CloudFront は、ビューアのリクエストのプロトコルに応じて HTTP または HTTPS を使用し、オリジンと通信します。ビューアが HTTP と HTTPS の両方のプロトコルを使用してリクエストを行った場合も、CloudFront がオブジェクトをキャッシュするのは 1 回だけです。

    重要

    CloudFront がこのオリジンに転送する HTTPS ビューアリクエストの場合、オリジンサーバーの SSL 証明書のドメイン名のうち 1 つは、[Origin Domain Name] で指定したドメイン名に一致する必要があります。それ以外の場合、CloudFront は、ビューアリクエストに対して、リクエストされたオブジェクトではなく、HTTP ステータスコード 502(不正なゲートウェイ)を返します。詳細については、「CloudFront で SSL/TLS の証明書を使用するための要件」を参照してください。

HTTP ポート (Amazon EC2、Elastic Load Balancing、および他のカスタムオリジンのみ)

オプション。カスタムオリジンがリッスンしている HTTP ポート。有効な値には、ポート 80、443、および 1024 ~ 65535 が含まれます。デフォルト値はポート 80 です。

HTTPS ポート (Amazon EC2、Elastic Load Balancing、および他のカスタムオリジンのみ)

オプション。カスタムオリジンがリッスンしている HTTPS ポート。有効な値には、ポート 80、443、および 1024 ~ 65535 が含まれます。デフォルト値はポート 443 です。

オリジンのカスタムヘッダー

リクエストをオリジンに転送するときに CloudFront が常にカスタムヘッダーを含めるようにする場合は、次の値を指定します。

ヘッダー名

CloudFront がオリジンに転送するヘッダーの名前。

[Custom Header] フィールドで指定したヘッダーの値。

詳細については、「カスタムヘッダーをオリジン(ウェブディストリビューションのみ)へ転送する」を参照してください。

現在のように、オリジンに転送できるカスタムヘッダーの最大数、カスタムヘッダー名と値の最大長、およびすべてのヘッダー名と値の全長に対する現在の制限については、「制限」を参照してください。

キャッシュ動作の設定

キャッシュ動作を使用すると、ウェブサイトにあるファイルの特定の URL パスパターンに応じてさまざまな CloudFront 機能を構成できます。たとえば、CloudFront のオリジンサーバーとして使用しているウェブサーバーの images ディレクトリ内にあるすべての .jpg ファイルに 1 つのキャッシュ動作を適用することができます。キャッシュ動作ごとに構成可能な機能として以下が含まれます。

  • パスパターン。

  • CloudFront ディストリビューションに対して複数のオリジンを構成した場合、CloudFront でリクエストをどのオリジンに転送するか。

  • クエリ文字列をオリジンに転送するかどうか。

  • 指定したファイルへのアクセスに署名付き URL を必要とするかどうか。

  • これらのファイルへのアクセスに HTTPS を使用するようユーザーに要求するかどうか。

  • オリジンがファイルに追加する Cache-Control ヘッダーの値に関係なく、これらのファイルを CloudFront キャッシュに保持する最小時間。

新しいディストリビューションを作成する場合、デフォルトのキャッシュ動作の設定を指定します。デフォルトのキャッシュ動作では、ディストリビューションの作成時に指定されたオリジンにすべてのリクエストが自動的に転送されます。ディストリビューションを作成した後、追加のキャッシュ動作を作成し、パスパターン(例: *.jpg)に一致するオブジェクトのリクエストを受け取ったときに CloudFront がどのように応答するかを定義できます。追加のキャッシュ動作を定義した場合、デフォルトのキャッシュ動作は常に最後に処理されます。他のキャッシュ動作は、CloudFront コンソールに表示された順序で処理されるか、CloudFront API が使用されている場合は、ディストリビューションの DistributionConfig エレメントに示された順序で処理されます。詳細については、「パスパターン」を参照してください。

キャッシュ動作を作成する場合、CloudFront がオブジェクトの取得先とする 1 つのオリジンを指定します。結果として、CloudFront がすべてのオリジンからオブジェクトを配信する場合、少なくともオリジンと同じ数のキャッシュ動作(デフォルトのキャッシュ動作を含む)が必要です。たとえば、2 つのオリジンとデフォルトのキャッシュ動作のみがある場合、デフォルトのキャッシュ動作によって、CloudFront は 1 つのオリジンからオブジェクトを取得します。その他のオリジンは一切使用されません。

ディストリビューションに追加できるキャッシュ動作の数に関する現在の制限については、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon CloudFront の上限」を参照してください。制限の引き上げを要求するには、「https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions」を参照してください。

パスパターン

パスパターン(例: images/*.jpg)を使用して、このキャッシュ動作をどのリクエストに割り当てるかを指定します。CloudFront がエンドユーザーリクエストを受け取ると、要求されたパスは、ディストリビューションに含まれるキャッシュ動作の順序でパスパターンと照合されます。最初の一致によって、そのリクエストに適用されるキャッシュ動作が決まります。たとえば、以下の 3 つのパスパターンを持つ 3 つのキャッシュ動作がこの順序で設定されているとします。

  • images/*.jpg

  • images/*

  • *.gif

注記

オプションで、/images/*.jpg などのように、パスパターンの先頭にスラッシュ (/) を含めることができます。CloudFront の動作は先頭のスラッシュ (/) の有無で変化しません。

ファイル images/sample.gif のリクエストは 1 番目のパスパターンを満たさないため、関連付けられたキャッシュ動作はこのリクエストに適用されません。ファイルは 2 番目のパスパターンを満たします。リクエストは 3 番目のパスパターンにも一致しますが、2 番目のパスパターンに関連付けられたキャッシュ動作が適用されます。

注記

新しいディストリビューションを作成すると、デフォルトのキャッシュ動作の [Path Pattern] の値が *(すべてのファイル)に設定され、変更することはできません。この値によって、CloudFront は、オブジェクトに対するすべてのリクエストを、オリジンドメイン名 フィールドに指定されたオリジンに転送します。オブジェクトのリクエストが、他のどのキャッシュ動作のパスパターンにも一致しない場合、CloudFront は、デフォルトのキャッシュ動作に指定された動作を適用します。

警告

パスパターンとその順序を慎重に定義します。適切に定義されていない場合、コンテンツへの意図されないアクセスがユーザーに与えられる場合があります。たとえば、リクエストが、2 つのキャッシュ動作のパスパターンに一致したと仮定します。最初のキャッシュ動作は署名付き URL を要求しませんが、2 番目のキャッシュ動作は署名付き URL を要求します。ユーザーは署名付き URL を使用せずにオブジェクトにアクセスできます。これは、CloudFront が、最初の一致に関連付けられたキャッシュ動作を処理するためです。

指定されたパスは、指定されたディレクトリ内のあらゆるファイル、および指定されたディレクトリ以下のサブディレクトリ内のあらゆるファイルのリクエストに適用されます。CloudFront はパスパターンを評価する際にクエリ文字列や Cookie を考慮しません。たとえば、images ディレクトリに product1 および product2 サブディレクトリが含まれる場合、パスパターン images/*.jpg は、imagesimages/product1、および images/product2 ディレクトリ内のあらゆる .jpg ファイルのリクエストに適用されます。異なるキャッシュ動作を、images および images/product2 ディレクトリのファイルではなく images/product1 ディレクトリのファイルに割り当てる場合、images/product1 用の独立したキャッシュ動作を作成し、そのキャッシュ動作を images ディレクトリ用のキャッシュ動作の上(前)の位置に移動します。

パスパターンには、以下のワイルドカード文字を使用できます。

  • * は、0 個以上の文字に一致します。

  • ? は、正確に 1 個の文字に一致します。

以下の例を使用して、ワイルドカード文字がどのように機能するかを示します。

パスパターン パスパターンに一致するファイル

*.jpg

すべての .jpg ファイル。

images/*.jpg

images ディレクトリ内、および images ディレクトリ下のサブディレクトリ内のすべての .jpg ファイル。

a*.jpg

  • ファイル名が a で始まるすべての .jpg ファイル(例: apple.jpgappalachian_trail_2012_05_21.jpg)。

  • ファイルパスが a で始まるすべての .jpg ファイル(例: abra/cadabra/magic.jpg)。

a??.jpg

ファイル名が a で始まり、ファイル名の後に正確に他の 2 文字が続くすべての .jpg ファイル(例: ant.jpgabe.jpg)。

*.doc*

ファイル名拡張子が .doc で始まるすべてのファイル(例: .doc.docx.docm ファイル)。この場合、パスパターン *.doc? を使用することはできません。このパスパターンは .doc ファイルのリクエストに適用されないためです。? ワイルドカード文字は正確に 1 個の文字を置き換えるものです。

パスパターンの最大長は 255 文字です。値には以下の文字を含めることができます。

  • A ~ Z、a ~ z

    パスパターンでは大文字と小文字が区別されるので、パスパターン *.jpg はファイル LOGO.JPG には適用されません。

  • 0-9

  • _ - . * $ / ~ " ' @ : +

  • & (& として受け渡しされます)

オリジン(既存のディストリビューションのみ)

既存のオリジンの [Origin ID] の値を入力します。これは、リクエスト(http://example.com/logo.jpg など)がキャッシュ動作(*.jpg)またはデフォルトキャッシュ動作(*)のパスパターンに一致するときに、CloudFront にリクエストをルーティングさせる宛先となるオリジンです。

ビューアプロトコルポリシー

CloudFront エッジロケーションのコンテンツへのアクセスに使用するビューアのプロトコルポリシーを選択します。

  • [HTTP and HTTPS]: ビューアは両方のプロトコルを使用できます。

  • [Redirect HTTP to HTTPS]: ビューアは両方のプロトコルを使用できますが、HTTP リクエストは自動的に HTTPS リクエストにリダイレクトされます。

  • [HTTPS Only]: ビューアは、HTTPS を使用している場合にのみ、コンテンツにアクセスできます。

詳細については、「ビューアと CloudFront との通信で HTTPS を必須にする」を参照してください。

許可される HTTP メソッド

CloudFront が処理してオリジンに転送する HTTP メソッドを指定します。

  • [GET, HEAD]: CloudFront を使用して、オリジンからのオブジェクトの取得またはオブジェクトヘッダーの取得のみを行うことができます。

  • [GET, HEAD, OPTIONS]: CloudFront を使用して、オリジンからのオブジェクトの取得、オブジェクトヘッダーの取得、またはオリジンサーバーがサポートするオプションのリスト取得のみを行うことができます。

  • [GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE]: CloudFront を使用して、オブジェクトの取得、追加、更新、削除、およびオブジェクトヘッダーの取得を行うことができます。また、ウェブフォームからのデータの送信など、その他の POST 操作も実行できます。

    注記

    CloudFront は、GET リクエスト、HEAD リクエスト、および(オプションで)OPTIONS リクエストに対する応答をキャッシュします。CloudFront はその他のメソッドを使用するリクエストへのレスポンスをキャッシュしません。

ディストリビューションのオリジンとして Amazon S3 バケットを使用し、CloudFront オリジンアクセスアイデンティティを使用する場合、POST リクエストは一部の Amazon S3 リージョンでサポートされず、これらリージョンの PUT リクエストでは追加のヘッダーが必要です。詳細については、「署名バージョン 4 のみをサポートする Amazon S3 リージョンでのオリジンアクセスアイデンティティの使用」を参照してください。

警告

[GET, HEAD, OPTIONS] または [GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE] を選択した場合は、望ましくない操作がユーザーによって実行されないように、Amazon S3 バケットまたはカスタムオリジンへのアクセスを制限する必要が生じることがあります。以下の例は、アクセスを制限する方法を示しています。

  • Amazon S3 をディストリビューションのオリジンとして使用している場合: Amazon S3 コンテンツへのアクセスを制限する CloudFront オリジンアクセスアイデンティティを作成して、そのオリジンアクセスアイデンティティに適切な許可を付与します。たとえば、PUT を使用したいというだけの理由で、上記のメソッドを受け入れて転送するように CloudFront を構成するという場合は、Amazon S3 バケットのポリシーまたは ACL を DELETE リクエストを適切に処理するように引き続き構成する必要があります。詳細については、「オリジンアクセスアイデンティティを使用して Amazon S3 コンテンツへのアクセスを制限する」を参照してください。

  • カスタムオリジンを使用している場合: すべてのメソッドを処理するようにオリジンサーバーを構成します。たとえば、POST を使用したいというだけの理由で、上記のメソッドを受け入れて転送するように CloudFront を構成するという場合は、オリジンサーバーを DELETE リクエストを適切に処理するように引き続き構成する必要があります。

キャッシュされる HTTP メソッド

ビューアから OPTIONS リクエストが送信されたときに、オリジンからの応答を CloudFront でキャッシュするかどうかを指定します。CloudFront は、GET リクエストと HEAD リクエストへの応答を常にキャッシュします。

Forward Headers

CloudFront がリクエストヘッダーをオリジンサーバーに転送し、ヘッダー値に基づいてオブジェクトをキャッシュするかを指定します。

  • [All] – CloudFront はキャッシュ動作のためにすべてのヘッダーをオリジンに転送します。

    重要

    すべてのヘッダーをオリジンに転送するように CloudFront を設定した場合、CloudFront はこのキャッシュ動作に関連付けられたオブジェクトをキャッシュしません。その代わりに、すべてのリクエストをオリジンに送信します。

  • [Whitelist] – CloudFront は指定されたヘッダーのみをオリジンに転送します。Whitelist Headers]を使って、CloudFront が転送するヘッダーを選択します。

  • [None (Improves Caching)] – CloudFront はデフォルトヘッダーをオリジンに転送しますが、ヘッダー値に基づいてオブジェクトをキャッシュすることはしません。

オリジンとして Amazon S3 バケットを使用している場合は、Amazon S3 が 3 つのヘッダー(Access-Control-Request-HeadersAccess-Control-Request-MethodOrigin)のみを処理することに注意してください。リクエストのその他のヘッダーはすべて無視されます。

ヘッダーのオリジン転送の詳細については、「リクエストヘッダーに基づいてオブジェクトをキャッシュするように CloudFront を設定する」を参照してください。HTTP ヘッダーの一覧と、CloudFront がデフォルトでヘッダーをオリジンに転送するかどうかの情報については、「HTTP リクエストヘッダーと CloudFront の動作」を参照してください。

Whitelist Headers

オブジェクトをキャッシュする際に CloudFront が考慮するヘッダーを指定します。使用可能なヘッダーのリストからヘッダーを選択し、[Add] を選択します。カスタムヘッダーを転送するには、フィールドにそのヘッダーの名前を入力して、[Add Custom] を選択します。

キャッシュ動作ごとにホワイトリストに登録できるヘッダーの数に関する現在の制限については、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon CloudFront の上限」を参照してください。制限の引き上げを要求するには、「https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions」を参照してください。

オブジェクトキャッシュ

オリジンサーバーが Cache-Control ヘッダーをオブジェクトに追加して、オブジェクトを CloudFront キャッシュに保持する期間を制御している場合、Cache-Control の値を変更しないときは、[Use Origin Cache Headers] を選択します。

Cache-Control ヘッダーに関係なくオブジェクトを CloudFront キャッシュに保持する最小および最大期間を指定するには、また、オブジェクトに Cache-Control ヘッダーがないときにオブジェクトを CloudFront キャッシュに保持するデフォルトの期間を指定するには、[Customize] を選択します。その後、[Minimum TTL]、[Default TTL]、[Maximum TTL] の各フィールドで、該当する値を指定します。

詳細については、「CloudFront エッジキャッシュにオブジェクトを保持する時間の指定(有効期限切れ)」を参照してください。

最小 TTL

オブジェクトが更新されたかどうかを調べるために CloudFront がオリジンに別のリクエストを送るまでに、オブジェクトを CloudFront キャッシュに保持する最小期間(秒)を指定します。[Minimum TTL] のデフォルト値は 0(秒)です。

重要

キャッシュ動作のためにすべてのヘッダーをオリジンに転送するように CloudFront を設定した場合、CloudFront は関連付けられたオブジェクトをキャッシュしません。その代わり、CloudFront はそのオブジェクトに関するすべてのリクエストをオリジンに転送します。その設定では、[Minimum TTL] の値を 0 にする必要があります。

[Minimum TTL] の値を指定するには、[Object Caching] 設定で [Customize] オプションを選択する必要があります。

詳細については、「CloudFront エッジキャッシュにオブジェクトを保持する時間の指定(有効期限切れ)」を参照してください。

デフォルト TTL

オブジェクトが更新されたかどうかを調べるために CloudFront がオリジンに別のリクエストを送るまでオブジェクトを CloudFront キャッシュに保持するデフォルト期間(秒)を指定します。[Default TTL] に指定する値は、オリジンが Cache-Control max-ageCache-Control s-maxageExpires などの HTTP ヘッダーをオブジェクトに追加しないときにのみ適用されます。詳細については、「CloudFront エッジキャッシュにオブジェクトを保持する時間の指定(有効期限切れ)」を参照してください。

[Default TTL] の値を指定するには、[Object Caching] 設定で [Customize] オプションを選択する必要があります。

[Default TTL] のデフォルト値は 86,400(秒)、つまり 1 日です。[Minimum TTL] の値を 86,400(秒)より大きい値に変更する場合は、[Default TTL] のデフォルト値を [Minimum TTL] の値に変更します。

最大 TTL

オブジェクトが更新されたかどうかを CloudFront がオリジンに照会するまでに、オブジェクトを CloudFront キャッシュに保持する最大期間(秒)を指定します。[Maximum TTL] に指定する値は、オリジンが Cache-Control max-ageCache-Control s-maxageExpires などの HTTP ヘッダーをオブジェクトに追加するときにのみ適用されます。詳細については、「CloudFront エッジキャッシュにオブジェクトを保持する時間の指定(有効期限切れ)」を参照してください。

[Maximum TTL] の値を指定するには、[Object Caching] 設定で [Customize] オプションを選択する必要があります。

[Maximum TTL] のデフォルト値は 31,536,000(秒)、つまり 1 年です。[Minimum TTL] または [Default TTL] の値を 31,536,000(秒)より大きい値に変更する場合は、[Maximum TTL] のデフォルト値を [Default TTL] の値に変更します。

Cookie の転送(Amazon EC2 および他のカスタムオリジンのみ)

CloudFront からオリジンサーバーに Cookie を転送するかどうかと、転送する場合にどれを転送するかを指定します。選択された Cookie(Cookie のホワイトリスト)のみを転送するように選択した場合、Cookie 名を [Whitelist Cookies] フィールドに入力します。[All] を選択した場合、アプリケーションで使用されている Cookie の数に関係なく、CloudFront はすべての Cookie を転送します。

Amazon S3 は、Cookie を処理しません。オリジンに Cookie を転送するとキャッシュ可能性が低下します。リクエストを Amazon S3 オリジンに転送するキャッシュ動作の場合、[Forward Cookies] で [None] を選択します。

オリジンへの Cookie の転送の詳細については、「Cookie に基づいてオブジェクトをキャッシュするように CloudFront を設定する」を参照してください。

ホワイトリスト Cookie(Amazon EC2 および他のカスタムオリジンのみ)

[Forward Cookies] リストで [Whitelist] を選択した場合は、このキャッシュ動作に応じて CloudFront がオリジンサーバーに転送する Cookie の名前を [Whitelist Cookies] フィールドに入力します。各 Cookie 名を新しい行に入力します。

以下のワイルドカード文字を使用して Cookie 名を指定することができます。

  • * は、Cookie 名に含まれる 0 個以上の文字に一致します。

  • ? は、Cookie 名に含まれる 1 文字に一致します。

たとえば、オブジェクトに対するビューアリクエストに、次の名前の Cookie が含まれているとします。

userid_member-number

member-number は、各ユーザーに割り当てられた一意の値です。各メンバーについて、個別バージョンのオブジェクトを CloudFront でキャッシュするものとします。そのためにすべての Cookie をオリジンに転送することもできますが、ビューアリクエストには、CloudFront でキャッシュすることが望ましくない Cookie も含まれています。これに代わる方法として、Cookie 名として次の値を指定することができます。その場合 CloudFront は、userid_ から始まるすべての Cookie を適切なオリジンに転送します。

userid_*

キャッシュ動作ごとにホワイトリストに登録できる Cookie 名の数に関する現在の制限については、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon CloudFront の上限」を参照してください。制限の引き上げを要求するには、「https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions」を参照してください。

クエリ文字列の転送とキャッシュ

CloudFront は、クエリ文字列パラメーターの値に基づいて、コンテンツのさまざまなバージョンをキャッシュできます。適用可能なオプションを選択します。

None (Improves Caching)

オリジンがクエリ文字列パラメーターの値に関係なくオブジェクトの同じバージョンを返す場合、このオプションを選択します。これにより、CloudFront がキャッシュからリクエストを処理できる可能性が高くなり、パフォーマンスが向上し、オリジンの負荷が低下します。

Forward all, cache based on whitelist

オリジンサーバーが 1 つ以上のクエリ文字列パラメーターに基づいてオブジェクトの異なるバージョンを返す場合、このオプションを選択します。次に、キャッシュ条件として CloudFront が使用するパラメーターを [クエリ文字列のホワイトリスト] フィールドに指定します。

Forward all, cache based on all

オリジンサーバーがすべてのクエリ文字列パラメーターについてオブジェクトの異なるバージョンを返す場合、このオプションを選択します。

パフォーマンスを向上する方法を含む、クエリ文字列パラメーターに基づくキャッシュについて詳しくは、「クエリ文字列パラメーターに基づいてキャッシュするように CloudFront を設定する」を参照してください。

クエリ文字列のホワイトリスト

クエリ文字列の転送とキャッシュ で [Forward all, cache based on whitelist] を選択した場合、CloudFront がキャッシュ条件として使用するクエリ文字列パラメーターを選択します。

スムーズストリーミング

このキャッシュ動作に関連付けられたオリジンを使用して Microsoft スムーズストリーミング形式のメディアファイルを配信する場合、[Yes] を選択します。それ以外の場合、[No] を選択します。

注記

[Yes] を指定した場合でも、コンテンツが [Path Pattern] の値と一致すれば、このキャッシュ動作を使用してそのほかのコンテンツを配信できます。

詳細については、「オンデマンドスムーズストリーミングの構成」を参照してください。

ビューアのアクセス制限(署名付き URL の使用)

このキャッシュ動作の PathPattern に一致するオブジェクトのリクエストでパブリック URL を使用する場合、[No] を選択します。

このキャッシュ動作の PathPattern に一致するオブジェクトのリクエストで署名付き URL を使用する場合、[Yes] を選択します。次に、署名付き URL の作成に使用する AWS アカウントを指定します。このアカウントは信頼された署名者として知られています。

信頼された署名者の詳細については、「署名付き URL と署名付き Cookie(信頼された署名者)の作成が可能な AWS アカウントの指定」を参照してください。

信頼された署名者

このキャッシュ動作の信頼された署名者として使用する AWS アカウントを選択します。

  • Self: 信頼されたアカウントとして AWS マネジメントコンソール へのサインインに現在使用しているアカウントを使用します。現在、IAM ユーザーとしてサインインしている場合は、関連付けられた AWS アカウントを、信頼された署名者として追加します。

  • Specify Accounts: 信頼された署名者のアカウント番号を [AWS Account Numbers] フィールドに入力します。

署名付き URL を作成するには、AWS アカウント番号に少なくとも 1 つのアクティブな CloudFront キーペアが必要です。

警告

コンテンツの配信ですでに使用されているディストリビューションを更新する場合は、オブジェクトの署名付き URL の生成を開始する準備ができたときにのみ、信頼された署名者を追加します。信頼された署名者がディストリビューションに追加されると、ユーザーは、このキャッシュ動作の PathPattern に一致するオブジェクトへのアクセスに、署名付き URL を使用する必要があります。

AWS アカウント番号

現在のアカウントに加えて、または現在のアカウントの代わりに、AWS アカウントを使用して署名付き URL を作成する場合、このフィールドの行ごとに 1 つの AWS アカウント番号を入力します。次の点に注意してください。

  • 指定するアカウントに少なくとも 1 つのアクティブな CloudFront キーペアが必要です。詳細については、「信頼された署名者の CloudFront キーペアを作成する」を参照してください。

  • IAM ユーザーの CloudFront キーペアを作成できないため、信頼された署名者として IAM ユーザーを使用することはできません。

  • アカウントの AWS アカウント番号を取得する方法については、「セキュリティ認証情報の取得方法」 (アマゾン ウェブ サービス全般のリファレンス ) を参照してください。

  • 現在のアカウントのアカウント番号を入力した場合、CloudFront は、自動的に [Self] チェックボックスをオンにして、[AWS Account Numbers] リストからアカウント番号を削除します。

オブジェクトを自動的に圧縮する

ビューアのリクエストのリクエストヘッダーに Accept-Encoding: gzip が含まれる場合に、CloudFront に特定のタイプのファイルを自動的に圧縮させるには、[Yes] を選択します。CloudFront がコンテンツを圧縮する際、ファイルが小さいためダウンロードはより高速に行われ、ウェブページは高速にレンダリングされます。詳細については、「圧縮ファイルの供給」を参照してください。

ディストリビューションの詳細

以下の値はディストリビューション全体に適用されます。

価格クラス

CloudFront サービスに支払う上限価格に対応する価格クラスを選択します。デフォルトでは、CloudFront は、すべての CloudFront リージョンのエッジロケーションからオブジェクトを供給します。

価格クラスの詳細、および選択した価格クラスがディストリビューションの CloudFront パフォーマンスに与える影響の詳細については、「CloudFront ディストリビューションの価格クラスを選択する」を参照してください。価格クラスと CloudFront リージョンのマッピングを含め、CloudFront 料金表の詳細については、「Amazon CloudFront 料金表」を参照してください。

AWS WAF ウェブ ACL

AWS WAF を使用して、指定した条件に基づいてリクエストを許可したりブロックしたりする場合は、このディストリビューションに関連付けられたウェブ ACL を選択します。

AWS WAF は、CloudFront に転送される HTTPS リクエストおよび HTTP をモニタリングするを転送可能にし、コンテンツへのアクセスをコントロール可能にするウェブアプリケーションファイアウォールです。クエリ文字列からの実行またはクエリ文字列の値をリクエストする IP アドレスのような、指定した条件に基づいて、CloudFront はリクエストされたコンテンツまたは HTTP 403 ステータスコード(禁止)のリクエストのいずれかに対応します。CloudFront を設定して、リクエストがブロックされたときにカスタムエラーを返すこともできます。AWS WAF の詳細については、『AWS WAF 開発者ガイド』を参照してください。

代替ドメイン名(CNAME)

オプション。ディストリビューションを作成するときに CloudFront が割り当てるドメイン名ではなく、オブジェクトの URL に使用する 1 つ以上のドメイン名を指定します。たとえば、次のオブジェクトの URL があります。

/images/image.jpg

この URL を次のように表示します。

http://www.example.com/images/image.jpg

次のようには指定しません。

http://d111111abcdef8.cloudfront.net/images/image.jpg

この場合、www.example.com の CNAME を追加します。

重要

www.example.com の CNAME をディストリビューションに追加する場合、DNS サービスを使用して CNAME レコードを作成(または更新)し、www.example.com のクエリを d111111abcdef8.cloudfront.net にルーティングする必要もあります。ドメインの DNS サービスプロバイダーのある CNAME レコードを作成する許可が必要です。通常、これはドメインを所有していることを指しますが、ドメイン所有者向けにアプリケーションを開発している場合にも当てはまります。

ディストリビューションに追加できる代替ドメイン名の数に関する現在の制限については、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon CloudFront の上限」を参照してください。制限の引き上げを要求するには、「https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions」を参照してください。

代替ドメイン名の詳細については、「代替ドメイン名(CNAME)を使用する」を参照してください。CloudFront URL の詳細については、「CloudFront オブジェクトの URL の形式」を参照してください。

SSL 証明書

ビューアがオブジェクトへのアクセスに HTTPS を使用する場合、該当する設定を選択します。さらに、[Custom SSL Certificate] を選択した場合は、使用する証明書を選択します。

  • デフォルトの CloudFront 証明書(*.cloudfront.net)– オブジェクトの URL で https://d111111abcdef8.cloudfront.net/image1.jpg のような CloudFront ドメイン名を使用する場合、このオプションを選択します。また、ビューアが HTTP を使用してオブジェクトにアクセスする場合も、このオプションを選択します。

  • カスタム SSL 証明書 – オブジェクトの URL で https://example.com/image1.jpg のような独自のドメイン名を使用する場合は、このオプションを選択して該当する証明書を選択します。リストには、AWS Certificate Manager によって提供された証明書とサードパーティーの認証機関から購入した証明書を含めることが可能で、ACM または IAM 証明書ストアにアップロードできます。詳細については、「代替ドメイン名と HTTPS の使用」を参照してください。

    この設定を選択した場合、オブジェクト URL でのみ代替ドメイン名を使用することをお勧めします(https://example.com/logo.jpg)。CloudFront のディストリビューションドメイン名(https://d111111abcdef8.cloudfront.net/logo.jpg)を使用した場合、ビューアが SNI をサポートしていると、CloudFront は正常に動作します。しかし、ビューアが SNI をサポートしていないと、[Clients Supported] の値に応じてビューアは次のいずれかの動作を示します。

    • [All Clients]: ビューアが SNI をサポートしていない場合、CloudFront ドメイン名が SSL 証明書のドメイン名と一致しないため、警告が表示されます。

    • [Only Clients that Support Server Name Indication (SNI)]: CloudFront はオブジェクトを返さないでビューアとの接続を中断します。

Clients Supported(サポートされるクライアント)

代替ドメイン名を指定し、IAM 証明書ストア内の SSL 証明書を指定した場合、CloudFront が HTTPS リクエストを処理する方法を、すべてのクライアントで動作する方法にするか、それともほとんどのクライアントで動作する方法にするかを選択します。

  • [All Clients]: どのクライアントもコンテンツにアクセスできます。ただし、この機能を使用するには許可を得る必要があり、追加の月額料金が発生します。

  • [Only Clients that Support Server Name Indication (SNI)]: 最新のブラウザはすべて SNI をサポートするため、コンテンツにアクセスできます。しかし、まだ使用されている一部のブラウザは SNI をサポートしていません。このようなブラウザのユーザーは、他の方法を使用して、たとえばオリジンからオブジェクトを直接取得することで、コンテンツにアクセスする必要があります。

詳細については、「代替ドメイン名と HTTPS の使用」を参照してください。

SSL プロトコルの最低バージョン

ビューアと CloudFront との間の HTTPS 接続に使用する SSL プロトコルの最低バージョン —[SSLv3] または [TLSv1]— を指定します。CloudFront は、指定された SSL バージョン以上をサポートするビューアのみにオブジェクトを提供します。TLSv1 プロトコルの方がより安全であるため、[SSLv3] を指定するのは、TLSv1 がサポートされていないブラウザまたはデバイスをユーザーが使用している場合に限定することをお勧めします。次の点に注意してください。

  • [SSL Certificate] で選択するオプションが [Default CloudFront Certificate] の場合、最低 SSL プロトコルバージョンは TLSv1 となり、変更できません。

  • [SSL Certificate] で選択するオプションが [Custom SSL Certificate] で、[Custom SSL Client Support] で選択するオプションが [Only Clients that Support Server Name Indication (SNI)] の場合、CloudFront は SNI の最小許容 SSL プロトコルである TLSv1 を使用します。

[Custom SSL Certificate] と [Only Clients that Support Server Name Indication (SNI)] を選択した場合、CloudFront は SNI の最小許容 SSL である TLSv1 を使用する必要があります。

サポートされる HTTP バージョン

ビューワーが CloudFront との通信に使用する HTTP バージョンを選択します。ビューワーは、CloudFront で使用するよう設定した最新バージョンを使用します。HTTP/2 をサポートしないビューワーは、自動的に以前のバージョンを使用します。

ビューワーと CloudFront が HTTP/2 を使用するには、ビューワーが TLS 1.2 以降と Server Name Identification(SNI)をサポートしている必要があります。

一般的には、CloudFront とビューワーによる HTTP/2 を使った通信を設定するとレイテンシーが短縮されます。また、HTTP/2 の最適化によってパフォーマンスを向上できます。詳細については、「http/2 最適化」でインターネット検索してください。

デフォルトのルートオブジェクト

オプション。ビューアがディストリビューション内のオブジェクト(http://www.example.com/product-description.html)ではなくディストリビューションのルート URL (http://www.example.com/)を要求するときに、CloudFront が要求する、オリジンからのオブジェクト(index.html など)。デフォルトのルートオブジェクトを指定すると、ディストリビューションのコンテンツが公開されなくなります。

名前の最大長は 255 文字です。名前には以下の文字を含めることができます。

  • A ~ Z、a ~ z

  • 0-9

  • _ - . * $ / ~ " '

  • &(& として受け渡しされます)

デフォルトのルートオブジェクトを指定する場合、オブジェクト名のみを指定します(例: index.html)。オブジェクト名の前に / を追加しないでください。

詳細については、「デフォルトルートオブジェクトの指定(ウェブディストリビューションのみ)」を参照してください。

ログ記録

CloudFront がオブジェクトに対する各リクエストの情報をログに記録し、ログファイルを Amazon S3 バケットに保存するかどうか。ログ作成はいつでも有効または無効にできます。ログ作成を有効にしても追加料金はかかりませんが、Amazon S3 バケットにおけるファイルの保存とファイルへのアクセスについては通常の Amazon S3 料金が発生します。ログの削除はいつでも行うことができます。CloudFront アクセスログの詳細については、「アクセスログ」を参照してください。

ログ用のバケット

[Logging] で [On] を選択した場合に、CloudFront がアクセスログを保存する Amazon S3 バケット(例: myawslogbucket.s3.amazonaws.com)。ログ作成を有効にした場合、CloudFront はオブジェクトに対する各エンドユーザーリクエストの情報を記録し、ファイルを、指定された Amazon S3 バケットに保存します。ログ作成はいつでも有効または無効にできます。CloudFront アクセスログの詳細については、「アクセスログ」を参照してください。

注記

Amazon S3 バケット ACL を取得して更新するための権限が必要です。また、バケットの S3 ACL から FULL_CONTROL が付与される必要があります。これによって、CloudFront から awsdatafeeds アカウントに、バケットにログファイルを保存するための権限が付与されます。詳細については、「ロギングの設定およびログファイルへのアクセスに必要なアクセス許可」を参照してください。

ログのプレフィックス

オプション。[Logging] で [On] を選択した場合、このディストリビューションのアクセスログファイル名の先頭に CloudFront が追加する文字列(ある場合)を指定します(例: exampleprefix/)。末尾のスラッシュ(/)はオプションですが、ログファイルの参照を容易にするためにこれを使用することをお勧めします。CloudFront アクセスログの詳細については、「アクセスログ」を参照してください。

Cookie のログ作成

CloudFront で Cookie をアクセスログに含めるようにするには、[On] を選択します。Cookie をログに含めるように選択した場合、CloudFront はすべての Cookie をログに記録します。このディストリビューションのキャッシュ動作がどのように構成されているか(オリジンにすべての Cookie を転送するか、Cookie を転送しないか、指定された一連の Coolie を転送するか)は関係ありません。

Amazon S3 は Cookie を処理しません。したがって、ディストリビューションに Amazon EC2 または他のカスタムオリジンも含まれていない限り、[Cookie Logging] の値に [Off] を選択することをお勧めします。

Cookie の詳細については、「Cookie に基づいてオブジェクトをキャッシュするように CloudFront を設定する」を参照してください。

IPv6 を有効にする

IPv6 は、IP プロトコルの新しいバージョンです。これは IPv4 に今後取って代わるもので、より大きなアドレス空間を使用します。CloudFront は常に IPv4 リクエストに応答します。CloudFront が、IPv4 の IP アドレス (192.0.2.44 など) からのリクエストおよび IPv6 のアドレス (2001:0db8:85a3:0000:0000:8a2e:0370:7334 など) からのリクエストに応答するようにするには、[Enable IPv6] を選択します。

一般的に、IPv6 ネットワークのユーザーがいてコンテンツにアクセスする場合は、IPv6 を有効にする必要があります。ただし、コンテンツへのアクセスを制限するために署名付き URL または署名付き Cookie を使用していて、コンテンツへのアクセスが可能な IP アドレスを制限する IP アドレスを含む IpAddress パラメーターを使用している場合、IPv6 は有効にしません。一部のコンテンツへのアクセスを IP アドレスで制限し、他のコンテンツへのアクセスを制限しない場合 (またはアクセスを制限するが IP アドレスでは行わない場合)、2 つのディストリビューションを作成します。カスタムポリシーを使用して署名付き URL を作成する方法については、カスタムポリシーを使用して署名付き URL を作成するを参照してください。カスタムポリシーを使用して署名付き Cookie を作成する方法については、カスタムポリシーを使用した署名付き Cookie の設定を参照してください。

CloudFront ディストリビューションにトラフィックをルーティングするために Amazon Route 53 エイリアスリソースレコードセットを使用している場合、次の両方に該当するなら 2 つ目のエイリアスリソースレコードセットを作成する必要があります。

  • ディストリビューションで IPv6 を有効にする

  • オブジェクトの URL で代替ドメイン名を使用している

詳細については、Amazon Route 53 開発者ガイド にあるドメイン名を使用したトラフィックの Amazon CloudFront ウェブディストリビューションへのルーティング を参照してください。

Amazon Route 53 または別の DNS サービスで CNAME リソースレコードセットを作成した場合、変更を行う必要はありません。ビューアリクエストの IP アドレスフォーマットに関係なく、CNAME レコードはトラフィックをディストリビューションにルーティングします。

IPv6 と CloudFront アクセスログを有効にすると、c-ip 列には IPv4 および IPv6 フォーマットの値が含められます。詳細については、「アクセスログ」を参照してください。

注記

お客様に対する優れた可用性を維持するために、データによって IPv4 がより優れたユーザーエクスペリエンスを提供することが判明している場合、CloudFront は IPv4 を使用してビューアリクエストに応じます。CloudFront が IPv6 によって対応するリクエストの割合を知るには、ディストリビューションで CloudFront ロギングを有効にし、リクエストを行ったビューアの IP アドレスを含む c-ip 列を解析します。この割合 (%) は時間とともに大きくなりますが、IPv6 は世界中のすべてのビューワーネットワークでサポートされているわけではないため、過半数のトラフィックになることはないでしょう。ビューアネットワークによっては IPv6 が十分にサポートされていますが、IPv6 をまったくサポートしないものもあります (ビューアネットワークは、ホームインターネットやワイヤレスキャリアに似ています)。

IPv6 のサポートについては、CloudFront FAQ を参照してください。アクセスログを有効にする方法の詳細については、ログ記録ログ用のバケット、および ログのプレフィックス のフィールドを参照してください。

Comment

オプション。ディストリビューションを作成するときに、最大で 128 文字のコメントを含めることができます。コメントの更新はいつでも行うことができます。

ディストリビューションの状態

ディストリビューションがデプロイされた後にディストリビューションを有効または無効のどちらにするかを示します。

  • Enabled: ディストリビューションが完全にデプロイされた後、ディストリビューションのドメイン名を使用するリンクをデプロイでき、ユーザーがコンテンツを取り込むことができます。ディストリビューションを有効にすると、そのディストリビューションに関連付けられたドメイン名を使用するコンテンツへのエンドユーザーリクエストを受け付けて処理することができます。

    CloudFront ディストリビューションの作成、変更、削除を行った場合、その変更が CloudFront データベースに伝達されるまで時間がかかります。変更直後に出したディストリビューションに関する情報のリクエストには、変更が反映されていない可能性があります。通常、伝達は数分以内で完了しますが、システムの高負荷またはネットワークパーティションによっては、それより時間がかかる可能性があります。

  • Disabled: ディストリビューションがデプロイされ、その使用準備ができていても、ユーザーはディストリビューションを使用できません。ディストリビューションを無効にするときはいつでも、そのディストリビューションに関連付けられたドメイン名を使用するコンテンツへのエンドユーザーリクエストを CloudFront は受け付けません。(ディストリビューションの構成を更新することで)ディストリビューションを無効から有効に切り替えるまで、誰もディストリビューションを使用できません。

ディストリビューションの無効と有効は何度でも切り替えることができます。ディストリビューションの構成を更新するプロセスに従います。詳細については、「CloudFront ディストリビューションの一覧表示、詳細表示、および更新を行う」を参照してください。

Custom Error Pages(カスタムエラーページ)と Error Caching(エラーキャッシュ)

Amazon S3 またはカスタムオリジンが HTTP 4xx または 5xx ステータスコードを CloudFront に返す場合、CloudFront にオブジェクトをビューアーに返させることができます(例: HTML ファイル)。オリジンまたはカスタムエラーページからのエラーレスポンスを CloudFront エッジキャッシュにキャッシングする時間を指定することもできます。詳細については、「エラーレスポンスのカスタマイズ」を参照してください。

注記

以下の値は [Create Distribution] ウィザードに含まれていないため、ディストリビューションを更新するときにのみ、カスタムエラーページを構成することができます。

エラーコード

CloudFront から対応するカスタムエラーページが返されるようにする HTTP ステータスコード。CloudFront がキャッシュする HTTP ステータスコードの全部または一部に対応するカスタムエラーページを返すように、または全く返さないように、CloudFront を構成できます。

Response Page Path(レスポンスページのパス)

オリジンが Error Code に指定された HTTP ステータスコード(例: 403)を返すときに、CloudFront がビューアに返すカスタムエラーページのパス(例: /4xx-errors/403-forbidden.html)。 オブジェクトとカスタムエラーページを別の場所に保存する場合は、次の状況に該当するときに適用されるキャッシュ動作をディストリビューションに組み込む必要があります。

  • Path Pattern の値が、カスタムエラーメッセージのパスと一致する。たとえば、4xx エラーのカスタムエラーページを /4xx-errors というディレクトリーの Amazon S3 バケットに保存したとします。このとき、パスパターンによってカスタムエラーページのリクエストがルーティングされる場所のキャッシュ動作を、ディストリビューションに組み込む必要があります(例: /4xx-errors/*)。

  • Origin の値が、カスタムエラーページを含むオリジンの Origin ID の値を指定している。

Response Code(応答コード)

CloudFront からカスタムエラーページとともにビューアに返す HTTP ステータスコード。

Error Caching Minimum TTL(エラーキャッシュ最小 TTL)

CloudFront がオリジンサーバーからのエラーレスポンスをキャッシュする最小時間。

制限

特定の国のユーザーをコンテンツにアクセスできなくする必要がある場合、CloudFront ディストリビューションを構成して、ホワイトリストに指定した国のユーザーだけにコンテンツへのアクセスを許可したり、またはブラックリストに指定した国のユーザーにはコンテンツへのアクセスを許可しないようにしたりできます。詳細については、「コンテンツの地理的ディストリビューションの制限」を参照してください。

注記

以下の値は [Create Distribution] ウィザードに含まれていないため、ディストリビューションを更新するときにのみ、地域制限を構成できます。

Enable Geo Restriction(地域制限の有効化)

特定の国のユーザーをコンテンツにアクセスできなくするかどうか。地域制限の構成に追加料金は発生しません。

Restriction Type(制限タイプ)

どの国のユーザーがコンテンツにアクセスできるかを指定する方法。

  • ホワイトリスト: Countries リストには、その国のユーザーはコンテンツにアクセスできると指定するすべての国が含まれます。

  • ブラックリスト: [Countries] リストには、その国のユーザーはコンテンツにアクセスできないと指定するすべての国が含まれます。

Countries(国)

ホワイトリストまたはブラックリストに追加する国。国を追加するには、左のリストで国を選択して、[Add] を選択します。次の点に注意してください。

  • 連続する複数の国を追加するには、最初の国を選択し、Shift キーを押したまま最後の国を選択して、[Add] を選択します。

  • 連続しない複数の国を追加するには、最初の国を選択肢、Ctrl キーを押したまま残りの国を選択して、[Add] を選択します。

  • 左のリストで国を見つけるには、国のフルネームの最初の数文字を入力します。

  • 各国名の前の 2 文字のコードは、CloudFront API を使用してディストリビューションを作成または更新する場合に入力する値です。国際標準化機構の国コードが使用されています。コード順、国順に並べ替えることのできる使いやすい一覧については、Wikipedia の ISO 3166-1 alpha-2 の項目を参照してください。