0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bicep Tips - Bicep事始め1(リソースグループの作成)

Posted at

概要

AzureのIaCをするにあたって、Bicepにチャレンジしようと思って、環境構築周りの備忘録。
Bicep自体の説明は他所に譲ります(笑)。

環境

・MacBook Air
・Power Shell
・Azure PowerShell
・Visual Studio Code

手順

Power ShellにAzure PowerShellモジュールをインストール

私の環境はMacBookで、こちらに記載した手順でインストールしました。
MacにAzure PowerShellを入れる

Bicepツールのインストール

Bicepを使うための環境構築手順は、Microsoft Learnの以下のページに記載があります。
Bicep ツールのインストール

Azure PowerShellを使う場合のBicepツールのインストールについては、Microsoft Learnに手順が記載されています。
Bicep ツールのインストール - Azure PowerShell

私の環境はMacBookなので、シェル上で以下のコマンドを実行して、Bicepツールをインストールしました。

> brew tap azure/bicep
> brew install bicep

Visual Studio CodeにBicepの拡張機能をインストールする

拡張機能のマーケットプレイスで、Bicepを検索し、インストールをクリックします。
image.png

インストールが完了すると、「ようこそ」タブが開き、チュートリアルが表示されます。
「Create Bicep file」をクリックします。
image.png

任意のフォルダに、拡張子「bicep」のファイルを作るようにします。
ここではデフォルトのmain.bicepを作ってみました。
image.png

作成したBicepファイルがエディターで表示されます。
image.png

リソースグループの作成

Microsoft Learnに、Bicepでリソースグループを作成する手順が記載されています。
Bicep を使用してリソース グループを作成する

一旦、ここに記載されているコードをそのままコピペします。

main.bicep
targetScope='subscription'

param resourceGroupName string
param resourceGroupLocation string

resource newRG 'Microsoft.Resources/resourceGroups@2024-11-01' = {
  name: resourceGroupName
  location: resourceGroupLocation
}

スコープ

1行目の「targetScope」で、どこのレベルへのデプロイかを決めるようです。
targetScope='resourceGroup' ・・・ リソースグループ内へのデプロイ(デフォルト)
targetScope='subscription' ・・・ サブスクリプション内へのデプロイ

他にも、管理グループへのデプロイやテナントへのデプロイが設定できますが、説明は割愛。
参考:デプロイ スコープについて

パラメータ

3〜4行目の、先頭に「param」と書かれた行は、(そのまんまですが)パラメーターの定義する行です。
パラメーターは、ここで代入もできるようですが、Bicepファイルを実行するときの引数でも指定できるようです。
→ 後ほど説明

リソース

6〜9行目の記載で、作成するリソース(ここではリソースグループ)を指定しています。
リソースの記述の仕方はこんな感じだそうです。

resource <symbolic-name> '<full-type-name>@<api-version>' = {
  <resource-properties>
}

Microsoft Learnの説明は以下のページです。
リソースの Bicep を使った宣言

symbolic-nameは変数名みたいなものでしょうかね。
full-tyoe-nameが作成するリソース、api-versionがリソースを作成するときに使用するAPIのバージョンです。
full-type-nameと、使用できるバージョン番号は、以下のページを開いて、左側のツリーから検索することができます。
Bicep、ARM テンプレート、Terraform AzAPI プロバイダーを使用してリソースを定義する

検索窓からリソースを検索することもできます。
image.png

resource-propertiesにも様々指定することが可能です。
今回のBicepファイルでは、リソースグループ名とロケーションを指定しています。

api-versionの変更

ここでは、リソースグループのAPIバージョンを最新のものに変えておこうと思います。
Visual Studio Codeで、@以降の文字列を削除し、再度@を入力すると、
インテリセンスで使用できるapi-versionが表示されます。
image.png

ここまででBicepファイルの作成作業は一旦終了。

Bicepファイルの実行

Power Shell(Azure PowerShell モジュール導入済み)を使って、Bicepファイルでリソースグループを作成したいと思います。
Power Shellを起動し、カレントディレクトリをBicepファイルのあるフォルダに移動します。
以下のコマンドを実行します。

> Connect-AzAccount
> New-AzSubscriptionDeployment -location japanwest -TemplateFile main.bicep -resourceGroupName demoResourceGroup -resourceGroupLocation japanwest

1つ目のコマンド(Connect-AzAccount)は、Azureへの接続コマンドです。
ブラウザが起動してくるので、Azureポータルへのログインを行なってください。

実行するとこんな感じで応答が表示されます。
image.png

特段サブスクリプションの指定をしていないので、既定のサブスクリプションでBicepが実行されるのかな?

Azureポータルで、ちゃんとリソースグループが作成されたかを確認。
image.png

次回は、リソースグループの中にApp Serviceなどのリソースを作成するところまで、まとめてBicepで書く方法を調べる・・・予定。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?