Visual Studio 2010 リモート デバッグを使用して、Amazon ec2 クラウド マシン [以降、REMOTE と呼びます) でアプリをデバッグしようとしていますが、動作させることができませんでした。
0) マシン: LOCAL は Windows 7 Pro-64 ビットを実行しています REMOTE は Windows Server 2008-R2 64 ビットを実行しています
1) 私はリモート デバッグ モニターなどをリモート マシン上に持っています (また、リモート デバッグの経験が豊富で、通常はより単純なネットワーク環境での使用です)。msvsmon.exe の 64 ビット バージョンを使用しています。
2) ローカル マシンの Windows ファイアウォールは、devenv.exe が何でも送信できるように設定されています。
受信ルールは、ポート TCP 135、UDP 500、および 4500 を許可します
LOCAL とインターネットの間には次のものがあります。
ローカル ルーターは、TCP および UDP ポート 1 ~ 1193 および 1195 ~ 48999 をローカルに転送します
ローカル Ooma ボックス TCP および UDP ポート 1 ~ 1193 および 1195 ~ 48999 を「ローカル ルーター」に転送します
tcping.exe とポート 45678 を使用して転送をテストしたところ、それが機能するため、ルーターと ooma ボックスの転送ルールが機能していることがわかります。
ローカル ネットワーク上の別のマシンへのリモート デバッグをテストしたところ、正しく動作しました。そのため、LOCAL のファイアウォールに問題がある場合、その範囲は (プライベート / パブリック / ドメイン) に限定されるようです。ここにはドメインは含まれていません。私が知る限り、私が調べたすべてのファイアウォール ルールの 3 つのボックスすべてにチェックを入れたので、範囲は問題ではないと思います。私は疑問に思いますが、
3) EC2 ファイアウォールのセキュリティ グループ設定は、私が適用すると思われるインバウンドを許可します: TCP 135 TCP 139 TCP 445 TCP 4015 UDP 0-65535
4) リモートで、許可するインバウンド ルールを作成しました: TCP 135、139、445、および 80 UDP 137、138、500、4500 (ただし、私が知る限り、IPSec は使用していません)
5) また、msvsmon.exe が起動時に任意のマシンからの接続を許可するようにファイアウォールを構成できるようにします。これはおそらく冗長ですが、この時点ですべてを試しています。
6) msvsmon の [ツール] > [オプション] で、[認証なし (ネイティブのみ)] を有効にし、[すべてのユーザーにデバッグを許可する] をオンにします。ポートは 4015 です。
7) ローカルで、トランスポートを「リモート (認証なしのネイティブのみ)」に変更します。REMOTE のホスト名を Qualifier に入れました。
次に、リモートで、msvsmon に「Doug connected」と表示されます。
すごい!私が他に何も得ないことを除いて。しばらくすると、LOCAL で「[ホスト名] に接続できません。リモート マシンが応答していません」というメッセージが表示されます。
8) リモートで msvsmon を閉じることができません。[ファイル] > [終了] をクリックできますが、msvsmon がフリーズします。
ProcessHacker on REMOTE は次の接続を示します: msvsmon.exe (7364), [REMOTE Hostname], 3893, , , TCP, Listen, msvsmon.exe (7364), [REMOTE Hostname], 3894, , , TCP, Listen, msvsmon.exe (4232)、[リモート ホスト名]、3901、[リモート ホスト名]、4015、TCP、確立済み、msvsmon.exe (7364)、[リモート ホスト名]、4015、、、TCP、リッスン、msvsmon.exe (7364)、[リモート ホスト名]、4015、[ローカル ホスト名]、58007、TCP、クローズ待機、msvsmon.exe (7364)、[リモート ホスト名]、4015、[リモート ホスト名]、3901、TCP、確立、
LOCAL ProcessHacker の表示: devenv.exe (4624)、Ducky、58175、[RemoteHost]、4015、TCP、FIN Wait 2、
十分な時間が必要な場合は、LOCAL の「FIN Wait 2 接続」はなくなりますが、リモートの「Close Wait」接続は、msvsmon プロセスを強制終了するまで消えません。
9) では、REMOTE が別のポートで LOCAL に接続しようとしているように見えますが、それはうまくいきませんか? または...?
私は本当にアイデアがありません。明らかに、どこかで何かが間違っています。ローカルとリモートの両方の Windows ファイアウォールをオフにして試してみましたが、同じ結果が得られました。