レスポンスヘッダーポリシーを理解する
レスポンスヘッダーポリシーを使用して、Amazon CloudFront からビューワーに送信するレスポンスで削除または追加する HTTP ヘッダーを指定できます。レスポンスヘッダーポリシーおよびそれらを使用する理由の詳細については、「ポリシーを使用して CloudFront レスポンスの HTTP ヘッダーを追加または削除する」を参照してください。
以下のトピックでは、レスポンスヘッダーポリシーの設定について説明します。設定はカテゴリに分類され、そのことについて次のトピックで説明します。
ポリシーの詳細 (メタデータ)
ポリシーの詳細設定には、レスポンスヘッダーポリシーに関するメタデータが含まれます。
-
名前 - レスポンスヘッダーポリシーを識別するための名前。コンソールでは、名前を使用して、このポリシーをキャッシュ動作にアタッチします。
-
説明 (オプション) - レスポンスヘッダーポリシーを説明するコメント。これはオプションですが、このポリシーの目的を特定するのに役立ちます。
CORS ヘッダー
Cross-Origin Resource Sharing (CORS) 設定を使用して、レスポンスヘッダーポリシーに CORS ヘッダーを追加および設定できます。
このリストは、レスポンスヘッダーポリシーの設定および有効な値の指定方法に焦点を合わせています。これらの各ヘッダーと、実際の CORS リクエストとレスポンスの使用方法の詳細については、MDN ウェブドキュメントと CORS プロトコルの仕様
- Access-Control-Allow-Credentials
-
これは Boolean 設定 (
true
またはfalse
) で、CloudFront が CORS リクエストへのレスポンスにAccess-Control-Allow-Credentials
ヘッダーを追加するかどうかを決定します。この設定がtrue
に設定されている場合、CloudFront によってAccess-Control-Allow-Credentials: true
CORS リクエストへのレスポンスのヘッダーが追加されます。そうしないと、このヘッダーは CloudFront によってレスポンスに追加されません。 - Access-Control-Allow-Headers
-
CORS のプリフライトリクエストへのレスポンスで、CloudFront が
Access-Control-Allow-Headers
ヘッダーの値として使用するヘッダー名を指定します。この設定の有効な値には、HTTP ヘッダー名、またはすべてのヘッダーを許可することを示すワイルドカード文字 (*
) が含まれます。注記
Authorization
ヘッダーではワイルドカードを使用できないため、明示的にリストする必要があります。ワイルドカード文字の有効な使用例例 一致する 一致しない x-amz-*
x-amz-test
x-amz-
x-amz
x-*-amz
x-test-amz
x--amz
*
Authorization
を除くすべてのヘッダーAuthorization
- Access-Control-Allow-Methods
-
CORS のプリフライトリクエストへのレスポンスで、CloudFront が
Access-Control-Allow-Methods
ヘッダーの値として使用する HTTP メソッドを指定します。有効な値は、GET
、DELETE
、HEAD
、OPTIONS
、PATCH
、POST
、PUT
、ALL
です。ALL
は、リストされているすべての HTTP メソッドが含まれている特別な値です。 - Access-Control-Allow-Origin
-
CloudFront が
Access-Control-Allow-Origin
レスポンスヘッダーで使用できる値を指定します。この設定の有効な値には、特定のオリジン (http://www.example.com
など)、またはすべてのオリジンを許可することを示すワイルドカード文字 (*
) が含まれます。メモ
-
ワイルドカード文字 (
*
) は、ドメイン (*.example.org
) の左端部分として使用できます。 -
ワイルドカード文字 (
*
) は以下の位置では使用できません。-
最上位ドメイン (
example.*
) -
サブドメインの右側 (
test.*.example.org
) または任意のサブドメイン内 (*test.example.org
) -
単語の内部 (
exa*mple.org)
-
ワイルドカード文字の使用方法の例については、次の表を参照してください。
例 一致する 一致しない http://*.example.org
http://www.example.org
http://test.example.org
http://test.example.org:123
https://test.example.org
https://test.example.org:123
*.example.org
test.example.org
test.test.example.org
.example.org
http://test.example.org
https://test.example.org
http://test.example.org:123
https://test.example.org:123
example.org
http://example.org
https://example.org
http://example.org
https://example.org
http://example.org:123
http://example.org:*
http://example.org:123
http://example.org
http://example.org:1*3
http://example.org:123
http://example.org:1893
http://example.org:13
*.example.org:1*
test.example.org:123
-
- Access-Control-Expose-Headers
-
CORS のプリフライトリクエストへのレスポンスで、CloudFront が
Access-Control-Expose-Headers
ヘッダーの値として使用するヘッダー名を指定します。この設定の有効な値には、HTTP ヘッダー名、またはワイルドカード文字 (*
) が含まれます。 - Access-Control-Max-Age
-
CORS のプリフライトリクエストへのレスポンスで、CloudFront が
Access-Control-Max-Age
ヘッダーの値として使用する秒数。 - オリジンのオーバーライド
-
オリジンからのレスポンスに含まれている CORS ヘッダーの 1 つがポリシー内にもある場合の CloudFront の動作方法を決定する Boolean 設定。
-
true
に設定されていて、オリジンレスポンスで、ポリシーにも CORS ヘッダーが含まれている場合、CloudFront は、レスポンスに対するポリシーの CORS ヘッダーを追加します。次に CloudFront はそのレスポンスをビューワーに送信します。CloudFront はオリジンから受け取ったヘッダーを無視します。 -
false
に設定されており、オリジンレスポンスに CORS ヘッダーが含まれている場合 (CORS ヘッダーがポリシーのものかどうかに関係なく)、CloudFront には、オリジンから受け取りレスポンスに送信する CORS ヘッダーが含まれます。CloudFront は、ビューワーに送信されるレスポンスにポリシー内の CORS ヘッダーを追加しません。
-
セキュリティヘッダー
セキュリティヘッダーの設定を使用して、レスポンスヘッダーポリシーでいくつかのセキュリティ関連の HTTP レスポンスヘッダーを追加および設定できます。
このリストは、レスポンスヘッダーポリシーの設定および有効な値の指定方法を示しています。これらの各ヘッダー、および実際の HTTP レスポンスでの使用方法の詳細については、MDN ウェブドキュメントへのリンクを参照してください。
- Content-Security-Policy
-
CloudFront が
Content-Security-Policy
レスポンスヘッダーの値として使用するコンテンツセキュリティポリシーディレクティブを指定します。このヘッダーと有効なポリシーディレクティブの詳細については、MDN Web ドキュメントにある「Content-Security-Policy
」を参照してください。 注記
Content-Security-Policy
ヘッダー値は 1,783 文字に限定されます。 - リファラーポリシー
-
CloudFront が
Referrer-Policy
レスポンスヘッダーの値として使用するリファラーポリシーディレクティブを指定します。この設定の有効値は、no-referrer
、no-referrer-when-downgrade
、origin
、origin-when-cross-origin
、same-origin
、strict-origin
、strict-origin-when-cross-origin
、unsafe-url
です。このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「Referrer-Policy
」を参照してください。 - Strict-Transport-Security
-
CloudFront が
Strict-Transport-Security
レスポンスヘッダーの値として使用するディレクティブおよび設定を指定します。この設定では、以下を個別に指定します。-
CloudFront がこのヘッダーの
max-age
ディレクティブで値として使用する秒数 -
CloudFront がこのヘッダーの値に
preload
ディレクティブを含めるかどうかを決定するpreload
の Boolean の設定 (true
またはfalse
) -
CloudFront がこのヘッダーの値に
true
ディレクティブを含めるかどうかを決定するfalse
の Boolean の設定 (includeSubDomains
またはincludeSubDomains
)
このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「Strict-Transport-Security
」を参照してください。 -
- X-Content-Type-Options
-
これは Boolean 設定 (
true
またはfalse
) で、CloudFront が CORS リクエストへのレスポンスにX-Content-Type-Options
ヘッダーを追加するかどうかを決定します。この設定がtrue
である場合、CloudFront によってレスポンスにX-Content-Type-Options: nosniff
ヘッダーが追加されます。そうしないと、このヘッダーは CloudFront によって追加されません。このヘッダーの詳細については、MDN Web ドキュメントにある「X-Content-Type-Options
」を参照してください。 - X-Frame-Options
-
CloudFront が
X-Frame-Options
レスポンスヘッダーの値として使用するディレクティブを指定します。この設定の有効値は、DENY
またはSAMEORIGIN
です。このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「X-Frame-Options
」を参照してください。 - X-XSS-Protection
-
CloudFront が
X-XSS-Protection
レスポンスヘッダーの値として使用するディレクティブおよび設定を指定します。この設定では、以下を個別に指定します。-
X-XSS-Protection
(XSS フィルタリングを無効にする) または0
(XSS フィルタリングを有効にする) についての1
の設定設定 -
CloudFront がこのヘッダーの値に
true
ディレクティブを含めるかどうかを決定するfalse
の Boolean の設定 (block
またはmode=block
) -
CloudFront が、このヘッダーの値に
report=
ディレクティブを含めるかどうかを決定するレポートの URIreporting URI
block
のためにtrue
を指定することができます。または、レポートの URI を指定することもできますが、両方一緒に指定することはできません。このヘッダーおよびこれらのディレクティブの詳細については、MDN Web ドキュメントにある「X-XSS-Protection」を参照してください。 -
- オリジンのオーバーライド
-
これらの各セキュリティヘッダーの設定には、Boolean 設定 (
true
またはfalse
) が含まれ、オリジンからのレスポンスにそのヘッダーが含まれているときの CloudFront の動作を決定します。この設定が
true
に設定されていて、オリジンレスポンスにヘッダーが含まれている場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのヘッダーを追加します。オリジンから受け取ったヘッダーは無視されます。この設定が
false
に設定されていて、オリジンレスポンスでヘッダーが含まれている場合、CloudFront には、ビューワーに送信するレスポンスでオリジンから受信したヘッダーが含まれます。オリジンレスポンスにヘッダーが含まれていない場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのヘッダーを追加します。CloudFront は、この設定が
true
またはfalse
に設定されている場合に、この操作を実行します。
カスタムヘッダー
カスタムヘッダーの設定を使用して、レスポンスヘッダーポリシーでカスタム HTTP ヘッダーを追加および設定できます。CloudFront は、ビューワーに返すすべてのレスポンスに、これらのヘッダーを追加します。カスタムヘッダーごとにヘッダーの値も指定しますが、値の指定はオプションです。これは、CloudFront が値なしでレスポンスヘッダーを追加できるためです。
また各カスタムヘッダーには、独自のオリジンのオーバーライドの設定があります。
-
この設定が
true
に設定されていて、オリジンレスポンスで、ポリシーにもカスタムヘッダーが含まれている場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのカスタムヘッダーを追加します。オリジンから受け取ったヘッダーは無視されます。 -
この設定が
false
であり、オリジンレスポンスで、ポリシーにカスタムヘッダーが含まれている場合、CloudFront には、ビューワーに送信するレスポンスでオリジンから受信したカスタムヘッダーが含まれます。 -
オリジンレスポンスで、ポリシーにもカスタムヘッダーが含まれていない場合、CloudFront は、ビューワーに送信するレスポンスに対するポリシーのカスタムヘッダーを追加します。CloudFront は、この設定が
true
またはfalse
に設定されている場合に、この操作を実行します。
ヘッダーを削除
CloudFront がオリジンから受信したレスポンスから削除するヘッダーを指定し、これらのヘッダーを含まないレスポンスを CloudFront からビューワーに送信できます。CloudFront は、オブジェクトの提供元が CloudFront のキャッシュであるか、オリジンであるかにかかわらず、ビューワーに送信するすべてのレスポンスからヘッダーを削除します。例えば、ブラウザで不要になった X-Powered-By
や Vary
などのヘッダーを削除し、これらのヘッダーを削除したレスポンスを CloudFront からビューワーに送信できます。
レスポンスヘッダーポリシーを使用して削除するヘッダーを指定すると、CloudFront はまずヘッダーを削除し、次にレスポンスヘッダーポリシーの他のセクション (CORS ヘッダー、セキュリティヘッダー、カスタムヘッダーなど) で指定されているヘッダーを追加します。削除するヘッダーを指定しても、同じヘッダーをポリシーの別のセクションに追加している場合は、そのヘッダーが含まれたレスポンスが CloudFront からビューワーに送信されます。
注記
レスポンスヘッダーポリシーを使用して、CloudFront がオリジンから受信した Server
ヘッダーと Date
ヘッダーを削除し、これらの (オリジンから受信した) ヘッダーを含まないレスポンスを CloudFront からビューワーに送信できます。ただし、これを行うと、これらのヘッダーの CloudFront 独自のバージョンはビューワーに送信するレスポンスに追加されます。CloudFront が追加する Server
ヘッダーの場合、ヘッダーの値は CloudFront
です。
削除できないヘッダー
以下のヘッダーは、レスポンスヘッダーポリシーを使用して削除することはできません。これらのヘッダーをレスポンスヘッダーポリシーの [Remove headers] (ヘッダーを削除) セクション (API の ResponseHeadersPolicyRemoveHeadersConfig
) で指定すると、エラーが表示されます。
-
Connection
-
Content-Encoding
-
Content-Length
-
Expect
-
Host
-
Keep-Alive
-
Proxy-Authenticate
-
Proxy-Authorization
-
Proxy-Connection
-
Trailer
-
Transfer-Encoding
-
Upgrade
-
Via
-
Warning
-
X-Accel-Buffering
-
X-Accel-Charset
-
X-Accel-Limit-Rate
-
X-Accel-Redirect
-
X-Amz-Cf-.*
-
X-Amzn-Auth
-
X-Amzn-Cf-Billing
-
X-Amzn-Cf-Id
-
X-Amzn-Cf-Xff
-
X-Amzn-ErrorType
-
X-Amzn-Fle-Profile
-
X-Amzn-Header-Count
-
X-Amzn-Header-Order
-
X-Amzn-Lambda-Integration-Tag
-
X-Amzn-RequestId
-
X-Cache
-
X-Edge-.*
-
X-Forwarded-Proto
-
X-Real-Ip
Server-Timing ヘッダー
Server-Timing
ヘッダー設定を使用して、CloudFront から送信された HTTP レスポンスの Server-Timing
ヘッダーを有効にします。このヘッダーを使用して、CloudFront およびオリジンの動作とパフォーマンスに関するインサイトを得るのに役立つメトリクスを表示することができます。例えば、キャッシュヒットを処理したキャッシュレイヤーを確認できます。または、キャッシュミスがある場合に、オリジンからの最初のバイトレイテンシーを確認できます。Server-Timing
ヘッダーのメトリクスは、CloudFront またはオリジンの設定における問題のトラブルシューティングや効率のテストに役立ちます。
CloudFront で Server-Timing
ヘッダーを使用する方法の詳細については、次のセクションを参照してください。
Server-Timing
ヘッダーを有効にするには、レスポンスヘッダーポリシーを作成 (または編集) します。
トピック
サンプリングレートと Pragma リクエストヘッダー
レスポンスヘッダーポリシーで Server-Timing
ヘッダーを有効にするときは、サンプリングレートも指定します。サンプリングレートは、CloudFront が Server-Timing
ヘッダーを追加するレスポンスの割合を指定する 0~100 の数値です。サンプリングレートを 100 に設定すると、CloudFront はレスポンスヘッダーポリシーがアタッチされているキャッシュ動作に一致するすべてのリクエストの HTTP レスポンスに、Server-Timing
ヘッダーを追加します。50 に設定すると、CloudFront は、そのキャッシュ動作に一致するリクエストに対して、レスポンスの 50% にヘッダーを追加します。サンプリングレートは、0~100 の任意の数値 (小数点以下 4 桁まで) に設定できます。
サンプリングレートが 100 未満の数値に設定されている場合、CloudFront が Server-Timing
ヘッダーを追加するレスポンスは制御できません。割合のみを制御できます。ただし、HTTP リクエストで値を server-timing
に設定して Pragma
ヘッダーを追加し、そのリクエストへのレスポンスで Server-Timing
ヘッダーを受け取ることができます。これは、サンプリングレートの設定とは無関係に機能します。サンプリングレートがゼロ (0) に設定されている場合でも、リクエストに Pragma: server-timing
ヘッダーが含まれていれば、CloudFront は Server-Timing
ヘッダーをレスポンスに追加します。
オリジンからの Server-Timing ヘッダー
キャッシュミスがあり、CloudFront がリクエストをオリジンに転送すると、オリジンには、CloudFront へのレスポンスに Server-Timing
ヘッダーが含まれている場合があります。この場合、CloudFront は、オリジンから受信した Server-Timing
ヘッダーにメトリクスを追加します。CloudFront がビューワーに送信するレスポンスには、オリジンからの値と CloudFront が追加したメトリクスを含む単一の Server-Timing
ヘッダーが含まれています。オリジンからのヘッダー値は、最後にある場合と、CloudFront がヘッダーに追加する 2 つのメトリクスセットの間にある場合があります。
キャッシュヒットが発生すると、CloudFront がビューワーに送信するレスポンスには、ヘッダー値に CloudFront メトリクスのみを含む単一の Server-Timing
ヘッダーが含まれます (オリジンからの値は含まれません)。
Server-Timing ヘッダーのメトリクス
CloudFront が HTTP レスポンスに Server-Timing
ヘッダーを追加する場合、ヘッダーの値には、CloudFront およびオリジンの動作とパフォーマンスに関するインサイトを得ることができる 1 つ以上のメトリクスが含まれます。次のリストには、すべてのメトリクスと想定される値が含まれています。Server-Timing
ヘッダーには、CloudFront を介したリクエストとレスポンスの性質に応じて、これらのメトリクスの一部のみが含まれます。
これらのメトリクスのいくつかは、名前のみ (値なし) の Server-Timing
ヘッダーに含まれます。その他は名前と価値です。メトリクスに値がある場合、名前と値はセミコロン (;
) で区切られます。ヘッダーに複数のメトリクスが含まれている場合、メトリクスはカンマ (,
) で区切られます。
- cdn-cache-hit
-
CloudFront は、オリジンに対してリクエストを行わずに、キャッシュからレスポンスを提供しました。
- cdn-cache-refresh
-
CloudFront は、リクエストをオリジンに送信してキャッシュされたオブジェクトがまだ有効であることを確認した後で、キャッシュからレスポンスを提供しました。この場合、CloudFront はオリジンから完全なオブジェクトを取得しませんでした。
- cdn-cache-miss
-
CloudFront はキャッシュからレスポンスを提供しませんでした。この場合、CloudFront はレスポンスを返す前にオリジンから完全なオブジェクトをリクエストしました。
- cdn-pop
-
CloudFront のどの Point of Presence (POP) がリクエストを処理したかを示す値が含まれます。
- cdn-rid
-
CloudFront の一意のリクエスト識別子を示す値が含まれます。このリクエスト識別子 (RID) は、AWS Support に関する問題のトラブルシューティングに使用できます。
- cdn-hit-layer
-
このメトリクスは、CloudFront がオリジンに対してリクエストを行わずにキャッシュからレスポンスを提供する場合に存在します。次のいずれかの値が含まれます。
-
EDGE – CloudFront は POP ロケーションからキャッシュされたレスポンスを提供しました。
-
REC – CloudFront は、リージョン別エッジキャッシュ (REC) ロケーションからキャッシュされたレスポンスを提供しました。
-
オリジンシールド – CloudFront は、オリジンシールドとして機能している REC からキャッシュされたレスポンスを提供しました。
-
- cdn-upstream-layer
-
このメトリクスは、CloudFront がオリジンに対して完全なオブジェクトをリクエストする場合に存在します。次のいずれかの値が含まれます。
-
EDGE – POP ロケーションがリクエストをオリジンに直接送信しました。
-
REC – REC ロケーションがリクエストをオリジンに直接送信しました。
-
オリジンシールド – オリジンシールドとして機能している REC が、リクエストをオリジンに直接送信しました。
-
- cdn-upstream-dns
-
オリジンの DNS レコードの取得にかかったミリ秒数を示す値が含まれます。値がゼロ (0) の場合、CloudFront がキャッシュされた DNS 結果を使用したか、既存の接続を再使用したことを示します。
- cdn-upstream-connect
-
オリジン DNS リクエストが完了してから、オリジンへの TCP 接続 (および該当する場合は TLS 接続) が完了するまでのミリ秒数を示す値が含まれます。値がゼロ (0) の場合、CloudFront が既存の接続を再使用したことを示します。
- cdn-upstream-fbl
-
オリジン HTTP リクエストが完了してから、オリジンからのレスポンスで最初のバイトを受信するまでのミリ秒数 (最初のバイトレイテンシー) を示す値が含まれます。
- cdn-downstream-fbl
-
エッジロケーションがリクエストの受信を終了してから、レスポンスの最初のバイトをビューワーに送信するまでのミリ秒を示す値が含まれます。
Server-Timing ヘッダーの例
Server-Timing
ヘッダー設定が有効になっているときに、ビューワーが CloudFront から受信する可能性がある Server-Timing
の例を以下に示します。
例 – キャッシュミス
リクエストされたオブジェクトが CloudFront キャッシュ内にないときにビューワーが受け取る可能性のある Server-Timing
ヘッダーの例を以下に示します。
Server-Timing: cdn-upstream-layer;desc="EDGE",cdn-upstream-dns;dur=0,cdn-upstream-connect;dur=114,cdn-upstream-fbl;dur=177,cdn-cache-miss,cdn-pop;desc="PHX50-C2",cdn-rid;desc="yNPsyYn7skvTzwWkq3Wcc8Nj_foxUjQUe9H1ifslzWhb0w7aLbFvGg==",cdn-downstream-fbl;dur=436
この Server-Timing
ヘッダーは以下を示します。
-
オリジンリクエストが CloudFront Point of Presence (POP) ロケーション (
cdn-upstream-layer;desc="EDGE"
) から送信されたこと。 -
CloudFront はキャッシュされた DNS 結果をオリジン (
cdn-upstream-dns;dur=0
) に使用しました。 -
CloudFront がオリジン(
cdn-upstream-connect;dur=114
) への TCP (および該当する場合は TLS) 接続を完了するまでに 114 ミリ秒かかったこと。 -
リクエスト (
cdn-upstream-fbl;dur=177
) の完了後、CloudFront がオリジンからレスポンスの最初のバイトを受信するまでに 177 ミリ秒かかったこと。 -
リクエストされたオブジェクトは CloudFront のキャッシュ (
cdn-cache-miss
) にありませんでした。 -
リクエストは、コード
PHX50-C2
(cdn-pop;desc="PHX50-C2"
) によって識別されるエッジロケーションで受信されました。 -
このリクエストの CloudFront の一意の ID は
yNPsyYn7skvTzwWkq3Wcc8Nj_foxUjQUe9H1ifslzWhb0w7aLbFvGg==
(cdn-rid;desc="yNPsyYn7skvTzwWkq3Wcc8Nj_foxUjQUe9H1ifslzWhb0w7aLbFvGg=="
) でした。 -
ビューワーリクエストを受け取った後、CloudFront がレスポンスの最初のバイトをビューワーに送信するのに 436 ミリ秒かかったこと (
cdn-downstream-fbl;dur=436
)。
例 – キャッシュヒット
リクエストされたオブジェクトが CloudFront キャッシュ内にあるときにビューワーが受け取る可能性のある Server-Timing
ヘッダーの例を以下に示します。
Server-Timing: cdn-cache-hit,cdn-pop;desc="SEA19-C1",cdn-rid;desc="nQBz4aJU2kP9iC3KHEq7vFxfMozu-VYBwGzkW9diOpeVc7xsrLKj-g==",cdn-hit-layer;desc="REC",cdn-downstream-fbl;dur=137
この Server-Timing
ヘッダーは以下を示します。
-
リクエストされたオブジェクトはキャッシュ (
cdn-cache-hit
) 内にありました。 -
リクエストは、コード
SEA19-C1
(cdn-pop;desc="SEA19-C1"
) によって識別されるエッジロケーションで受信されました。 -
このリクエストの CloudFront の一意の ID は
nQBz4aJU2kP9iC3KHEq7vFxfMozu-VYBwGzkW9diOpeVc7xsrLKj-g==
(cdn-rid;desc="nQBz4aJU2kP9iC3KHEq7vFxfMozu-VYBwGzkW9diOpeVc7xsrLKj-g=="
) でした。 -
リクエストされたオブジェクトは、リージョン別エッジキャッシュ (REC) ロケーション (
cdn-hit-layer;desc="REC"
) にキャッシュされました。 -
ビューワーリクエストを受け取った後、CloudFront がレスポンスの最初のバイトをビューワーに送信するのに 137 ミリ秒かかったこと (
cdn-downstream-fbl;dur=137
)。