割り当てと上限

このドキュメントでは、Media CDN に適用される割り当てとシステム上限の一覧を示します。

  • 割り当てにはデフォルト値がありますが、通常は調整をリクエストできます。
  • システムの上限は固定値で、変更できません。

Google Cloud では、割り当てを使用して公平性を確保し、リソースの使用量と可用性の急増を抑えます。割り当ては、 Google Cloud プロジェクトで使用できるGoogle Cloud リソースの量を制限します。割り当ては、ハードウェア、ソフトウェア、ネットワーク コンポーネントなど、さまざまなリソースタイプに適用されます。たとえば、割り当てによって、サービスへの API 呼び出しの数、プロジェクトで同時に使用されるロードバランサの数、作成可能なプロジェクトの数を制限できます。割り当てを適用することで、サービスの過負荷を防ぎ、Google Cloud ユーザーのコミュニティを保護します。割り当ては、自組織で使用している Google Cloud リソースの管理にも役立ちます。

Cloud Quotas システムは次のことを行います。

ほとんどの場合、割り当ての許容量を超えるリソースを消費しようとすると、システムによってリソースへのアクセスがブロックされ、実行しようとしているタスクは失敗します。

割り当ては通常、 Google Cloud プロジェクト レベルで適用されます。あるプロジェクトでリソースを使用しても、別のプロジェクトで使用可能な割り当てに影響することはありません。 Google Cloud プロジェクト内では、すべてのアプリケーションと IP アドレスで割り当てが共有されます。

詳細については、Cloud Quotas の概要をご覧ください。

Media CDN リソースにはシステムの上限もあります。システムの上限は変更できません。

割り当て

次の割り当てが Media CDN に適用されます。割り当てを増やす必要がある場合は、 Google Cloud セールスチームにお問い合わせのうえ、調整をご依頼ください。詳細については、割り当ての調整をリクエストするをご覧ください。

構成

項目 デフォルトの割り当て
プロジェクトあたりの EdgeCacheService リソースの最大数 20
プロジェクトあたりの EdgeCacheOrigin リソースの最大数 30
プロジェクトあたりの EdgeCacheKeyset リソースの最大数 10

システム制限

Media CDN には次の上限が適用されます。

構成

項目 上限 メモ
EdgeCacheService あたりの RouteRules リソースの最大数 200

EdgeCacheService は最大 200 個の RouteRules リソースを定義できます。

EdgeCacheService あたりの PathMatchers リソースの最大数 50

EdgeCacheService は最大 50 個の PathMatchers リソースを定義できます。

サービスあたりの SSL 証明書の最大数 5 SSL 証明書については、プロジェクトごとの割り当てをご覧ください。
EdgeCacheKeyset あたりの公開鍵の最大数 3 鍵セット内の複数の鍵により、鍵のローテーションが可能になります。未使用のキーは時間の経過とともに削除されます。
EdgeCacheKeyset あたりの検証共有鍵の最大数 3 鍵セット内の複数の鍵は、鍵のローテーションを有効にするように設計されています。時間の経過とともに、古い鍵と未使用の鍵を削除する必要があります。

HTTP ヘッダー、リクエスト、ステータス コード

項目 上限 メモ
リクエスト パスを含むリクエスト ヘッダーの最大サイズ 16 KiB この上限を引き上げることはできません。

基盤となるプロトコルに応じて、レスポンス コードが書き込まれずにリクエスト接続が閉じられるか、HTTP 431 Request Header Fields Too Long レスポンスでリクエストが拒否されます。

ロギングが有効になっている場合、これらのリクエストは statusDetailsheaders_too_long でログに記録されます。

リクエスト本文の最大サイズ 16 KiB この上限を引き上げることはできません。

この上限を超える本文のリクエストは、HTTP 413 Content Too Large ステータス コードで拒否されます。

レスポンス ヘッダーの最大サイズ 約 128 KiB

この上限を超えるヘッダーを含むオリジン レスポンスは、クライアントに HTTP 502 Bad Gateway ステータス コードを送信します。ロギングが有効になっている場合、これらは statusDetails の値 backend_response_headers_too_long でログに記録されます。

キャッシュ可能なオブジェクトの最大サイズ 100 GiB

これは、Media CDN がキャッシュに保存できる送信元のオブジェクトの最大サイズです。これのサイズが大きいオブジェクトは、キャッシュ不可として扱われます。

キャッシュに保存不可のレスポンスの最大サイズ 500 MiB

これは、オブジェクトがキャッシュに保存できない場合に、Media CDN がプロキシするレスポンス本文の最大バイト数です。 キャッシュできないレスポンスは、上限に達すると切り捨てられます。

ヘッダーの小文字変換 Media CDN の場合は常に Media CDN は、リクエスト ヘッダーとレスポンス ヘッダーの大文字と小文字について、HTTP/2 の規則に従います。

使用されるプロトコルに関係なく、すべてのヘッダーは小文字に変換されます。

たとえば、Hosthost に、Keep-Alivekeep-alive になります。

ヘッダー値の大文字と小文字は変更されません。

API リクエスト率の上限

API リクエストのレート制限を引き上げる必要がある場合は、現在の使用状況を確認して、引き上げをリクエストできます。

項目 上限
EdgeCacheService あたりの無効化数 1 分あたり 10
プロジェクトごとの networkservices 名前空間にない呼び出しのすべて 1 分あたり 1,200 回の呼び出し
読み取り専用: プロジェクトごとに GetEdgeCache*ListEdgeCache* 100/分
読み取り/書き込み: プロジェクトごとに読み取り専用としてマークされていない networkservices 名前空間内のすべてのリソース 100/分

createpatchdelete などの更新リクエストは、一度に 1 つずつ送信することをおすすめします。API は複数の同時リクエストをキューに登録しますが、これらのリクエストを同時に送信すると、システムが各アイテムをシリアルに処理するため、レイテンシが大幅に増加し、処理時間が長くなる可能性があります。

クライアントのタイムアウト

タイムアウト 最大期間 ステータス コード 説明
Maximum request duration 5 分 HTTP 408 Request Timeout 1 回のリクエスト/レスポンスの最大期間。
Header timeout 10 秒 HTTP 408 Request Timeout クライアントがリクエスト ヘッダーの完全なセットを送信するまでの時間。

オリジンのタイムアウト

  • connectTimeoutmaxAttemptsTimeout は、Media CDN が使用可能なレスポンスを見つけるまでの時間を制限します。

    どちらのタイムアウトにも、オリジンがヘッダーを返し、フェイルオーバーまたはリダイレクトを使用するかどうかを判断するのにかかる時間が含まれます。connectTimeout は、送信元の試行ごとに独立して適用されますが、maxAttemptsTimeout には、フェイルオーバーとリダイレクトを含むすべての送信元の試行に接続するために必要な時間が含まれます。リダイレクトに従うと、送信元への接続の試行が追加でカウントされ、構成された送信元に設定された maxAttempts にカウントされます。

    Media CDN がリダイレクトまたはフェイルオーバー元のレスポンスなど、リダイレクト以外のレスポンスを検出すると、readTimeout 値と responseTimeout 値が適用されます。リダイレクトされた送信元は、リダイレクトが発生した EdgeCacheOrigin に構成された connectTimeoutreadTimeoutresponseTimeout の値を使用します。

  • responseTimeoutreadTimeout は、ストリーミング レスポンスにかかる時間を制御します。Media CDN がアップストリーム レスポンスを使用すると判断した後、connectTimeoutmaxAttemptsTimeout も関係なくなります。この時点で、readTimeoutresponseTimeout が有効になります。

Media CDN は、各 EdgeCacheOrigin で設定された maxAttempts に関係なく、すべての送信元で最大 4 回の送信元試行を行います。Media CDN は、プライマリ EdgeCacheOriginmaxAttemptsTimeout 値を使用します。試行ごとのタイムアウト値(connectTimeoutreadTimeoutresponseTimeout)は、各試行の EdgeCacheOrigin に対して構成されます。

次の表に、タイムアウト フィールドの説明を示します。

フィールド デフォルト 説明
connectTimeout 5 秒

Media CDN がリクエストを開始してから送信元が使用可能になるまでの最大時間。この時間が経過するとMedia CDN はレスポンスが使用可能かどうかを判断します。実際には、connectTimeout はリクエストの作成から DNS ルックアップの実行、TLS handshake、TCP/QUIC 接続の確立、さらには HTTP ステータス コードまでカバーします。

タイムアウトは 1 秒~ 15 秒の値にする必要があります。

maxAttemptsTimeout 15 秒

オリジンに対するすべての接続試行の最大時間。この時間を超えるとクライアントにエラーを返します。対象となる接続試行にはフェイルオーバー オリジンに対する接続も含まれます。レスポンスが返される前にタイムアウトに達すると、HTTP 504 ステータス コードが返されます。

タイムアウトは 1 秒~ 30 秒の値にする必要があります。

この設定は、すべての送信元の接続試行(フェイルオーバー送信元を含む)の合計時間を定義します。これは、クライアントがコンテンツのストリーミング開始を待機する合計時間の上限を設定するためです。最初の maxAttemptsTimeout 値のみが使用されます。ここで、最初のは、指定されたルート用に構成された送信元によって定義されます。

readTimeout 15 秒

1 回の HTTP レスポンスの読み取り間の最大待機時間。readTimeoutresponseTimeout によって制限されます。HTTP レスポンスのすべての読み取りは、responseTimeout によって設定された期限までに完了する必要があります。タイムアウトは 1 秒~ 30 秒の値にする必要があります。レスポンスが完了する前にこのタイムアウトに達すると、レスポンスは切り捨てられてログに記録されます。

responseTimeout 30 秒

レスポンスの完了に許可される最大期間。

タイムアウトは 1 秒~ 120 秒の値にする必要があります。

期間は、最初の本文バイトが受信された時点から測定されます。レスポンスが完了する前にこのタイムアウトに達すると、レスポンスは切り捨てられてログに記録されます。

割り当てを管理する

Media CDN では、さまざまな理由から、使用できるリソースの割り当て量に上限が設けられています。たとえば、割り当て量の上限を設定して予期しない使用量の急増を防ぐことで、 Google Cloud ユーザーのコミュニティを保護しています。割り当て量は、無料枠で Google Cloud を試しているユーザーをトライアルのレベルに留めておくのにも役立ちます。

すべてのプロジェクトは同じ割り当て量で開始しますが、追加の割り当て量をリクエストすることで変更できます。割り当ては、プロダクトの使用状況に応じて自動的に増加される場合もあります。

権限

割り当ての表示や、割り当ての増加のリクエストをするには、Identity and Access Management(IAM)のプリンシパルに以下のいずれかのロールが必要です。

タスク 必要なロール
プロジェクトの割り当て量をチェックする 次のいずれかが必要です。
割り当て量の変更、割り当て量の追加のリクエストを行う 次のいずれかが必要です。
  • プロジェクト オーナーroles/owner
  • プロジェクト編集者roles/editor
  • 割り当て管理者roles/servicemanagement.quotaAdmin
  • serviceusage.quotas.update 権限のあるカスタムロール

割り当て量を確認する

コンソール

  1. Google Cloud コンソールで、[割り当て] ページに移動します。

    [割り当て] に移動

  2. 更新する割り当てを検索するには、[表をフィルタリング] を使用します。割り当ての名前がわからない場合は、このページにあるリンクを使用します。

gcloud

Google Cloud CLI で次のコマンドを実行して、割り当てを確認します。PROJECT_ID は、実際のプロジェクト ID に置き換えます。

    gcloud compute project-info describe --project PROJECT_ID

ある特定のリージョンで使用済みの割り当て量を確認するには、次のコマンドを実行します。

    gcloud compute regions describe example-region
    

割り当て量を超えたときのエラー

gcloud コマンドで割り当て量を超えた場合、gcloudquota exceeded エラー メッセージを出力し、終了コード 1 を返します。

API リクエストで割り当て量を超えた場合、 Google Cloud は HTTP ステータス コード 413 Request Entity Too Large を返します。

追加の割り当てをリクエスト

通常、割り当てを調整するには Google Cloud コンソールを使用します。詳細については、割り当ての調整をリクエストするをご覧ください。

リソースの可用性

各割り当て量は、リソースが利用可能な場合に作成できる特定のリソースタイプの最大数を表します。割り当て量によってリソースの可用性が保証されるわけではありません。この点は注意が必要です。割り当て量が使用可能でも、新しいリソースを使用できなければ、そのリソースを作成することはできません。

たとえば、特定のリージョンで新しいリージョンの外部 IP アドレスを作成するための割り当て量が十分にあっても、そのリージョンに使用可能な外部 IP アドレスがない場合、外部 IP アドレスは作成できません。ゾーンリソースの可用性は、新しいリソースを作成できるかにも影響を及ぼす可能性があります。

リージョン全体でリソースを使用できない状況はまれです。ただし、ゾーン内のリソースが使い果たされることはあります。通常、そのリソースタイプのサービスレベル契約(SLA)に影響はありません。詳細については、リソースに関連する SLA をご覧ください。