ここでは、Azureテンプレートの記述方法について説明する。記事の中で表示しているコードは前回中級編のコードだ。今回も前回同様Visual Studioを使用して説明する。
初級編はこちら
-
-
異動や転職を考えた時にエンジニアがするべきこと
こちらの記事で異動した時の気持ちについて書いた。今度は”スキル”という観点から異動する前にやっておいて良かったことについて書こうと思う。 私の場合は、同じ会社内の異動だけれども、この記事に書いてあ ...
続きを見る
中級編はこちら
-
-
異動や転職を考えた時にエンジニアがするべきこと
こちらの記事で異動した時の気持ちについて書いた。今度は”スキル”という観点から異動する前にやっておいて良かったことについて書こうと思う。 私の場合は、同じ会社内の異動だけれども、この記事に書いてあ ...
続きを見る
テンプレートの読み方
Azureテンプレートには大きく分けてparameters、vriables、resourcesという3つのセクションがある。
ひとつづつ説明する。
parameters
プロジェクトを配置→新規作成実行すると表示される画面にある「パラメータの編集」ボタンを押すとポップアップで出力される値。parametersに値を書いておくと入力値をコントロールすることが出来る。デフォルト値やプルダウンの選択を指定、制限できるのだ。また、単純に値を記述することもできる。
ポイント
parametersに書いてある内容しか選択できなくなる。つまり、OSのバージョン制限、インスタンスのサイズ制限などができるということだ。
これは例えば、使用料金が高いVMサイズは選択できないようにして、予期せぬコスト増加を未然に防ぐとか、古いOSバージョンを選択できないようにしてセキュリティ対策を施すといったような使い方ができる。
variables
サービス名称や設定値などを決める部分。下記のresourcesから参照される値。プログラムの中の変数のようなものと考えてよろしい。リソースから参照されることで、ハードコーディングを無くすことができる。
さらに、このvariablesの中で関数を使用することができる。例えば、ユニークな文字列を自動生成する「uniqueString」関数がある。これはランダムな文字列を生成したい場合に使用し、ストレージアカウントなど、一意の名前が必要な場合に活用できる。名称の先頭はユーザ入力(variablesに書いてある文字列)で、そのうしろにuniqueStringでランダムな文字列を追加するといった使い方だ。
variablesの中で、ほかのリソースを参照するような記述もできる。例えば、テンプレートが実行されているリージョンのIDを取得するといったような使い方だ。関数を組み合わせて、流用できるようなテンプレートを作るようにこころがけよう。
resources
Azureサービスの細かい設定が指定されている部分。大きな特徴として依存関係(構築順序)を示すdependsOnやpropertiesという記述がある。
ポイント
- dependsOnはサービス構築順序を指定する場所
- propertiesは、そのAzureサービスの値を指定する場所
各値をハードコーディングしても良いが、通常は、propatiesの部分でvariablesやparametersを参照するように記述する。そうすることでテンプレートがほかの場面でも、流用できるソースとなる。セクションの場所とそれぞれに何を書く必要があるか覚えよう。Microsoftのマニュアルは参考になった。
とにかく最初はここを覚える
このテンプレートという機能、慣れないうちはどのようにテンプレートを書けばいいのか、各セクションに何を書けばよいのかわからなくなる。さらには、依存関係を持った複雑なサービスを一発で作成できるようにしたいと思って、いろいろ調べるうちに何もできなくなる。私もはじめはそうだった。
Azureテンプレートを使い始める際、覚えておくべき大事なポイントだけ書いておく。
ポイント
- resources = Azureサービスを定義している。ここはわかりやすい。
- parameters = 人が入力する値を制限する場所。
- variables = Azureサービスが参照する変数。
- Visual Studioを使ってコーディングすれば結構楽。
- 最初の壁はdependsOnの順序と意味。この理解が大事。
細かいところは多少違うが、最初は概ねこの概念通りに覚えよう。あとはMicrosoftのマニュアルを見れば大抵のことはすぐできるようになる。
セクションの説明はここまで。次回は複数のテンプレートを作って相互に依存関係を持たせた構築パターンを試してみる。