こんにちは!今日もテンプレートで遊びます。既出っぽい気がしますがあまり気にしないでいきます。
101-loadbalancer-with-nat-rule
今日はこのテンプレートです。これは受信規則NATを設定したロードバランサー、パブリックIPアドレス、仮想ネットワーク、ネットワークインターフェイスを一式デプロイしてくれました。
パラメータ
- DnsNameForLBIP – NAT用のロードバランサーのDNS名(PublicIPに設定されるもの)
- Location – デプロイするロケーション(Japan EastとかJapan Westとか)
- AddressPrefix – 仮想ネットワークのaddress空間
- SubnetPrefix – 仮想ネットワーク内に作成するサブネットマスク
- PublicIPAddressType – 動的か静的か。試す分にはDNS名を使うとしてどちらでもよいんじゃないかと思います。動的にしても後で静的に変えることはできるようです。逆は一度関連付けを外す必要があるようです。
このテンプレートは受信規則NATというものにRDPを登録しています。そしてそのRDPはVirtualNetwork1にあるnetworkInterface1にマッピングされるようになっています。こうすることのメリットは、仮想マシンとPublicIPaddressを切り離すところにあるのではないかと思います。この仕組みは「仮想マシン(クラシック)」のクラウドサービスが提供する機能に似ている。例えば、一つのaddressで、複数のサービスを持たせるけど、規模が小さすぎるのでバックエンドは一つのサーバーにしておいて、後から複数サーバーに分散していくなど。そういう活用もできるんじゃないかと思いました。PublicIPのコストも抑えられるし。
該当するドキュメント
外部トラフィックを特定の VM インスタンスに転送します。
見えない部分でわかりづらいので、簡単な図を作ってみました。仮想マシンに接続されるネットワークインターフェイスには、PublicIPがなく、LoadBalancerにのみパブリックIPがある状態です。
灰色の部分はテンプレートに含まれていないもので、上でいってたような私の妄想した領域です。この構成「仮想マシン(クラシック)」のクラウドサービスほぼ同じですね。ただ、ロードバランサーとしての機能がいくつもあるので柔軟性は明らかにこっちのほうが上です。テンプレートではNetworkInterface1がありますが、このままだと何の意味もありません。TemplateをカスタマイズしてVM、LBなどにくっつける前提になっているようですね。
以下は、NAT規則にHTTPSを追加して同じターゲットにしてます。のちにターゲットを増やして分離。または負荷分散へ変更するということもできそうなところです(同期が必要な場合、ダウンタイムは発生すると思いますが)。可用性セットを関連付けて置く必要があるようです。(仮想マシンの可用性管理)
仮想マシンにPublicIPがなくとも、ポータルからWindowsへリモートデスクトップ接続ができるようです。(ちゃんとLBまで見てる様子)
というところで、以上になります。
それでは!