Azure

Azure - 可用性セット付きVMをテンプレートで自動構築

投稿日:

このサイトでは「可用性セットの説明記事」が良く読まれているので、可用性セットについてさらに踏み込んだ ” テンプレートからの可用性セット付きVM ” の構築方法を説明する。ポイントは可用性セット(availabilitySet)の手動追加だ。可用性セットの説明はこちら

投資初心者におすすめする今後株価が伸びる企業をスクリーニングで見つける方法

この記事では私が実践している今後株価が伸びそうな企業のスクリーニング方法について記載する。私の自己紹介や投資スタンス、成績、考え方などはこちらの記事に書いてある。気になる方はぜひ最初に読んでみてほしい ...

続きを見る

 

テンプレートの準備

以前と同じようにVisual StudioからBlancのテンプレートを選択する。

仮想ネットワークを追加

 

ストレージアカウントを追加

 

可用性セットの追加

 

VM(Windows)の追加

 

ここまでで不明点があればテンプレートの記事を参照

投資初心者におすすめする今後株価が伸びる企業をスクリーニングで見つける方法

この記事では私が実践している今後株価が伸びそうな企業のスクリーニング方法について記載する。私の自己紹介や投資スタンス、成績、考え方などはこちらの記事に書いてある。気になる方はぜひ最初に読んでみてほしい ...

続きを見る

 

必要なコードをテンプレートへ手動追加

ポイントは可用性セット(availabilitySet)の手動追加。以下に記載のコードを追加しないと、エラーになって可用セット付きVMは作れない。

まず、前述の通り仮想ネットワーク、ストレージアカウント、可用性セット、VMのリソースを追加する。そしてVMのresourcesセクション→"properties"に以下を追加

"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets', parameters('mySetName'))]"
},

ポイント

variables('mySetName')ではなく、parameters('mySetName')を追加する。

parametersの方を使えば、可用性セットの名前は手入力値になる。そして後述するエラーを回避できる。

 

次にVMのdependsOnのセクションに以下を追加する。

"[resourceId('Microsoft.Compute/availabilitySets', parameters('mySetname'))]",

ポイント

ここもparameters('availabilitySetName')を追加する。

このdependsOnのセクションにavailabilitySetの行を追加しないと構築順序でエラーが出る。エラーの内容は後述する。

 

これでOK。検証を押したときにmySetNameが出てくれば成功だ


実行すると以下の通り成功する。

 

Azureポータル上も問題なく、可用性セットがある状態のVMが確認できる。

可用性セットもしっかり確認できる。

 

可用性セットの定義を変更

更新ドメイン、障害ドメインを変更したい場合は画面の箇所をいじれば好きなように設定できる。

 

検証の時に悩んだエラー

'The resource 'Microsoft.Compute/availabilitySets/mySet' is not defined in the template.

これは依存の順番でエラーになる。dependsOnをよく見よう。また、variablesセクションに”availabilitySets”の定義を入れている場合、parametersの参照とvariablesの参照が入れ違いになりエラーになっている可能性もある。そのため、parametersの方でavailabilitySetの定義を行う方がわかりやすいだろう。

テンプレートのエラーは以下Microsoft公式ドキュメントを参考に。

https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-common-deployment-errors

あと、よくあるテンプレートのエラーとしては以下の原因が考えられる。

  • なんらかの理由で定義が読み込まれていない
  • 古い定義が残っている
  • 定義とvariables、リソース内の名前が違う

 

参考

本記事の執筆の際に参考にしたスタックオーバーフローの記事を載せておく。

スタックオーバーフロー:

https://stackoverflow.com/questions/36478319/adding-availability-set-to-azure-virtual-machine-template-creation

https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-copy-index-loops/azuredeploy.json#L158

 

おすすめ記事

1

敬愛してやまない大芸人であるコウメ太夫様が毎日実施されているツイート(#まいにちチクショー)を元に、機械学習初心者がPythonのプログラミングでデータ収集と学習を行い、コウメ太夫様っぽい文章を自動生 ...

2

正直私も最初はUdemyなんて聞いたことないし怪しいなと思いました。でも、今では実際に25講座ほど購入済みです。そんな私がUdemyの評判やお得な講座購入方法について書いていきます。   目次 Ude ...

3

先日AWSソリューションアーキテクトアソシエイト(AWS SAA)に一発で合格しました。スコアは800点台の後半でした。 世の中にはたくさんAWS SAAの合格体験記がありますが、私もこのサイトに合格 ...

4

この記事は、技術系ブログ運営の実情と運営するメリットについて詳しく書いていく。これから技術系ブログを始めたいと思っている人は、よく読んで参考にしていってください。そして、この記事を参考に技術系ブログを ...

-Azure

Copyright© CLOUD IT FUTURE , 2020 All Rights Reserved.