オンプレミス コネクタ設定のトラブルシューティング

このページでは、IAP オンプレミス コネクタ構成に関するトラブルシューティングの手順について詳しく説明します。その他のトラブルシューティング情報については、Traffic Director のデバッグをご覧ください。

エラー 500 の問題のトラブルシューティング

ここでは、さまざまな問題と、アプリケーションへのアクセス時に発生する 500 エラーの解決に役立つ解決策を説明します。

オンプレミス アプリケーションが Google Cloud ネットワークに接続されていない

オンプレミス アプリケーションが Google Cloud ネットワークに接続されていない可能性があります。いずれかのオンプレミス コネクタ Compute Engine インスタンスからオンプレミス アプリケーションに ping を実行して、接続を確認します。オンプレミス コネクタ エンドポイントにアクセスできない場合は、続行する前にネットワーク接続と設定をデバッグしてください。

Envoy が VM に正しくインストールされていない

Envoy が適切にインストールされていることを確認するには、次の手順を行います。

  1. オンプレミス コネクタからいずれかの Compute Engine VM にログインします。オンプレミス コネクタ VM 名は opc-on-prem-app-deployment-ig-${app} で始まります。
  2. Cloud Console で、opc-on-prem-app-deployment-gclb-urlmap 負荷分散バックエンド サービスのヘルスチェックが緑色であることを確認します。
  3. バックエンド サービスが正常でない場合は、SSH を使用していずれかのインスタンスに接続します。
     gcloud compute ssh instance-name --zone=zone name
  4. 次のコマンドを実行して、Envoy が稼働していることを確認します。

     ps aux | grep envoy
    
    grep envoy 以外の複数のプロセスが実行されている必要があります。

    出力例:

    envoy      943  0.0  0.0   5488  3076 ?        Ss   06:25   0:00 /bin/bash /usr/local/bin/run-proxy.sh
    envoy      944  0.1  1.5 178928 57352 ?        Sl   06:25   1:23 /usr/local/bin/envoy --config-path /usr/local/etc/
    envoy/envoy-proxy-bootstrap.json --allow-unknown-static-fields --disable-hot-restart --log-level info --drain-time-
    s 60
    
  5. Envoy ログ ディレクトリが /var/log/envoy/ に作成されていることを確認します。

  6. 次のコマンドを実行して、VM から gce-mesh バケットにアクセスできるようにします。

    gsutil cp gs://gce-mesh/service-proxy-agent/releases/service-proxy-agent-0.2.tgz .

この手順でいずれかの検証で不合格だった場合、Envoy は正しくインストールされていません。 詳細については、/var/log/daemon.log の起動ログをご覧ください。

Envoy が前の手順で実行されていない場合は、1 つの理由が VPC Service Controls である可能性があります。VM の起動スクリプトで gce-mesh バケットから Envoy イメージをダウンロードします。VPC Service Controls ルールで接続が許可されなければ、オンプレミス コネクタのデプロイは機能しません。

Envoy が正しくインストールされるようにするには、ホスト プロジェクトの VPC Service Controls で gce-mesh ストレージ バケットへのアクセスを許可します。また、VPC に公共のインターネットへのトラフィックを許可するルーティング ルールがあることを確認してください。これにより、Envoy をデプロイできます。詳細については、上り(内向き)と下り(外向き)のルールをご覧ください。

オンプレミス アプリケーションが Envoy に接続されていない

VM からオンプレミス アプリケーションに ping を実行できるにもかかわらず、オンプレミス コネクタを使用できない場合は、Envoy がアプリケーションに接続できていない可能性があります。

Envoy がオンプレミス アプリケーションに接続できることを確認するには、Envoy が実行されているマシンから Envoy を呼び出してみます。VM opc-on-prem-app-deployment-ig-${app} で SSH を起動して次のコマンドを実行します。Envoy のポート番号は、[インスタンス グループ] > [詳細] > [ポート名のマッピング] で確認できます。

shell curl -x -v localhost:${envoy_port}

エンドポイントにアクセスできない場合は、次の点を確認してください。

  • /var/log/envoy/envoy.err.log(エラーログの場合)。エラーログがない場合は、次のコマンドを実行して、Traffic Director が有効になっていて Envoy を構成できるかどうかを確認します。
    sudo curl 0.0.0.0:15000/config_dump 
  • TRAFFICDIRECTOR_INTERCEPTION_LISTENER が設定されていることを確認します。TRAFFICDIRECTOR_INTERCEPTION_LISTENER が設定されていない場合、Traffic Director で Envoy を構成できません。
  • 各リスナーのエラー メッセージを確認します。

Envoy と Traffic Director のアカウント権限が設定されていない

envoy.err.logGRPC 403 エラーが表示される場合、または Envoy 構成に TRAFFICDIRECTOR_INTERCEPTION_LISTENER が表示されない場合は、正しいアカウント権限が設定されていない可能性があります。

VM サービス アカウントに xDS v3TD アクセス権限があることを確認します。

  • 権限の確認: https://cloud.google.com/traffic-director/docs/prepare-for-envoy-setup#grant
  • アカウントの確認: https://cloud.google.com/traffic-director/docs/prepare-for-envoy-setup#enable-service

ERR_SSL_VERSION_OR_CIPHER_MISMATCH エラーのトラブルシューティング

ログインページにリダイレクトせずにブラウザにエラー ERR_SSL_VERSION_OR_CIPHER_MISMATCH が表示される場合は、Google Cloud ロードバランサの詳細ページで証明書のステータスを確認します。

Google マネージド証明書のプロビジョニングには最長で 60 分かかります。