kayaru28の学習日記

勉強したことの整理と、graphvizでの図形作成練習のための学習日記です。

Azure:Azure Resource Manager テンプレートを作成する

Azueの認定資格の一つである、Azure管理者資格に向けて、Microsoft Learnの下記のラーニングパスを実施しています。

勉強した内容の復習用にいくつかのキーワードの意味や自分なりに理解した内容のメモを残していきます。

今回、「Azure Resource Manager テンプレートを作成する」の内容になります。 docs.microsoft.com


Azure Resource Manager とは

  1. クラウド リソースを管理および整理するためのインターフェイス
  2. クラウド リソースをデプロイするための手段
  3. Resource Manager を使用してリソース グループを編成すると、すべてのリソースを 1 つの操作でまとめてデプロイ、管理、削除することが可能

Resource Manager テンプレート

  • JSONで記述された”宣言型のオートメ―ション”形式ファイル

    宣言型のオートメーションとは、必要なリソースが "何" かということは定義しますが、それを作成する "方法" は定義しない

  • デプロイに含まれるすべての Resource Manager リソースが正確に定義
  • 構成要素
    1. パラメーター
      • テンプレートの実行時に構成できる値を指定
      • ユーザ名、パスワード等
    2. 変数
      • テンプレート全体で使用される値を定義
    3. 関数
      • テンプレート全体で繰り返し記述したくないプロシージャを定義
    4. リソース
      • デプロイを構成する Azure リソースを定義
    5. 出力
      • テンプレートの実行時に受け取りたいすべての情報を定義
      • デプロイ実行したのちにわかるVMIPアドレス
  • 主な記述方法
    • 既存のテンプレートをニーズに合わせて変更するのが一般的
    • 最初のテンプレートを入手する方法
      1. Azure portal を用いて、既存のリソース グループ内のリソースを基にテンプレートを作成
      2. 自分またはチームが作成した似た目的を持つテンプレートを使用
      3. Azure クイック スタート テンプレートを使用

Resource Managerを使用するメリット

  1. 単体・繰り返しのデプロイの高速化
    • Resource Manager テンプレートに基づいてデプロイが自動的に処理
  2. 作業内容の一貫性の向上
    • テンプレート内での構造、形式、表現は同じ
    • デプロイに使用するツール(SDK,portal)による変化はない
  3. 複雑なデプロイを簡略化
    • 複数のリソースを依存関係に対応した、正しい順序でデプロイ可能
    • リソースとその依存リソースの対応が明らかに(dependsOn要素を使用)され、依存リソースを最初に作成
  4. 手動タスクの削減により作業品質向上(エラーの削減)
  5. コード形式(テンプレートのこと)でのデプロイの表現
    • ほかのソフトウェアと同様に共有、テスト、バージョン管理可能
    • Git等を用いたリビジョン履歴の追跡が可能
  6. 再利用可能なテンプレート
    • ステージングや運用といった複数のバージョンの環境を同一テンプレートで作成可能
    • 環境固有の変数はテンプレート パラメーターを参照

Azure Resource Manager によるデプロイステップ

  1. リソース グループを作成
    • 作成する必要があるすべてのリソースを保持する "リソース グループ" を作成
  2. Resource Manager テンプレートを作成
  3. テンプレートを検証して起動
    1. まずテンプレートが構文的に正しいことを検証
    2. 検証されたテンプレートをデプロイ
  4. デプロイを検証
    1. テンプレートに記述したとおりにリソースが作成されていることを確認