私の目標はこれです
- Google クラウド上の Windows サーバー インスタンスで構成された IIS 上で複数の Web サイト/アプリをホストします。
- 各ウェブサイトに、すでに予約されている個別の静的IPSを接続させる
- リクエストはIPアドレスに基づいて、目的のアプリに正確にルーティングされます。
私がやったこと
- Google Cloud に Windows Server 2012 インスタンスを作成しました
- インスタンスに静的 IP をアタッチし、現在その静的 IP を指す Web サイトが 1 つあります。
- 追加の静的IPを予約し、既存のインスタンスに接続しようとしました
課題
Google Cloud では、すでに IP が割り当てられている既存のインスタンスに IP を割り当てることはできません (当然です)。そのため、複数のネットワーク インターフェースを作成し、それぞれに個別の IP を割り当てるのが合理的だと思いました。ただし、Google Cloud のドキュメントには次のように書かれています。
- ネットワーク インターフェイスを構成できるのはインスタンスを作成するときだけです。このインスタンスを再作成する余裕はありません。
- 同じ VPC ネットワークに複数のネットワーク インターフェイスを接続することはできません。 - 複数の VPC ネットワークは必要ありません。それぞれ独自の IP 経由でアクセスできる複数のアプリケーションをホストする Web サーバーとして IIS を使用しようとしています。
IP 転送ルールも試してみましたが、作成時にのみ切り替えることができ、IP 転送をオフにした実行中のインスタンスがあるため、ニーズに合わせてインスタンスを再作成する必要があることがわかりました。
私には抜け道がありますか?何をしなければなりませんか?
答え1
Google IP Forwarding
と混同しているのではないかと思いますGoogle Protocol Forwarding
。
IP 転送は、VPN、NAT ゲートウェイなどに使用されます。IP 転送は、インスタンスを経由して別の場所に向かうトラフィックをルーティングします。これは、IP トラフィックを評価するときに通常行われる送信元/宛先チェックを無効にする機能であり、VM インスタンス上のネットワーク インターフェイスがインスタンスを経由してトラフィックをルーティングできるようにします。
あなたの使用例(1 つの VM インスタンスに複数の IP アドレス)では、Google プロトコル転送(この回答では GPF と略します)を使用できます。
GPF はトラフィックの転送ルールを作成するために使用され、複数のパブリック IP アドレスをサポートします。本質的に、GPF は転送ルールにバインドされた IP アドレスを持つロード バランサーです。転送ルールにバインドされたパブリック IP アドレスを使用するように Apache、IIS などのサービスを設定します。
注: Google Cloud Console は(現時点では)GPF の作成をサポートしていません。API または を使用する必要がありますgcloud
。
要約すると、 を作成しますtarget-instance
。次に、これにルールをバインドしますtarget-instance
。これは、target-instance
Google コンソールに表示される通常の VM インスタンスではありません。
プロトコル転送には、負荷分散サービスと同じ料金がかかります。低コストのソリューションを目指す場合は、この点に留意してください。Google ロードバランサの料金。
Google プロトコル転送に関するこのドキュメントは、この機能を実装する方法を理解するのに役立ちます。