このページでは、Cloud Run の既知の問題、制限事項、サポートされていない機能について説明します。
また、公開 Issue Tracker で既存の問題の確認や、新しい問題の報告を行うことができます。
一般的なエラーのトラブルシューティングについては、エラーのトラブルシューティングを行うをご覧ください。
既知の問題
Cloud Run の一般的な既知の問題は次のとおりです。
Cloud Run のジョブタスクが再試行されたと誤認されることがある
タスクが最初の試行で正常に完了していても、そのタスクが再試行されたものとしてマークされることがあります。この問題が解決するまでは、実行状況の誤認を回避するために、--max-retries
パラメータを 3 以上に設定することをおすすめします。
ファイル記述子の上限
Cloud Run 第 1 世代と第 2 世代の環境のファイル記述子に関する上限は、インスタンスあたり 25,000 です。これはハードリミットです。上限を超えると、インスタンスのソケットが不足することがあります。
ボリューム マウントが Config Connector と互換性がない
Config Connector を使用して Cloud Run サービスまたはジョブをデプロイすると、次回のデプロイ時にボリューム マウントが保持されません。ボリューム マウントがすでに適用されているサービスまたはジョブで Config Connector を使用している場合にも、問題が発生する可能性があります。
実行環境の既知の問題
実行環境の既知の問題を以下に示します。
第 1 世代の実行環境で HOME
環境変数が /home
に設定されている
Cloud Run 第 1 世代の実行環境では、HOME
環境変数が /home
に設定されています。第 2 世代の実行環境では、HOME 変数を実行中のユーザーの /etc/passwd
の値に設定します。/etc/passwd
が存在しない場合や、/etc/passwd
でユーザーが見つからない場合は、/home
にフォールバックします。
第 1 世代の実行環境で /tmp
にシークレットをマウントできない
第 1 世代の実行環境を使用する場合、/tmp
に直接シークレットをマウントすることはできません。ただし、/tmp
の任意のサブディレクトリにシークレットをマウントできます。
ネットワーキングの既知の問題
ネットワーキングに関する既知の問題を以下に示します。
VPC ネットワークの宛先にアクセスする場合のサブネットの制限
プライベート IP 経由でいずれかの宛先にアクセスする場合、宛先をサブネット 192.168.1.0/24
上にすることはできません。このサブネットを使用すると、第 2 世代の実行環境を使用する Cloud Run サービスと Cloud Run ジョブが宛先と通信できなくなります。
VPC ネットワークの下り(外向き)では IPv6 がサポートされない
Direct VPC 下り(外向き)コネクタやサーバーレス VPC アクセス コネクタを介してトラフィックを送信する場合は、IPv6 を使用できません。vpc-egress
が private-ranges-only
に設定されているときに、VPC 以外のエンドポイントにアクセスする場合は、IPv6 がサポートされます。
サーバーレスでの使用時に IP アドレスが明確に識別されない
ダイレクト VPC 下り(外向き)を使用する場合、Cloud Run で予約されている IP アドレスは、Google Cloud コンソールの [IP アドレス] ページに [サーバーレス] ではなく、[なし] と表示されます。
リクエストの送受信に関する既知の問題
リクエストの送受信に関する既知の問題を以下に示します。
サポートされていない HTTP リクエスト メソッド
HTTP メソッド TRACE
および CONNECT
を含むリクエストはサポートされていないため、Cloud Run で実行されているサービスでは受信されません。
一部のリージョンからの呼び出し時にカスタム ドメインでリクエスト レイテンシが増加する
カスタム ドメインを使用する Cloud Run サービスに対するリクエストでは、一部のロケーションでレイテンシが非常に大きくなる場合があります。この問題は、asia-northeast1
と us-east4
の Cloud Run サービスで顕著です。この問題が発生した場合は、サーバーレス NEG を使用して、Cloud Load Balancing でパフォーマンスを向上させることができます。
起動プローブの結果が判明する前に、インスタンスにリクエストが送信されることがある
サービス エンドポイントに送信されるリクエストは、Cloud Run インスタンスを起動するために使用されることがあります。このリクエストは、起動プローブの結果が判明する前にインスタンスに割り当てることができます。プローブの結果が合格の場合は、このインスタンスによってリクエストの処理が開始され、Cloud Run リクエストログにコード receiveTimestamp
が記録されます。プローブの結果が不合格の場合は、失敗であったことがログに記録されます。サービスのコードは記録されません。
サポートされていないサービスと機能
Cloud Run を使用する場合、次のサービスと機能はサポートされません。
Google Cloud サービス
次の表に、Cloud Run でまだサポートされていないサービスを示します。
サービス | メモ |
---|---|
Web Security Scanner | |
Container Threat Detection |
HTTP/2 push
Cloud Run は HTTP/2 をサポートしていますが、HTTP/2 Server Push はサポートしていません。
Identity-Aware Proxy で保護された従来のアプリケーション ロードバランサの背後で HTTP/2 を使用する
IAP で保護された従来のアプリケーション ロードバランサの背後にある HTTP/2 が有効な Cloud Run サービスでは、リクエスト時にリダイレクトの無限ループが発生します。IAP で保護された HTTP/2 対応サービスを使用する場合は、グローバル外部アプリケーション ロードバランサを使用することをおすすめします。詳細については、ロードバランサのモードをご覧ください。
URL に関する既知の問題
URL に関する既知の問題を以下に示します。
予約済みの URL パス
次の URL パスは使用できません。
/eventlog
/_ah/
で始まるパス。- 末尾が
z
のパス。予約済みのパスと競合しないように、末尾がz
のパスを避けることをおすすめします。
エンコードされた URL 文字の一部がデコードされる
Cloud Run サービスの URL に含まれるエンコードされた文字の一部は、コンテナ インスタンスに到達する前に Cloud Run によってデコードされます。たとえば、%41
は自動的に A
にデコードされます。