Cloud Run の既知の問題

このページでは、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-egressprivate-ranges-only に設定されているときに、VPC 以外のエンドポイントにアクセスする場合は、IPv6 がサポートされます。

サーバーレスでの使用時に IP アドレスが明確に識別されない

ダイレクト VPC 下り(外向き)を使用する場合、Cloud Run で予約されている IP アドレスは、Google Cloud コンソールの [IP アドレス] ページに [サーバーレス] ではなく、[なし] と表示されます。

リクエストの送受信に関する既知の問題

リクエストの送受信に関する既知の問題を以下に示します。

サポートされていない HTTP リクエスト メソッド

HTTP メソッド TRACE および CONNECT を含むリクエストはサポートされていないため、Cloud Run で実行されているサービスでは受信されません。

一部のリージョンからの呼び出し時にカスタム ドメインでリクエスト レイテンシが増加する

カスタム ドメインを使用する Cloud Run サービスに対するリクエストでは、一部のロケーションでレイテンシが非常に大きくなる場合があります。この問題は、asia-northeast1us-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 にデコードされます。