
当社の SP では、古いホスト型専用サーバー上で Web サーバーを実行していますが、これらのサーバーは非推奨となり、サポートも削除されています。
これらは 2008 r2 サーバーであり、古い ASP.NET サイトの一部にはソース コードがありません。そのため、アプリケーションを新しいサーバー上の新しい OS に移行することはできません。また、SP は、新しいサーバーで直接実行される 2008 r2 のイメージ移行をサポートしません。
disk2vhd を使用することで、古い 2008 r2 イメージを新しい 2012 r2 サーバー上の Hyper-V VM として起動できるようになりました。
問題は、インターネットからこれらの VM の 1 つにアクセスしようとするときです...
当社のSPは1つホストされたサーバーごとの静的 IP アドレス...IPアドレスを配布するSP DHCPは存在しない。
何日も読んでいて、たくさんのバリエーションを試してきました。私が理解している限りでは、誰もが「これは簡単にできる」と言っています。外部の vswitch を設定して、VM NIC をそれに接続し、ポート転送などを設定するだけです。しかし、どれもうまくいきません。VMはIPアドレスを取得できないため。
現時点での私の推測は次のとおりです。
- 内部vswitchを使用する
- VM NICを??? IPアドレスと???サブネットマスクで設定します
- netsh を使用して、ホスト IP アドレスから??? VM IP アドレスまでのポート 80 と 443 の静的ルートを設定します。
しかし、私は完全に迷ってしまいました。試した構成はどれも成功しませんでした...
弊社がホストするサーバーの NIC の例:
- IP: 172.24.16.207
- サブ: 255.255.252.0
- GW: 172.24.16.1
- (注: これはサーバー IP のみであり、パブリック IP ではありません)
ホスト サーバーおよび VM 上の Windows ファイアウォールはオフになっています。
もしこれが可能ならば... 誰か記入を手伝ってくれませんか:
- vswitch の構成はどうあるべきでしょうか?
- VM NIC の IP アドレスとサブネット マスクは何ですか?
- 必要な netsh コマンドは何ですか (ある場合)?
- これを機能させるために、ホスト サーバーで実行する必要がある/実行すべきでない特定の役割/機能/サービス (もちろん Hyper-V 以外) はありますか?
それとも、私が達成しようとしていることに対して適切な方向を指し示していただけますか?
答え1
あなたのホストはひどいようです。あるいは、単に彼らの提供内容を理解していないだけかもしれません。そうは言っても、ここに私の提案があります。
選択肢は 2 つあります。ゲスト用に Hyper-V で NAT と DHCP を設定するか、Hyper-V ホストにインストールされたリバース プロキシまたはロード バランサーを使用します。
Windows 2012 R2 のゲスト用の NAT と DHCP は実行可能ですが、Microsoft がサポートしている構成ではないため、設定するための簡単な方法はありません。次にこの仕組みを理解しようとする人は、かなり困惑することになるでしょう。そのため、このオプションはお勧めしません。
私の意見では、最良の選択肢は、Hyper-V ホストにリバース プロキシまたはロード バランサーをインストールすることです。これは、ホストに何もインストールしないという一般的なアドバイスに反しますが、あなたのひどい状況では、NAT や DHCP よりも好ましい方法です。これを実現するには、ホストに「内部」v-switch を作成し、ホストとゲストに静的 IP を割り当てる必要があります。次に、リバース プロキシを構成して、Web サイトへの要求を VM ゲストに転送します。IIS には、アプリケーションリクエストルーティング(ARR)と呼ばれるリバースプロキシ、私が使うのはこれです。
ARR の代わりに、ホストにロード バランサーをインストールできます。ただし、Microsoft が提供する NLB と呼ばれる負荷分散機能はここでは適切ではないため、使用しないでください。他に提案はありません。