Bicep で Storage と VNet を宣言的にデプロイする

Cloud Shell で Bicep ファイルを作成し、what-if で差分を確認しながら Storage アカウントと VNet をデプロイします。再実行とパラメータ変更を通じて、宣言的 IaC の冪等性を体験します。

中級50Azure 実環境

ラボ概要

Azure ポータルでリソースを 1 つずつ手作業で作成する方法は、最初の学習には向いていますが、環境を何度も再現したり、チームで同じ構成を共有したりする場面ではすぐに限界が来ます。設定漏れや手順の属人化を防ぐには、インフラ構成をコードとして記述する IaC (Infrastructure as Code) が有効です。

Bicep は、Azure Resource Manager (ARM) テンプレートを簡潔に書けるようにした Azure ネイティブの言語です。JSON 形式の ARM テンプレートと比べて記述量が大幅に減り、パラメータや変数、リソース間の参照も直感的に書けます。さらに what-if コマンドでデプロイ前に「何が作成・変更・削除されるか」をプレビューでき、同じテンプレートを何度実行しても結果が同じになる「冪等性」を備えています。AZ-104 では ARM テンプレート/Bicep によるリソース管理、AZ-400 では IaC を使ったデプロイ自動化として、どちらの試験でも問われる重要トピックです。

このラボでは、Cloud Shell 上で Storage アカウントと Virtual Network(サブネット 2 つ)を定義した Bicep ファイルを作成し、what-if によるプレビュー、デプロイ、再実行による冪等性の確認、パラメータ変更による更新までを一通り体験します。

学習目標

  • Bicep ファイルの基本構造(param・var・resource・output)を理解する
  • az deployment group what-if でデプロイ前に変更内容をプレビューできる
  • az deployment group create でリソースグループスコープにデプロイできる
  • 同じテンプレートを再実行しても結果が変わらない「冪等性」を説明できる
  • パラメータの値を変えて既存リソースを宣言的に更新できる
  • タグを変数として一元管理し、複数リソースへ一括適用できる

前提

  • Azure ポータルにサインイン済みであること(サンドボックス環境が自動で用意されます)
  • リソースはすべて japaneast(東日本)リージョンに作成します
  • 作業はすべて、割り当て済みのサンドボックス リソースグループ 1 つの中で行います。新しいリソースグループの作成や、サブスクリプション レベルの操作はできません

ラボの構成

  1. 1Cloud Shell を起動して作業環境を確認する
  2. 2Bicep ファイルを作成する
  3. 3what-if で変更内容をプレビューする
  4. 4デプロイを実行する
  5. 5デプロイされたリソースを確認する
  6. 6再実行して冪等性を確認する
  7. 7パラメータを変更して更新をデプロイする
  8. 8動作確認
  9. 9完了チェックリスト
  10. 10後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

参考リソース