Azureに以下のインフラを構築したいと考えています。考えられる解決策は 1 つありますが、セキュリティ アーキテクチャで妥協しているようです。侵害された回避策よりも Azure でこれを行うためのより良い方法はありますか?:
- VM #1 : 役割: SQL Server および IIS。サーバーには一意のパブリック IP アドレスが必要です。ホストされた Web サイトは、パブリック ポート 80 を介して利用でき、ローカルの SQL Server に接続します。
- VM #2 : 役割: IIS。サーバーには一意のパブリック IP アドレスが必要です。ホストされた Web サイトはパブリック ポート 80 経由で利用でき、VM #1 の SQL Server に接続します。
これまでの私の経験は次のとおりです。
- VM #1 の設定に問題はありません。
- VM #2 では、VM #1 と同じクラウド サービスで構築してみました。すると、VM #1 と同じパブリック IP アドレスが割り当てられました。したがって、このシナリオでは、両方のマシンのポート 80 で Web サイトをホストすることはできません。
- 次に別のクラウド サービスに VM #2 を構築してみました。これにより、一意のパブリック IP アドレスが割り当てられました。ただし、VM #1 で SQL Server への接続を取得できませんでした。
- 上記で試したこと: VM #1 SQL Server を混合モードに設定、名前付き SQL アカウントをプロビジョニング (および接続をローカルで確認)、受信リモート TCP 接続を許可するように SQL を構成、SQL が実行される TCP ポートでの受信接続に対してファイアウォール ルールを開く、しかし、これまでのところ VM #2 から接続できていません。
うまくいくと思われるアーキテクチャの 1 つは、VM #1 でパブリック ポートを開き、それをプライベート SQL Server ポートにマップすることです。次に、VM #2 は、VM #1 の完全修飾パブリック DNS 名を使用して接続できます。Azure では、接続を VM #2 のパブリック IP アドレスに制限することもできると思います。
ただし、これは理想的とは言えません。現在、SQL 通信は、データ センター用に通常設計されているよりも多くのパブリック ルートを介してルーティングされており、追加のパブリック ポートを VM #1 で開く必要があるためです (IP アドレスによって制限されている場合でも)。 、必要でなければ、その表面積を公開したくない)。さらに、よりパブリックなネットワークを介して SQL Server データを送信することは、トランスポート セキュリティを考慮する必要があることを意味します。
調査によると、異なるクラウド サービス上の 2 つの VM 間の接続は、プライベート ポートを使用して行うことはできない可能性がありますが、これまでに見つけた情報は決定的なものではありません。繰り返しになりますが、Azure でこれを行うためのより良い方法はありますか?