📄
Bicepを使ってAzureでIaC
はじめに
AzureでIaCをやってみました。IaCの記法はBicepを用いています。
概要
- コードを書いて、コマンドでデプロイします
- サンプルとしてリソースグループを作成しています
- Cloud Shell上で行いますので、最初に作成します
やってみた
GUI(Azure Portal)での操作
まずサブスクを選び、次にCloud Shellから作りますので、環境を作ります。
CLI(Cloud Shell)での操作
Bashモードで以下のコマンドを実行してファイルを作成し、エディタを起動させます。
mkdir sample
touch sample/main.bicep
code sample/
エディタ上でmain.bicepを開いて、以下を参考に記述していきます。
サンプルよりさらに簡素にしてみました。
main.bicep
targetScope = 'subscription'
resource newRG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
name: 'sampleResourceGroup'
location: 'japaneast'
}
デプロイ
デプロイは以下のコマンドで行います。sub
という記述についてはAWSのCloudFormationと異なり、スコープの概念が必要な模様です。
az deployment sub create \
--name SampleSubDeployment \
--location japaneast \
--template-file main.bicep
以下のような注意が出ますが、作成されます。
Warning no-hardcoded-location: A resource location should not use a hard-coded string or variable value. Please use a parameter value, an expression, or the string 'global'. Found: 'japaneast' [https://aka.ms/bicep/linter/no-hardcoded-location]
以下のように作成されました。
デプロイ履歴は、サブスクリプションから見れます
更新
少しコードを書き換えて、タグを追加してみます。
main.bicep
targetScope = 'subscription'
resource newRG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
name: 'sampleResourceGroup'
location: 'japaneast'
tags: {
Dept: 'Finance'
Environment: 'Production'
}
}
更新時も、デプロイ時と同じコマンドで行います。
更新箇所を確認するために、--confirm-with-what-if
のオプションを追加します。
az deployment sub create \
--confirm-with-what-if \
--name SampleSubDeployment \
--location japaneast \
--template-file main.bicep
オプションを追加すると、以下のように追加箇所を表示して更新の確認を行います。
削除
削除する際はaz deployment sub delete
を使います。
az deployment sub delete \
--name SampleSubDeployment
その他コマンドは以下を参照にください。
おわりに
今回はAzureでIaCをやってみました。簡単なサンプルでしたが、これをベースに色々やってみようと思います。
またAzureはIaCにも力を入れるようですので、今後ドンドン使いやすくなっていってほしいです。
この記事がどなたかのお役に立てれば幸いです。
Discussion