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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

CloudFront コンソールを使用して新しいディストリビューションを作成するか、既存のディストリビューションを更新する場合は、次の値を指定します。

オリジンの設定

キャッシュ動作の設定

以下の値は、ディストリビューションを作成するときに [デフォルトのキャッシュ動作の設定] に適用されます。これらは後で作成する他のキャッシュ動作にも適用されます。

以下の値は、[Lambda Function Associations (Lambda 関数の関連付け)] に適用されます。

ディストリビューションの設定

カスタムエラーページとエラーキャッシュ

地理的制限

CloudFront コンソールを使用してディストリビューションを作成または更新する方法の詳細については、「ディストリビューションの作成」または「ディストリビューションの更新」を参照してください。

オリジンの設定

CloudFront コンソールを使用してディストリビューションを作成または更新するときは、オリジン と呼ばれる 1 つ以上の場所に関する情報を指定します。ここでは、ウェブコンテンツの元のバージョンを保存します。CloudFront は、オリジンからウェブコンテンツを取得し、エッジサーバーの世界ネットワークを介してビューワーに提供します。

ディストリビューションに対して作成できるオリジンの現在の最大数について、またはクォータの引き上げを要求するには、「ディストリビューションの一般的なクォータ」を参照してください。

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

重要

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

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

オリジンドメイン

オリジンドメインは、このオリジンのオブジェクト CloudFront を取得する Amazon S3 バケットまたは HTTP サーバーの DNS ドメイン名です。次に例を示します。

  • Amazon S3 バケットDOC-EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com

    注記

    最近 S3 バケットを作成した場合、 CloudFront ディストリビューションは最大 24 時間HTTP 307 Temporary Redirectレスポンスを返すことがあります。S3 バケット名がすべての AWS リージョンに反映されるまでに、最大 24 時間かかることがあります。反映が完了すると、ディストリビューションは自動的にこれらのリダイレクトレスポンスの送信を停止します。何もする必要はありません。詳細については、「Why am I getting an HTTP 307 Temporary Redirect response from Amazon S3?」と「一時的なリクエストのリダイレクト」を参照してください。

  • ウェブサイトとして設定された Amazon S3 バケットDOC-EXAMPLE-BUCKET.s3-website.us-west-2.amazonaws.com

  • MediaStore コンテナexamplemediastore.data.mediastore.us-west-1.amazonaws.com

  • MediaPackage エンドポイントexamplemediapackage.mediapackage.us-west-1.amazonaws.com

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

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

  • 独自のウェブサーバーhttps://www.example.com

[Origin Domain Name] (オリジンドメイン名) フィールドでドメイン名を選択するか、名前を入力します。ドメイン名では、大文字と小文字が区別されません。

オリジンが Amazon S3 バケットの場合は、次の点に注意してください。

  • バケットがウェブサイトとして構成されている場合は、バケットの Amazon S3 静的ウェブサイトホスティングエンドポイントを入力します。[Origin domain] (オリジンドメイン) フィールドのバケット一覧からバケット名を選択しないでください。静的ウェブサイトホスティングエンドポイントは、Amazon S3 コンソールの [Static website hosting] (静的ウェブサイトホスティング) の [Properties] (プロパティ) ページに表示されます。詳細については、「ウェブサイトのエンドポイントとして設定された Amazon S3 バケットの使用」を参照してください。

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

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

    bucket-name.s3.region.amazonaws.com

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

    bucket-name.s3.us-east-1.amazonaws.com

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

重要

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

オリジンのオリジンドメインの値を変更すると、 CloudFront は CloudFront エッジロケーションへの変更のレプリケーションを直ちに開始します。特定のエッジロケーションでディストリビューション設定が更新されるまで、 CloudFront はリクエストを以前のオリジンに転送します。そのエッジロケーションでディストリビューション設定が更新されるとすぐに、 CloudFront は新しいオリジンへのリクエストの転送を開始します。

オリジンを変更 CloudFront しても、エッジキャッシュに新しいオリジンのオブジェクトを再入力する必要はありません。アプリケーションのビューワーリクエストが変更されていない限り、 は、各オブジェクトの TTL の有効期限が切れるか、リクエスト頻度の低いオブジェクトが削除されるまで、エッジキャッシュに既に存在するオブジェクトの処理 CloudFront を継続します。

オリジンのパス

オリジンのディレクトリからコンテンツを CloudFront リクエストする場合は、スラッシュ (/) で始まるディレクトリパスを入力します。 は、 などのオリジンドメイン の値にディレクトリパス CloudFront を追加しますcf-origin.example.com/production/images。パスの末尾にはスラッシュ (/) を付けないでください。

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

  • [Origin domain] (オリジンドメイン) - DOC-EXAMPLE-BUCKET と名前の付いた Amazon S3 バケット

  • オリジンのパス - /production

  • 代替ドメイン名 (CNAME)example.com

ユーザーがブラウザexample.com/index.htmlに を入力すると、 CloudFront は のリクエストを Amazon S3 に送信しますDOC-EXAMPLE-BUCKET/production/index.html

ユーザーがブラウザexample.com/acme/index.htmlに を入力すると、 は のリクエストを Amazon S3 CloudFront に送信しますDOC-EXAMPLE-BUCKET/production/acme/index.html

名前

名前は、このディストリビューション内でこのオリジンを一意に識別する文字列です。デフォルトのキャッシュ動作に加えてキャッシュ動作を作成する場合は、ここで指定した名前を使用して、リクエストがそのキャッシュ動作のパスパターンに一致したときにリクエストをルーティング CloudFront するオリジンを識別します。

カスタムヘッダーを追加する

リクエスト CloudFront をオリジンに送信するたびにカスタムヘッダーを追加する場合は、ヘッダー名とその値を指定します。詳細については、「オリジンリクエストへのカスタムヘッダーの追加」を参照してください。

現在、追加できるカスタムヘッダーの最大数、カスタムヘッダー名と値の最大長、すべてのヘッダー名と値の全長の最大長については、クォータ を参照してください。

Origin Shield を有効にする

はい を選択して CloudFront Origin Shield を有効にします。Origin Shield の詳細については、Amazon CloudFront Origin Shield の使用 を参照してください。

接続の試行

がオリジンへの接続 CloudFront を試みる回数を設定できます。試行回数として 1、2、または 3 を指定できます。デフォルト値 (特に指定しない場合) は 3 です。

この設定を接続タイムアウトとともに使用して、セカンダリオリジンに接続しようとしたり、ビューワーにエラーレスポンスを返したりするまでの CloudFront 待機時間を指定します。デフォルトでは、 はセカンダリオリジンに接続しようとしたり、エラーレスポンスを返したりする前に、30 秒 (それぞれ 10 秒間の試行が 3 回) CloudFront 待機します。試行回数を減らすか、接続タイムアウトを短くするか、その両方を行うことで、この時間を短縮できます。

指定された接続試行回数が失敗した場合、 は次のいずれか CloudFront を実行します。

  • オリジンがオリジングループの一部である場合、 CloudFront はセカンダリオリジンへの接続を試みます。セカンダリオリジンへの接続試行が指定された回数失敗した場合、 はビューワーにエラーレスポンス CloudFront を返します。

  • オリジンがオリジングループの一部でない場合、 はビューワーにエラーレスポンス CloudFront を返します。

カスタムオリジン (静的ウェブサイトホスティングで設定された Amazon S3 バケットを含む) の場合、この設定では、 がオリジンからレスポンスを取得 CloudFront しようとする回数も指定します。詳細については、「応答タイムアウト (カスタムオリジンのみ)」を参照してください。

接続タイムアウト

接続タイムアウトは、オリジンへの接続を確立しようとしたときに が CloudFront 待機する秒数です。1 ~ 10 (両端の値を含む) の秒数を指定できます。デフォルトのタイムアウト (特に指定しない場合) は 10 秒です。

この設定を Connection と組み合わせて使用すると、 がセカンダリオリジンに接続しようとしたり、エラーレスポンスをビューワーに返したりするまでの CloudFront 待機時間を指定できます。デフォルトでは、 CloudFront はセカンダリオリジンへの接続を試行したり、エラーレスポンスを返したりする前に 30 秒 (それぞれ 10 秒間の試行が 3 回) 待機します。試行回数を減らすか、接続タイムアウトを短くするか、その両方を行うことで、この時間を短縮できます。

CloudFront が指定された秒数以内にオリジンへの接続を確立しない場合、 は次のいずれか CloudFront を実行します。

  • 指定された接続試行回数が 1 回を超える場合、 は接続の確立を CloudFront 再試行します。 は接続 CloudFront 試行 の値によって決まるように、最大 3 回試行します。

  • すべての接続試行が失敗し、オリジンがオリジングループの一部である場合、 CloudFront はセカンダリオリジンへの接続を試みます。セカンダリオリジンへの接続試行が指定された回数失敗した場合、 はビューワーにエラーレスポンス CloudFront を返します。

  • すべての接続試行が失敗し、オリジンがオリジングループの一部でない場合、 はビューワーにエラーレスポンス CloudFront を返します。

応答タイムアウト (カスタムオリジンのみ)

注記

これは、カスタムオリジンにのみ適用されます。

オリジン応答タイムアウト (オリジンの読み取りタイムアウトまたはオリジンリクエストタイムアウトとも呼ばれる) は、次の両方の値に適用されます。

  • リクエストをオリジンに転送した後のレスポンスの CloudFront 待機時間 (秒単位)。

  • オリジンからレスポンスのパケットを受信してから次のパケットを受信してから CloudFront 待機する時間 (秒単位)。

デフォルトのタイムアウトは 30 秒です。この値は、1 ~ 60 秒の範囲で変更できます。この範囲外のタイムアウト値が必要な場合は、 でケースを作成しますAWS Support Center Console

ヒント

ビューワーで HTTP 504 ステータスコードエラーが発生しているために、タイムアウト値を引き上げる必要がある場合は、タイムアウト値を変更する前に、それらのエラーを回避するその他の方法を検討します。「HTTP 504 ステータスコード (Gateway Timeout)」でトラブルシューティングのヒントを参照してください。

CloudFront 動作は、ビューワーリクエストの HTTP メソッドによって異なります。

  • GET および HEADリクエスト – オリジンが応答しないか、応答タイムアウトの期間内に応答を停止した場合、 は接続を CloudFront ドロップし、 の値に従って接続 CloudFront を再試行します接続の試行

  • DELETEOPTIONSPATCH、、および PUTPOSTリクエスト – オリジンが読み取りタイムアウトの間応答しない場合、 CloudFront は接続を中断し、オリジンへの接続を再試行しません。クライアントは、必要に応じてリクエストを再送信できます。

キープアライブタイムアウト (カスタムオリジンのみ)

注記

これは、カスタムオリジンにのみ適用されます。

キープアライブタイムアウトは、レスポンスの最後のパケットを取得した後、カスタムオリジンへの接続を維持 CloudFront しようとする時間 (秒単位) です。持続的接続を維持すると、TCP 接続の再構築に必要な時間と後続のリクエストに対する別の TLS ハンドシェイクの実行に必要な時間を節約できます。キープアライブタイムアウトを増やすと、ディストリビューションの request-per-connection メトリクスが向上します。

注記

[Origin Keep-alive Timeout] (オリジンキープアライブタイムアウト) の値が有効になるためには、永続接続を許可するようにオリジンが設定されている必要があります。

デフォルトのタイムアウトは 5 秒です。この値は、1~60 秒の範囲で変更できます。60 秒を超えるキープアライブタイムアウトが必要な場合は、 でケースを作成しますAWS Support Center Console

オリジンアクセス (Amazon S3 オリジンのみ)

注記

これは、Amazon S3 バケットオリジン (S3 静的ウェブサイトエンドポイントを使用していないオリジン) にのみ適用されます。

Amazon S3 バケットオリジンへのアクセスを特定のディストリビューションのみに制限できるようにするには、オリジンアクセスコントロール設定 (推奨) を選択します。 CloudFront

Amazon S3 バケットオリジンがパブリックにアクセス可能な場合は、[パブリック] を選択します。

詳細については、「Amazon S3 オリジンへのアクセスの制限」を参照してください。

CloudFront URLs「」を参照してください カスタムオリジン上のファイルへのアクセス制限

プロトコル (カスタムオリジンのみ)

注記

これは、カスタムオリジンにのみ適用されます。

オリジンからオブジェクトを取得するときに CloudFront 使用するプロトコルポリシー。

次のいずれかの値を選択します。

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

    重要

    Amazon S3 は静的ウェブサイトホスティングエンドポイントをサポートしていないため、オリジンが Amazon S3 の静的ウェブサイトホスティングエンドポイントの場合、[HTTPS only] (HTTP のみ) がデフォルト設定です。 CloudFront コンソールは、エンドポイントをホストする Amazon S3 静的ウェブサイトのこの設定の変更をサポートしていません。

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

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

    重要

    がこのオリジン CloudFront に転送する HTTPS ビューワーリクエストの場合、オリジンサーバーの SSL/TLS 証明書のドメイン名の 1 つが、オリジンドメイン に指定したドメイン名と一致する必要があります。それ以外の場合は、リクエストされたオブジェクトを返す代わりに、HTTP ステータスコード 502 (Bad Gateway) でビューワーリクエスト CloudFront に応答します。詳細については、「で SSL/TLS 証明書を使用するための要件 CloudFront」を参照してください。

HTTP ポート

注記

これは、カスタムオリジンにのみ適用されます。

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

重要

オリジンが Amazon S3 の静的ウェブサイトホスティングエンドポイントの場合、ポート 80 がデフォルト設定です。Amazon S3 は、静的ウェブサイトホスティングエンドポイントではポート 80 のみサポートするためです。 CloudFront コンソールは、エンドポイントをホストする Amazon S3 静的ウェブサイトのこの設定の変更をサポートしていません。

HTTPS ポート

注記

これは、カスタムオリジンにのみ適用されます。

(オプション) カスタムオリジンがリスンする HTTPS ポートを指定できます。有効な値には、ポート 80、443、および 1024 ~ 65535 が含まれます。デフォルト値はポート 443 です。[Protocol] (プロトコル) は、[HTTP only] (HTTP のみ) に設定されます。[HTTPS port] (HTTPS ポート) の値を指定することはできません。

最小限のオリジン SSL プロトコル

注記

これは、カスタムオリジンにのみ適用されます。

オリジンへの HTTPS 接続を確立するときに CloudFront が使用できる最低限の TLS/SSL プロトコルを選択します。より低い TLS プロトコルは安全性が低いため、オリジンがサポートする最新の TLS を使用することが推奨されます。[Protocol] (プロトコル) は、[HTTP only] (HTTP のみ) に設定されます。[Minimum origin SSL protocol] (最小限のオリジン SSL プロトコル) の値を指定することはできません。

CloudFront API を使用して CloudFront で使用する TLS/SSL プロトコルを設定する場合、最小プロトコルを設定することはできません。代わりに、 がオリジン CloudFront で使用できるすべての TLS/SSL プロトコルを指定します。詳細については、「Amazon CloudFront API リファレンスOriginSslProtocols」の「」を参照してください。

キャッシュ動作の設定

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

  • パスパターン

  • CloudFront ディストリビューションに複数のオリジンを設定している場合、リクエスト CloudFront を転送するオリジン

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

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

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

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

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

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

ディストリビューションに対して作成できるキャッシュ動作の現在の最大数、またはクォータの引き上げを要求するキャッシュ動作の最大数については、「ディストリビューションの一般的なクォータ」を参照してください。

パスパターン

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

  • images/*.jpg

  • images/*

  • *.gif

注記

オプションで、パスパターンの先頭にスラッシュ (/) を含めることができます/images/*.jpg。例えば、. CloudFront behavior は先頭の / の有無にかかわらず同じです。パスの先頭に / を指定しない場合、この文字は自動的に暗示され、先頭の / の有無にかかわらず同じパスが CloudFront 処理されます。例えば、 CloudFront は /*product.jpg と同じ処理を行います。 *product.jpg

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

注記

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

重要

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

MediaPackage チャンネルを使用する場合は、オリジンのエンドポイントタイプに対して定義するキャッシュ動作の特定のパスパターンを含める必要があります。たとえば、DASH エンドポイントの場合は、[Path Pattern (パスパターン)] に「*.mpd」と入力します。詳細と具体的な手順については、「AWS Elemental MediaPackage でフォーマットされたライブ動画の配信」を参照してください。

指定したパスは、指定したディレクトリ内および指定した directory. CloudFront does 以下のサブディレクトリ内のすべてのファイルのリクエストに適用されます。パスパターンを評価する場合、クエリ文字列や Cookie は考慮されません。たとえば、images ディレクトリに product1 および product2 サブディレクトリが含まれる場合、パスパターン images/*.jpg は、imagesimages/product1、および images/product2 ディレクトリ内のあらゆる .jpg ファイルのリクエストに適用されます。異なるキャッシュ動作を、images/product1 および images ディレクトリのファイルではなく images/product2 ディレクトリのファイルに割り当てる場合、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

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

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

オリジンまたはオリジングループ

既存のオリジンまたはオリジングループの値を入力します。これにより、リクエスト (https://example.com/logo.jpg など) がキャッシュ動作 (*.jpg など) またはデフォルトのキャッシュ動作 (*) のパスパターンと一致する場合に、リクエストをルーティング CloudFront するオリジンまたはオリジングループを識別します。

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

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

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

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

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

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

許可される HTTP メソッド

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

  • GET、HEAD: は、オリジンからオブジェクトを取得したり、オブジェクトヘッダーを取得したりするために CloudFront のみ使用できます。

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

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

    注記

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

重要

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

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

  • カスタムオリジンを使用している場合: すべてのメソッドを処理するようにオリジンサーバーを設定します。例えば、 を使用したいというだけの理由で、これらのメソッドを受け入れて転送 CloudFront するように を設定してもPOSTDELETEリクエストを適切に処理するようにオリジンサーバーを設定する必要があります。

フィールドレベル暗号化の設定

特定のデータフィールドにフィールドレベル暗号化を適用する場合は、ドロップダウンリストからフィールドレベル暗号化の設定を選択します。

詳細については、「フィールドレベル暗号化を使用した機密データの保護」を参照してください。

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

ビューワーが OPTIONS リクエストを送信したときに、オリジンからのレスポンスを CloudFront キャッシュするかどうかを指定します。 CloudFront always は、 リクエストGETHEADリクエストにレスポンスをキャッシュします。

選択されたリクエストヘッダーに基づいたキャッシュ

指定されたヘッダーの値に基づいてオブジェクトを CloudFront キャッシュするかどうかを指定します。

  • なし (キャッシュを改善) — CloudFront ヘッダー値に基づいてオブジェクトをキャッシュしません。

  • Allowlist – 指定されたヘッダーの値のみに基づいてオブジェクトを CloudFront キャッシュします。Allowlist Headers CloudFront を使用して、キャッシュの基準にするヘッダーを選択します。

  • All – このキャッシュ動作に関連付けられているオブジェクトはキャッシュ CloudFront されません。代わりに、 はすべてのリクエストをオリジン CloudFront に送信します。(Amazon S3 オリジンには推奨されません)。

選択したオプションにかかわらず、 は特定のヘッダーをオリジン CloudFront に転送し、転送したヘッダーに基づいて特定のアクションを実行します。がヘッダー転送 CloudFront を処理する方法の詳細については、「」を参照してくださいHTTP リクエストヘッダーと CloudFront 動作 (カスタムオリジンと Amazon S3 オリジン)

リクエストヘッダー CloudFront を使用して でキャッシュを設定する方法の詳細については、「」を参照してくださいリクエストヘッダーに基づくコンテンツのキャッシュ

許可リストヘッダー

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

キャッシュ動作ごとに許可リストに追加できるヘッダーの現在の最大数、またはクォータ (以前は制限と呼ばれていました) の引き上げを要求するヘッダーの最大数については、「ヘッダーのクォータ」を参照してください。

オブジェクトキャッシュ

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

Cache-Control ヘッダーに関係なくオブジェクトがキャッシュに CloudFront保持される最小時間と最大時間、およびCache-Controlヘッダーがオブジェクトに見つからないときにオブジェクトが CloudFront キャッシュに保持されるデフォルトの時間を指定するには、 のカスタマイズを選択します。次に、[Minimum TTL (最小 TTL)]、[Default TTL (デフォルト TTL)]、[Maximum TTL (最大 TTL)] の各フィールドで値を指定します。

詳細については、「コンテンツがキャッシュに保持される期間 (有効期限) の管理」を参照してください。

最小 TTL

がオリジンに別のリクエスト CloudFront を送信してオブジェクトが更新されたかどうかを判断する前に、オブジェクトを CloudFront キャッシュに保持する最小時間を秒単位で指定します。

詳細については、「コンテンツがキャッシュに保持される期間 (有効期限) の管理」を参照してください。

最大 TTL

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

[Maximum TTL (最大 TTL)] の値を指定するには、[Object Caching (オブジェクトキャッシュ)] 設定で [Customize (カスタマイズ)] オプションを選択する必要があります。

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

デフォルト TTL

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

[Default TTL (デフォルト TTL)] の値を指定するには、[Object Caching (オブジェクトキャッシュ)] 設定で [Customize (カスタマイズ)] オプションを選択する必要があります。

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

cookie の転送

注記

Amazon S3 オリジンの場合、このオプションは、ウェブサイトエンドポイントとして設定されているバケットにのみ適用されます。

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

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

オリジンへの Cookie の転送の詳細については、「Cookie に基づくコンテンツのキャッシュ」を参照してください。

許可リストCookie

注記

Amazon S3 オリジンの場合、このオプションは、ウェブサイトエンドポイントとして設定されているバケットにのみ適用されます。

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

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

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

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

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

userid_member-number

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

userid_*

キャッシュ動作ごとに許可リストに追加できる Cookie 名の現在の最大数、またはクォータの引き上げ (以前は制限と呼ばれていました) を要求する Cookie 名の最大数については、「Cookie のクォータ (従来のキャッシュ設定)」を参照してください。

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

CloudFront は、クエリ文字列パラメータの値に基づいて、コンテンツの異なるバージョンをキャッシュできます。以下のオプションのいずれかを選択します。

None (Improves Caching)

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

すべて転送、許可リストに基づいてキャッシュ

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

Forward all, cache based on all

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

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

クエリ文字列の許可リスト

すべて転送 を選択した場合、 の許可リストに基づいてキャッシュする場合はクエリ文字列の転送とキャッシュ、キャッシュの基準 CloudFront として使用するクエリ文字列パラメータを指定します。

スムーズストリーミング

Microsoft Smooth Streaming 形式のメディアファイルを配信するが、IIS サーバーがない場合は、[Yes (はい)] を選択します。

Microsoft Smooth Streaming 形式のメディアファイルを配信するためのオリジンとして使用する Microsoft IIS サーバーがある場合、または Smooth Streaming メディアファイルを配信しない場合は、[No (いいえ)] を選択します。

注記

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

詳細については、「Microsoft Smooth Streaming のビデオオンデマンドの設定」を参照してください。

ビューワーのアクセス制限 (署名付き URL または署名付き cookie の使用)

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

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

信頼された署名者の詳細については、「署名付き URL と署名付き Cookie を作成できる署名者の指定」を参照してください。

信頼された署名者

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

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

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

署名URLs、AWSアカウントに少なくとも 1 つのアクティブな CloudFrontキーペアが必要です。

重要

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

AWS アカウント番号

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

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

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

  • アカウントの AWS アカウント番号を取得する方法については、「Amazon Web Services 全般のリファレンス」の「AWS アカウント ID」を参照してください。

  • 現在のアカウントのアカウント番号を入力すると、 CloudFront は自動的にセルフチェックボックスをオンにし、アカウント番号リストからAWSアカウント番号を削除します。

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

ビューワーが圧縮コンテンツをサポートしているときに、特定のタイプのファイル CloudFront を自動的に圧縮する場合は、はを選択します。CloudFront がコンテンツを圧縮する際、ファイルが小さいためダウンロードはより高速に行われ、ウェブページは高速にレンダリングされます。詳細については、「圧縮ファイルの供給」を参照してください。

CloudFront イベント

以下のCloudFront イベントが 1 つ以上発生した場合に Lambda 関数を実行するように選択できます。

  • がビューワーからリクエスト CloudFront を受け取る場合 (ビューワーリクエスト)

  • がリクエストをオリジン CloudFront に転送する前に (オリジンリクエスト)

  • がオリジンからレスポンス CloudFront を受信する場合 (オリジンレスポンス)

  • がビューワーにレスポンスを CloudFront 返す前 (ビューワーレスポンス)

詳細については、「Lambda@Edge 関数のトリガーに使用する CloudFront イベントを決定する方法」を参照してください。

Lambda 関数の ARN

トリガーを追加する Lambda 関数の Amazon リソースネーム (ARN) を指定します。関数の ARN を取得する方法については、 CloudFront 「コンソールを使用してトリガーを追加する」の手順のステップ 1 を参照してください。

ディストリビューションの設定

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

価格クラス

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

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

AWS WAF ウェブ ACL

ウェブアプリケーションと APIs を保護してリクエストがサーバーに到達する前にブロックできるようにするウェブアプリケーションファイアウォールAWS WAFである を使用してディス CloudFront トリビューションを保護できます。 CloudFront ディストリビューションを作成または編集新しいディストリビューションで AWS WAF を有効にするするときに を実行できます。

オプションで、後で AWS WAF コンソール (https://console.aws.amazon.com/wafv2/) から、アプリケーションに固有の他の脅威に対する追加のセキュリティ保護を設定できます。

AWS WAF の詳細については、AWS WAF 開発者ガイドを参照してください。

代替ドメイン名 (CNAME)

オプション。ディストリビューションの作成時に が CloudFront 割り当てるドメイン名の代わりに、オブジェクトURLs に使用する 1 つ以上のドメイン名を指定します。ドメイン名を所有しているか、あるいはこのドメイン名を使用する許可があることが必要です。この許可は、SSL/TLS 証明書を追加することで検証します。

たとえば、次のオブジェクトの URL があります。

/images/image.jpg

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

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

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

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

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

重要

ディストリビューションに www.example.com の CNAME を追加する場合、さらに以下を実行する必要があります。

  • DNS サービスを使用して CNAME レコードを作成 (または更新) して、www.example.com のクエリを d111111abcdef8.cloudfront.net にルーティングします。

  • ディストリビューションに追加するドメイン名 (CNAME) を対象とする信頼された認証機関 (CA) CloudFront から に証明書を追加して、ドメイン名を使用する権限を検証します。

ドメインの DNS サービスプロバイダーがある CNAME レコードを作成する許可が必要です。通常、これはドメインを所有している、またはドメイン所有者向けにアプリケーションを開発していることを示します。

ディストリビューションに対して作成できる代替ドメイン名の現在の最大数、またはクォータの引き上げを要求する代替ドメイン名の最大数については、「ディストリビューションの一般的なクォータ」を参照してください。

代替ドメイン名の詳細については、「代替ドメイン名 (CNAME) を追加することによるカスタム URL の使用」を参照してください。CloudFront URLs「」を参照してくださいのファイルの URL 形式のカスタマイズ CloudFront

SSL 証明書

ディストリビューションで使用する代替ドメイン名を指定した場合は、[Custom SSL Certificate (カスタム SSL 証明書)] を選択してこの代替ドメイン名を使用する許可を検証し、これを対象とする証明書を選択します。ビューワーが HTTPS を使用してオブジェクトにアクセスするようにする場合は、それをサポートしている設定を選択します。

注記

カスタム SSL 証明書を指定する前に、有効な代替ドメイン名を指定する必要があります。詳細については、「代替ドメイン名を使用するための要件」および「代替ドメイン名と HTTPS の使用」を参照してください。

  • デフォルトの CloudFront 証明書 (*.cloudfront.net) – などのオブジェクトの URLs で CloudFront ドメイン名を使用する場合は、このオプションを選択しますhttps://d111111abcdef8.cloudfront.net/image1.jpg

  • 独自 SSL 証明書 – オブジェクトの URL で独自のドメイン名を代替ドメイン名として使用する場合 (https://example.com/image1.jpg など)、このオプションを選択します。次に、代替ドメイン名を対象とする証明書を使用するために選択します。証明書のリストには、次のいずれかを含めることができます。

    • AWS Certificate Manager から提供される証明書

    • サードパーティー認証機関から購入して ACM にアップロードした証明書

    • サードパーティー認証機関から購入して IAM 証明書ストアにアップロードした証明書

    この設定を選択した場合、オブジェクト URL でのみ代替ドメイン名を使用することをお勧めします (https://example.com/logo.jpg)。 CloudFront ディストリビューションドメイン名 (https://d111111abcdef8.cloudfront.net/logo.jpg) を使用し、クライアントが SNI をサポートしていない古いビューワーを使用している場合、ビューワーの応答方法は、サポートされるクライアントに選択した値によって異なります。

    • すべてのクライアント: CloudFront ドメイン名が SSL/TLS 証明書のドメイン名と一致しないため、ビューワーに警告が表示されます。

    • Server Name Indication (SNI) をサポートするクライアントのみ: オブジェクトを返さずにビューワーとの接続を CloudFront ドロップします。

独自 SSL クライアントのサポート

ディストリビューションに 1 つ以上の代替ドメイン名とカスタム SSL 証明書を指定した場合は、HTTPS リクエスト CloudFront の処理方法を選択します。

  • [Clients that Support Server Name Indication (SNI) - (Recommended) (Server Name Indication (SNI) をサポートするクライアント - (推奨))] – この設定では、ほとんどすべての最新のウェブブラウザとクライアントは、SNI をサポートしているため、ディストリビューションに接続できます。ただし、一部のビューワーは SNI をサポートしていない古いウェブブラウザやクライアントを使用している可能性があります。つまり、一部のビューワーはディストリビューションに接続できません。

    CloudFront API を使用してこの設定を適用するには、 SSLSupportMethodフィールドsni-onlyで を指定します。AWS CloudFormation では、このフィールドの名前は SslSupportMethod です (大文字と小文字の変更に注意してください)。

  • [Legacy Clients Support (レガシークライアントサポート)] – この設定では、SNI をサポートしていない古いウェブブラウザとクライアントはディストリビューションに接続できます。ただし、この設定では、追加の月額料金が発生します。正確な料金については、Amazon CloudFront 料金表ページに移動し、専用 IP カスタム SSL のページを検索します。

    CloudFront API を使用してこの設定を適用するには、 SSLSupportMethodフィールドvipで を指定します。AWS CloudFormation では、このフィールドの名前は SslSupportMethod です (大文字と小文字の変更に注意してください)。

詳細については、「が HTTPS リクエスト CloudFront を処理する方法の選択」を参照してください。

セキュリティポリシー

ビューワー (クライアント) との HTTPS 接続 CloudFront に使用するセキュリティポリシーを指定します。セキュリティポリシーは 2 通りの設定を決定します。

  • がビューワーとの通信 CloudFront に使用する最小 SSL/TLS プロトコル。

  • がビューワーに返すコンテンツを暗号化するために CloudFront 使用できる暗号。

セキュリティポリシー (各ポリシーに含まれるプロトコルや暗号など) の詳細については、「ビューワーと の間でサポートされているプロトコルと暗号 CloudFront」を参照してください。

使用できるセキュリティポリシーは、SSL 証明書カスタム SSL クライアントサポート ( CloudFront API SSLSupportMethodでは CloudFrontDefaultCertificateと と呼ばれます) に指定する値によって異なります。

  • SSL 証明書デフォルトCloudFront 証明書 (*.cloudfront.net) の場合 ( CloudFrontDefaultCertificateが API trueにある場合)、 はセキュリティポリシー CloudFront を自動的に TLSv1 に設定します。

  • [SSL Certificate] (SSL 証明書) が [Custom SSL Certificate (example.com)] (カスタム SSL 証明書) で、かつ [Custom SSL Client Support] (カスタム SSL クライアントサポート) が [Clients that Support Server Name Indication (SNI) - (Recommended)] (Server Name Indication (SNI) をサポートするクライアント) - (推奨)、(つまり API で CloudFrontDefaultCertificatefalse かつ SSLSupportMethodsni-only である場合) 次のセキュリティポリシーから選択できます。

    • TLSv1.2_2021

    • TLSv1.2_2019

    • TLSv1.2_2018

    • TLSv1.1_2016

    • TLSv1_2016

    • TLSv1

  • [SSL Certificate] (SSL 証明書) が [Custom SSL Certificate (example.com)] (カスタム SSL 証明書) で、かつ [Custom SSL Client Support] (カスタム SSL クライアントサポート) が [Legacy Clients Support] (レガシークライアントサポート)、(つまり API で CloudFrontDefaultCertificatefalse かつ SSLSupportMethodvip である場合) 次のセキュリティポリシーから選択できます。

    • TLSv1

    • SSLv3

    この設定では、TLSv1.2_2021,TLSv1.2_2019,TLSv1.2_2018,TLSv1.1_2016,および TLSv1_2016 セキュリティポリシーは、 CloudFront コンソールまたは API では使用できません。これらのセキュリティポリシーのいずれかを使用する場合は、以下のオプションを指定できます。

    • ディストリビューションが専用 IP アドレスを使用したレガシークライアントサポートを必要としているかどうかを評価します。ビューワーが [Server Name Indication (SNI)] (Server Name Indication (SNI)) をサポートしている場合は、ディストリビューションの [Custom SSL Client Support] (カスタム SSL クライアントサポート) の設定を [Clients that Support Server Name Indication (SNI)] (Server Name Indication (SNI)) をサポートするクライアント に更新 (API で SSLSupportMethodsni-only に設定する) することをお勧めします。これにより、使用可能な TLS セキュリティポリシーのいずれかを使用でき、料金も削減できます CloudFront。

    • 専用 IP アドレスを使用するレガシークライアントのサポートを維持する必要がある場合は、AWS サポートセンターでケースを作成することによって、他の TLS セキュリティポリシー (TLSv1.2_2021、TLSv1.2_2019、TLSv1.2_2018、TLSv1.1_2016、または TLSv1_2016) のいずれかをリクエストできます。

      注記

      AWS サポートに連絡してこの変更をリクエストする前に、以下の点を考慮してください。

      • これらのセキュリティポリシー (TLSv1.2_2021、TLSv1.2_2019、TLSv1.2_2018、TLSv1.1_2016、または TLSv1_2016) のいずれかをレガシークライアントサポートディストリビューションに追加すると、セキュリティポリシーが AWS アカウントのすべてのレガシークライアントサポートディストリビューションに対する SNI 以外のすべてのビューワーリクエストに適用されます。ただし、ビューワーが、レガシークライアントサポートを使用するディストリビューションに SNI リクエストを送信した場合は、そのディストリビューションのセキュリティポリシーが適用されます。AWS アカウントのすべてのレガシークライアントサポートディストリビューションに送信されたすべてのビューワーリクエストに望ましいセキュリティポリシーが適用されることを確実にするには、望ましいセキュリティポリシーをディストリビューションごとに個別に追加します。

      • 定義上、新しいセキュリティポリシーは、古いセキュリティポリシーと同じ暗号やプロトコルをサポートしません。たとえば、ディストリビューションのセキュリティポリシーを TLSv1 から TLSv1.1_2016 にアップグレードすることを選択した場合、そのディストリビューションは DES-CBC3-SHA 暗号をサポートしなくなります。各セキュリティポリシーがサポートする暗号とプロトコルの詳細については、「ビューワーと の間でサポートされているプロトコルと暗号 CloudFront」を参照してください。

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

ビューワーが と通信するときにディストリビューションがサポートする HTTP バージョンを選択します CloudFront。

ビューワーと CloudFront が HTTP/2 を使用するには、ビューワーが TLSv1.2 以降をサポートしている必要があり、Server Name Indication (SNI) は HTTP/2 経由の gRPC のネイティブサポートを提供し CloudFront ません。

ビューワーと HTTP/3 CloudFront を使用するには、ビューワーが TLSv1.3 と Server Name Indication (SNI) をサポートしている必要があります。 は HTTP/3 接続の移行 CloudFront をサポートしているため、ビューワーは接続を失うことなくネットワークを切り替えることができます。接続の移行の詳細については、RFC 9000 で「Connection Migration」を参照してください。

注記

サポートされる TLSv1.3 暗号の詳細については、「ビューワーと の間でサポートされているプロトコルと暗号 CloudFront」を参照してください。

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

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

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

  • A ~ Z、a ~ z

  • 0-9

  • _ - . * $ / ~ " '

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

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

詳細については、「デフォルトのルートオブジェクトの指定」を参照してください。

ログ記録

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

ログ用のバケット

ログ記録On を選択した場合、アクセスログ CloudFront を保存する Amazon S3 バケット。例えば、 ですmyLogs-DOC-EXAMPLE-BUCKET.s3.amazonaws.com

重要

は、これらのリージョンのバケットに標準ログを配信しないため、以下のリージョンでは Amazon S3 バケットを選択しないでください。 CloudFront

  • アフリカ (ケープタウン)

  • アジアパシフィック (香港)

  • アジアパシフィック (ハイデラバード)

  • アジアパシフィック (ジャカルタ)

  • アジアパシフィック (メルボルン)

  • カナダ(中部)

  • 欧州 (ミラノ)

  • 欧州 (スペイン)

  • 欧州 (チューリッヒ)

  • イスラエル (テルアビブ)

  • 中東 (バーレーン)

  • 中東 (アラブ首長国連邦)

ログ記録を有効にすると、 はオブジェクトに対する各エンドユーザーリクエストに関する情報を CloudFront 記録し、指定した Amazon S3 バケットにファイルを保存します。ログ作成はいつでも有効または無効にできます。 CloudFront アクセスログの詳細については、「標準ログ (アクセスログ) の設定および使用」を参照してください。

注記

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

ログのプレフィックス

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

cookie のログ作成

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

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

Cookie の詳細については、「Cookie に基づくコンテンツのキャッシュ」を参照してください。

IPv6 を有効にする

IPv6 は、IP プロトコルの新しいバージョンです。これは最終的に IPv4 に置き換わり、より大きなアドレス空間を使用します。 CloudFront 常に IPv4 リクエストに応答します。IPv4 IP アドレス (192.0.2.44 など) からのリクエストと IPv6 アドレス (2001:0db8:85a3::8a2e:0370:7334 など) からのリクエストに CloudFront 応答する場合は、IPv6 を有効にするを選択します。

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

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

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

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

詳細については、「Amazon Route 53 デベロッパーガイド」の「ドメイン名を使用したトラフィックの Amazon CloudFront ディストリビューションへのルーティング」を参照してください。

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

IPv6 と CloudFront アクセスログを有効にすると、 c-ip列には IPv4 および IPv6 形式の値が含まれます。詳細については、「標準ログ (アクセスログ) の設定および使用」を参照してください。

注記

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

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

コメント

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

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

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

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

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

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

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

カスタムエラーページとエラーキャッシュ

Amazon S3 またはカスタムオリジンが HTTP 4xx または 5xx ステータスコードを に返すときに、 がオブジェクトをビューワーに CloudFront 返すことができます (HTML ファイルなど) CloudFront。オリジンからのエラーレスポンスまたはカスタムエラーページが CloudFront エッジキャッシュにキャッシュされる期間を指定することもできます。詳細については、「特定の HTTP ステータスコードに対応するカスタムエラーページの作成」を参照してください。

注記

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

HTTP エラーコード

カスタムエラーページ CloudFront を返す HTTP ステータスコード。が CloudFront キャッシュする HTTP ステータスコードの一部または全部について、カスタムエラーページを返す CloudFront ように を設定できます。

Error caching minimum TTL (seconds) (エラーキャッシュ最小 TTL (秒))

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

Response page path (レスポンスページのパス)

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

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

  • [Origin (オリジン)] の値は、カスタムエラーページが含まれているオリジンの [Origin ID (オリジン ID)] の値を指定しています。

HTTP レスポンスコード

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

地理的制限

選択した国のユーザーがコンテンツにアクセスできないようにする必要がある場合は、許可リストまたはブロックリスト を使用して CloudFront ディストリビューションを設定できます。地理的制限の設定には追加料金が発生しません。詳細については、「コンテンツの地理的ディストリビューションの制限」を参照してください。