Bicepで始めるIaC入門

はじめに

こんにちは。NewITソリューション部です。

クラウドインフラの管理や構築をコードで自動化する「Infrastructure as Code(IaC)」の考え方は、近年のクラウド活用で欠かせないものとなっています。

Azureでは従来からARMテンプレートが使用されてきましたが、複雑な記法のため習得や保守が難しいです。そこで登場するのがBicepです。Bicepはシンプルな宣言でAzureリソースをデプロイできるMicrosoft公式のドメイン固有言語です。

この記事では、Bicepの基本的な書き方から、実際にデプロイしてみるところまでをまとめました。参考になりましたら、幸いです。

 

Bicepの書き方の基本

Bicepファイル(.bicep)は、リソースごとに簡潔に記述します。
以下は、ストレージアカウントを作成する簡単な例です。

resource symbolicname 'Microsoft.Storage/storageAccounts@2024-01-01' = {
  name: 'mystorageaccount'
    location: 'japaneast'
    sku: { 
        name: 'Standard_LRS'
    }
    kind: 'StorageV2'
}

Bicepの基本の流れとして、デプロイしたいリソースをresourceで宣言し、リソースの種類に応じて様々な設定値を埋めていく流れになります。
リソース毎の設定値に関してはMicrosoftの公式ドキュメントを参照して下さい。

また、Bicepでは変数や実行時のパラメータを宣言することができます。

var storageName = 'mystorageaccount' 
// 指定しない場合、規定値が使用される 
param sku string = 'Standard_LRS'

resource symbolicname 'Microsoft.Storage/storageAccounts@2024-01-01' = {
  name: storageName
    location: 'japaneast'
    sku: { 
      name: sku
    }
    kind: 'StorageV2'
}

varで宣言するとファイル内で変数として使うことができます。
paramで宣言すると実行時のコマンドでパラメータとして指定することができ、指定しない場合はコード内で代入された値がデフォルト値として使用されます。
また、パラメータのデフォルト値はパラメータファイルとして別出しすることができ、.bicepparamで宣言できます。

ハンズオン

それでは、実際にAzureリソースをデプロイしてみます。

まずはBicepをインストールします。

az install bicep

作業ディレクトリ内で、main.bicepファイルを作成し、先ほどのコードを保存します。

var storageName = 'mystorageaccount' 
// 指定しない場合、規定値が使用される 
param sku string = 'Standard_LRS'

resource symbolicname 'Microsoft.Storage/storageAccounts@2024-01-01' = {
  name: storageName
    location: 'japaneast'
    sku: { 
      name: sku
    }
    kind: 'StorageV2'
}

ログインし、サブスクリプションを指定します。

az login
az account set --subscription [サブスクリプション名またはID]
az account show

リソースグループを作成します。

az group create -l japaneast -n rg-bicep-test

以下コマンドでデプロイします。

az deployment group create --name biceptest --resource-group rg-bicep-test --template-file ./main.bicep 

まとめ

Bicepは、Azure環境のIaCを簡単に始めるための最適なツールです。

従来のARMテンプレートに比べて学習コストが低く、業務でのIaC活用を加速させることができます。

まずは簡単なリソースデプロイから試して、チームでの開発に組み込みながら、より高度な活用へとステップアップしてみてはいかがでしょうか。

最後に、弊社にご興味をお持ちいただけましたらお気軽にお問い合わせいただけると幸いです。

 

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください