🦐

【Azure/Bicep】Microsoft FabricをBicepからデプロイする方法

に公開

記事の内容

Bicepを使ってMicrosoft Fabricをデプロイする。
デプロイ時に、注意すべき点について記載する。

1. 下記ディレクトリ構成でBicepを作成

ディレクトリ構成

bicep-project/
├── deployments/
│   ├── main.bicep
│   └── rg.bicep
└── modules/
     ├── resourceGroup.bicep
     └── fabric.bicep

rg.bicep

targetScope = 'subscription'
param rgName string = 'tstFabricRG'
param location string = 'japanwest'

var tags = {
  Usage: 'dev'
}

module rgModule '../modules/resourceGroup.bicep' = {
  name: 'resourceGroup'
  params: {
    rgName: rgName
    location: location
    tags: tags
  }
}

resourceGroup.bicep

targetScope = 'subscription'
param rgName string
param location string
param tags object

resource RG 'Microsoft.Resources/resourceGroups@2022-09-01' = {
  name: rgName
  location: location
  tags: tags
}

output rgName string = RG.name

main.bicep

targetScope = 'subscription'
param location string = 'japanwest'
param tags object = {
  Usage: 'dev'
}

// Microsoft Fabric Module
param rgName string = 'tstFabricRG'
param fabricSkuName string = 'F2'
param fabricAdminMembers array = ['fabric-admin@example.com'] //←プリンシパル名を挿入
param skuTier string = 'Fabric'

module fabricModule '../modules/fabric.bicep' = {
  name: 'microsoft-fabric-capacity'
  scope: resourceGroup(rgName)
  params: {
    fabricCapacityName: 'fabric001'
    location: location
    tags: tags
    skuName: fabricSkuName
    adminMembers: fabricAdminMembers
    skuTier: skuTier
  }
}

fabric.bicep

param fabricCapacityName string
param location string
param tags object
param skuName string
param skuTier string
param adminMembers array

// Microsoft Fabric Capacity Resource
resource fabricCapacity 'Microsoft.Fabric/capacities@2022-07-01-preview' = {
  name: fabricCapacityName
  location: location
  tags: tags
  properties: {
    administration: {
      members: adminMembers
    }
  }
  sku: {
    name: skuName
    tier: skuTier
  }
}

2. AZ login後にコマンドで実行

rg.bicepのデプロイ

az deployment sub create `
>>   --location japaneast `
>>   --template-file .\deployments/rg.bicep 

main.bicepのデプロイ

az deployment sub create `
>>   --location japanwest `
>>   --template-file .\deployments\main.bicep

注意点

  1. FabricをBicepから作成するために、まず該当アカウントでMicrosoft Fabricにログインし、試用版の状態をオンにする

https://app.fabric.microsoft.com/

↓のように「試用版を取り消す」が表示されていればOK

  1. ユーザーの種類が「メンバー」であるアカウントからデプロイ(「ゲスト」だとデプロイできません)「ゲスト」である場合はアカウントを作成後、サブスクリプションを紐づける。

https://learn.microsoft.com/ja-jp/azure/role-based-access-control/role-assignments-external-users

  1. main.bicepにあるfabricAdminMembersにはユーザーから確認できるプリンシパル名をいれる
    param fabricAdminMembers array = ['fabric-admin@example.com']
    

AzurePortalでFabricのデプロイを確認してから、Bicepでデプロイをする方が確認の手間が省けてよいと思いました。

ヘッドウォータース

Discussion