VNet-to-VNet – Azure Resource Manager(ARM)

今日はわりとまじめにAzureネタです!BlackJumboDogは、テストを地道に消化しているところなので、GitHub歴史が刻まれているくらいしか進捗がありません。そのうち、アセンブリを読み込む方式から、RuntimeServiceというものに切り替えるに至った経緯を記しておこうと思っています。

本題です。昨日のデプロイした内容を、ざっくり図にしてみました。テンプレートにVirtualMachineは存在していませんが、イメージのために載せています。下線があるものが、テンプレートに含まれるリソースです。(間違っていたらごめんなさい。ご指摘いただければ幸いです。)

<クラシック(ASM)との違い>

クラシックと呼ばれている仮想ネットワークでは、もう少し粒度は荒いものでした。上記ですと、PublicIPというリソースは存在していませんでした。仮想ネットワークゲートウェイとセットで自動的に割り振られていました。また、VNet-to-VNetをするためには、Powershellなどを使う必要がありました。しかし、新しいARMではJSON形式のテンプレートに含めることができるようになっています。また、PublicIPaddressは仮想マシンに対してもネットワークインターフェイスを介して割り当てるリソースとして扱いますが、ここでは割愛します。

全体として細かいリソースに分かれたことで、より柔軟に構成できるようになった。そして、その細かくなってしまった分、複雑になるデプロイはテンプレートとしてJSON形式で設計図のように残しておくことができて、いつでもデプロイすることができることで補っている、というのが私個人の感想です。ただ…この違いは、発想の変化があるような気もしますので本来比較するようなことではないのかもしれません。

といったところで、終わっておきます。また今後デプロイするものを追加していこうと思っていますので、よろしくお願いいたします。

それでは

 

デプロイボタンを試してみた

まずは、ARMのJSONファイルを用意しました。

http://vnext-y-blog.azureedge.net/blog/azuredeploy.json

以下その流れ

  1. 東日本の仮想ネットワークを作成する(10.0.0.0/16)
  2. 西日本の仮想ネットワークを作成する(10.1.0.0/16)
  3. 東日本のパブリックIPアドレスを作成する
  4. 西日本のパブリックIPアドレスを作成する
  5. 東日本の仮想ネットワークゲートウェイを作成する
  6. 西日本の仮想ネットワークゲートウェイを作成する
  7. 東日本から西日本へのVnetToVnetを作成する(事前共有キー)
  8. 西日本から東日本へのVnetToVnetを作成する(事前共有キー)
というもので、東日本と西日本それぞれの仮想ネットワークとそれをつなぐものをほぼ自動的に作ってくれます。が、仮想ネットワークゲートウェイの作成は30分以上はかかるので、気長にどうぞ!(というのが公式ドキュメントにもあったり)上記のJSONは、東日本、西日本に限定して、IPアドレスとかも固定化したものです。事前共有キーは、固定だと問題あるので入力してもらうようにしています。これで、何かしらの知識やらきっかけになれば幸いです。

手順 6 – ゲートウェイを作成する

この手順では、VNet の仮想ネットワーク ゲートウェイを作成します。VNet 間構成では、RouteBased VpnType が必要です。ゲートウェイの作成には時間がかかるため、気長に取り組んでください。

次にボタン。

先のJSONがあるURLをエンコードしています。

http%3a%2f%2fvnext%2dy%2dblog%2eazureedge%2enet%2fblog%2fazuredeploy%2ejson

これを、Azureが提供するサービスの「テンプレートのデプロイ」というやつに受け渡します。「 https://portal.azure.com/#create/Microsoft.Template/uri/」そうすると、こんな感じに!

また、このボタンの利用は自己責任でお願いしますー。元ネタはこれとか、これです。Azureのサブスクリプションがないと、利用できません。気になる方は、無料評価版をどうぞ。

それでは!