このページでは、Extensible Service Proxy(ESP)を Compute Engine 仮想マシン(VM)にデプロイした場合のトラブルシューティング方法を説明します。
VM インスタンスに関するログの表示
問題のトラブルシューティングを行うときは、VM インスタンスに関する Endpoints のランタイムログを調べると役に立ちます。
ログを表示するには:
sshを使用して仮想マシンに接続します。gcloud config set project YOUR_PROJECT_ID gcloud compute ssh INSTANCE_NAME
YOUR_PROJECT_IDは Google Cloudプロジェクト ID に、INSTANCE_NAMEは仮想マシン インスタンス名に置き換えます。nginxエラーログを表示します。Endpoints ラインタイムを RAW VM で実行している場合:
tail -f /var/log/nginx/error.logDocker 内で
endpoints-runtimeを実行している場合:docker ps docker logs CONTAINER_NAME
CONTAINER_NAMEはコンテナ名に置き換えます。
ESP のステータスの表示
ESP のステータスを表示するには:
sshを使用して仮想マシンに接続します。gcloud config set project YOUR_PROJECT_ID gcloud compute ssh INSTANCE_NAME
YOUR_PROJECT_IDはGoogle Cloud プロジェクト ID に、INSTANCE_NAMEは仮想マシン インスタンス名に置き換えます。ESP コンテナの名前を取得します(通常、コンテナ名は
espです)。docker psコンテナ内の bash シェルを取得します。
docker exec -it ESP_CONTAINER_NAME /bin/bash
ESP_CONTAINER_NAMEは、前の手順で取得した ESP コンテナ名で置き換えます。curlをインストールします。次の情報を入力します。
curl http://localhost:8090/endpoints_status
サービス構成 ID の取得
ESP の起動時に rollout_strategy を managed に設定し、ESP のインスタンスが使用している構成 ID を確認する必要がある場合は、curl http://localhost:8090/endpoints_status コマンドの出力の終わり近くで確認できます。出力は次のようになります。
"serviceConfigRollouts": {
"rolloutId": "2017-08-09r27",
"percentages": {
"2017-08-09r26": "100"
}
}
rolloutId の値は、ESP が使用しているサービス構成 ID です。この構成 ID は、最後にデプロイした構成と一致しているはずです。 Google Cloud コンソールの [エンドポイント] > [サービス] ページでデプロイの履歴を確認したり、サービス構成の変更を確認したりできます。構成ファイルの比較をご覧ください。