Azureの小ネタ (改)

~Azureネタを中心に、色々とその他の技術的なことなどを~

ARMにおけるロードバランサー周りのリソース

前回、仮想マシンV2の論理構造 - Azureの小ネタ (改) みたいな記事を書いたのですが、同時にロードバランサー周りの構造も図に起こしてました。今回、またロードバランサー周りを調査する必要があったので、少し修正して放流します。

LBまわり

実際、ロードバランサーを作成したときのJSONとARMのJSONスキーマを見ながら書いた物です。ちなみに、ARM の JSONスキーマは、以下にあります。

github.com

したがって、

  • 適当です、もっと沢山の関連がありそうです。使ってないリソースはチャント調べてません。
  • LBから集約されるクラスは、LBというリソースとして一括りに定義されています。
  • 多重度とかいい加減です。JSONみて配列なところは「0..*」とかにしてますけど、実際どうなんでしょうね。

理解の一助になれば幸いです。

f:id:StateMachine:20151212202445p:plain

おまけ

JSON スキーマの標準仕様ってあるのでしょうか?、不勉強なので知りません。時折、以下のような別リソースへの参照があるのですが、ID以上の制約が書かれていないので、どんなリソースなのか制約が分かると嬉しいなと思いました。

        "loadBalancerBackendAddressPools": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/id"
          }
        },
        "loadBalancerInboundNatRules": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/id"
          }
        }
      },

以上