Digital Ocean: プライベートネットワークを使用したドロップレット間の通信?

Digital Ocean: プライベートネットワークを使用したドロップレット間の通信?

私は、Nginx をロード バランサーとして設定し、別のドロップレット上の Node アプリケーションへのリクエストをリバース プロキシするように取り組んでいます。私は 2 つの Digital Ocean ドロップレット (両方とも Ubuntu 18.04) を持っており、プライベート ネットワークを有効にしています。私のドロップレットは同じリージョンにあります。

servernginx.conf ファイルのアップストリーム構成ブロックの IPにプライベート IP アドレスを使用できますか? 私のノード アプリはポート 3000 で express js を実行しています。

upstream nodeApiApp {
  server 10.1.2.150:3000 fail_timeout=0;
  keepalive 60;
}

現在、2 つのドロップレットを通信させることができません。何が問題なのかについてヒントをいただけますか?

Web ページに次のエラーが表示されます: 504 Gateway Time-out。nginx のエラー ログを tail すると、次のエラーが表示されます:

2019/07/20 21:53:59 [error] 3136#3136: *1165 upstream timed out (110: 
Connection timed out) while connecting to upstream, client: 68.12.133.91, server: api.example.com, request: "GET / HTTP/2.0", upstream: "http://10.1.2.150:3000/", host: "api.example.com"

ノード アプリのログを tail しても、アクティビティは表示されません。

ロード バランサー ドロップレットに SSH 接続した後、2 番目のドロップレットに ping または telnet できません。ファイアウォールの問題でしょうか? もしそうなら、ドロップレット間の通信に一般的なインバウンド/アウトバウンド ルールの構成は何でしょうか?

ドキュメントによると、これら 2 つの仮想プライベート サーバー インスタンスは同じリージョンにあるため、相互に通信できるはずです。これらのインスタンスをプロビジョニングするときに、プライベート ネットワークを有効にすることを選択しました。プライベート ネットワークはすべてセットアップされているはずです。

関連情報