トラブルシューティング
bridgeの接続設定が保存できない
bridgeの接続設定が保存できない場合、疎通確認に失敗している可能性が高いです。原因として以下の項目を確認してください。
- ベースマキナの固定IPからのアクセスが許可されていない
- bridgeのURLが間違っている
- SSL設定が有効になっていない
- 設定されている環境変数に誤りがある
- 前段に立っているロードバランサーとbridgeの間でアクセスが途切れている
- インスタンスのヘルスチェックができておらず、疎通できていない
※bridgeをコンテナ内から調査したい場合
コンテナイメージは調査のしやすさを考慮してalpine (opens in a new tab)イメージをベースに作成しています。
$ docker pull gcr.io/basemachina/bridge:latest
$ docker run -it --entrypoint=/bin/sh gcr.io/basemachina/bridge:latest
/ $
コンテナ内からの調査の1つとして、正しくDNSの名前解決が行なえるか確認する場合はnc
コマンドが役に立ちます。
/ $ nc -vz example.com 80
example.com (93.184.216.34:80) open
/ $ nc -vz example.com 443
example.com (93.184.216.34:443) open
利用可能なコマンド一覧を取得するにはシェル上でタブキーを2回入力します。
/ $ # タブキーを二回タイプする
. fdflush microcom sh
: fdisk mkdir sha1sum
[ fg mkdosfs sha256sum
# ...
アクションの実行に失敗する
アクションの実行に失敗する場合、以下の要素で失敗しているか調べる必要があります。
- ベースマキナのサーバー
- ロードバランサー
- bridge
- データソース
以下の例を参考に、問題の原因を特定してください。
- データソースの接続情報の設定ミス
- bridgeの接続設定に失敗している
- bridgeの接続設定が存在しない環境で、社内のデータソースを呼び出そうとしている
- bridgeからデータソースへのトラフィックが許可されていない
- タイムアウトしている
- タイムアウトの原因になりやすい箇所は次の通りです
- bridgeの設定画面で設定されたタイムアウト期限
- ロードバランサーからbridgeへのタイムアウト期限
- bridgeからデータソースのタイムアウト期限
- データソースの設定画面で設定されたタイムアウト期限
- タイムアウトの原因になりやすい箇所は次の通りです
- リクエスト内容が不正
- パラメーターの利用方法に誤りがあり、リクエストの情報がプログラムによって解釈不可能な値になっている