クイックスタート: サービス カタログ マネージド アプリケーションのデプロイ
このクイックスタートでは、クイックスタート記事のいずれかを使用して作成したマネージド アプリケーション定義を使用します。 このデプロイでは、2 つのリソース グループが作成されます。 1 つのリソース グループにはマネージド アプリケーションが含まれており、もう 1 つはデプロイされたリソースの管理対象リソース グループです。 マネージド アプリケーション定義は、App Service プラン、App Service、ストレージ アカウントをデプロイします。
前提条件
- アプリケーション定義を発行するか、ストレージ持ち込みで定義を発行して作成したマネージド アプリケーション定義。
- アクティブなサブスクリプションが含まれる Azure アカウント。 アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Visual Studio Code。
- 最新バージョンの Azure PowerShell または Azure CLI。
サービス カタログ マネージド アプリケーションを作成する
例では、"アプリケーション定義を発行するためのクイックスタート" で作成したリソース グループ名を使用します。 "ストレージ持ち込みで定義を発行" するクイックスタートを使用した場合は、それらのリソース グループ名を使用してください。
- アプリケーション定義の発行: packageStorageGroup と appDefinitionGroup。
- Bring Your Own Storage で定義を発行する: packageStorageGroup、byosDefinitionStorageGroup、byosAppDefinitionGroup。
マネージド アプリケーション定義を取得する
Azure PowerShell を使用してマネージド アプリケーションの定義を取得するには、次のコマンドを実行します。
Visual Studio Code で、新しい PowerShell ターミナルを開き、Azure サブスクリプションにサインインします。
Connect-AzAccount
コマンドを実行すると、既定のブラウザーが開き、Azure にサインインするよう求められます。 詳細については、「Azure PowerShell を使用してサインインする」を参照してください。
Azure PowerShell から、マネージド アプリケーションの定義を取得します。 この例では、マネージド アプリケーション定義をデプロイしたときに作成されたリソース グループ名 appDefinitionGroup を使用します。
Get-AzManagedApplicationDefinition -ResourceGroupName appDefinitionGroup
Get-AzManagedApplicationDefinition
は、指定されたリソース グループ内で使用可能なすべての定義 (sampleManagedApplication など) を一覧表示します。
マネージド アプリケーション定義のリソース ID 用の変数を作成します。
$definitionid = (Get-AzManagedApplicationDefinition -ResourceGroupName appDefinitionGroup -Name sampleManagedApplication).ManagedApplicationDefinitionId
$definitionid
変数の値は、マネージド アプリケーションをデプロイするときに使用します。
リソース グループとパラメーターを作成する
マネージド アプリケーションのデプロイ用のリソース グループを作成します。
New-AzResourceGroup -Name applicationGroup -Location westus
また、マネージド アプリケーション リソース グループの名前を作成する必要もあります。 リソース グループは、マネージド アプリケーションをデプロイするときに作成されます。
次のコマンドを実行して、管理対象リソース グループの名前を作成します。
$mrgprefix = 'mrg-sampleManagedApplication-'
$mrgtimestamp = Get-Date -UFormat "%Y%m%d%H%M%S"
$mrgname = $mrgprefix + $mrgtimestamp
$mrgname
$mrgprefix
変数と $mrgtimestamp
変数は連結され、$mrgname
変数に格納されます。 変数の値は mrg-sampleManagedApplication-20230512103059 の形式です。 $mrgname
変数の値は、マネージド アプリケーションをデプロイするときに使用します。
マネージド アプリケーションのデプロイ コマンドにいくつかのパラメーターを指定する必要があります。 JSON 形式の文字列を使用することも、JSON ファイルを作成することもできます。 この例では、JSON 形式の文字列を使用します。 引用符の PowerShell エスケープ文字は、バックティック (`
) 文字です。 バックティックは、コマンドで複数の行を使用できるように、行の連結にも使用されます。
JSON 形式の文字列の構文は次のとおりです。
"{ `"parameterName`": {`"value`":`"parameterValue`"}, `"parameterName`": {`"value`":`"parameterValue`"} }"
読みやすくするために、完全な JSON 文字列では、行の連結にバックティックが使用されます。 値は $params
変数に格納され、デプロイ コマンドで使用されます。 JSON 文字列内のパラメーターは、管理対象リソースをデプロイするために必要です。
$params="{ `"appServicePlanName`": {`"value`":`"demoAppServicePlan`"}, `
`"appServiceNamePrefix`": {`"value`":`"demoApp`"} }"
管理対象リソースを作成するためのパラメーター:
appServicePlanName
: プラン名を作成します。 最大 40 文字の英数字とハイフンです。 たとえば、demoAppServicePlan です。 App Service プラン名は、サブスクリプション内のリソース グループ内で一意である必要があります。appServiceNamePrefix
: プラン名のプレフィックスを作成します。 最大 47 文字の英数字またはハイフンです。 たとえば、 demoApp です。 デプロイ時に、プレフィックスが一意の文字列と連結され、Azure 全体でグローバルに一意の名前が作成されます。
マネージド アプリケーションのデプロイ
次のコマンドを実行して、マネージド アプリケーションをデプロイします。
New-AzManagedApplication `
-Name "demoManagedApplication" `
-ResourceGroupName applicationGroup `
-Location westus `
-ManagedResourceGroupName $mrgname `
-ManagedApplicationDefinitionId $definitionid `
-Kind ServiceCatalog `
-Parameter $params
デプロイ コマンドで使用されるパラメーター:
Name
: マネージド アプリケーションの名前を指定します。 この例では、demoManagedApplication を使用します。ResourceGroupName
: マネージド アプリケーション用に作成したリソース グループの名前。Location
: リソースのデプロイのためのリージョンを指定します。 この例では、westus を使用します。ManagedResourceGroupName
:$mrgname
変数の値を使用します。 管理対象リソース グループは、マネージド アプリケーションのデプロイ時に作成されます。ManagedApplicationDefinitionId
: マネージド アプリケーション定義のリソース ID に$definitionid
変数の値を使用します。Kind
: マネージド アプリケーションの種類を指定します。 この例では、ServiceCatalog を使用します。Parameter
: JSON 形式の文字列の$params
変数の値を使用します。
結果の表示
サービス カタログ マネージド アプリケーションをデプロイした後には、2 つの新しいリソース グループが作成されています。 1 つのリソース グループには、マネージド アプリケーションが含まれます。 もう 1 つのリソース グループには、デプロイされたマネージド リソースが含まれます。 この例では、App Service、App Service プラン、およびストレージ アカウントです。
マネージド アプリケーション
デプロイが完了したら、マネージド アプリケーションの状態を確認できます。
次のコマンドを実行して、マネージド アプリケーションの状態を確認します。
Get-AzManagedApplication -Name demoManagedApplication -ResourceGroupName applicationGroup
Properties
情報を読みやすくするために、プロパティを展開します。
Get-AzManagedApplication -Name demoManagedApplication -ResourceGroupName applicationGroup | Select-Object -ExpandProperty Properties
マネージド リソース
管理対象リソース グループにデプロイされたリソースを表示できます。
管理対象リソース グループのリソースを表示するには、次のコマンドを実行します。 $mrgname
変数は、パラメーターの作成時に作成しました。
Get-AzResource -ResourceGroupName $mrgname
管理対象リソース グループのすべてのロールの割り当てを表示には、以下を実行します。
Get-AzRoleAssignment -ResourceGroupName $mrgname
クイックスタート記事で作成したマネージド アプリケーション定義では、所有者ロールの割り当てを持つグループを使用しました。 次のコマンドを使用して、グループを表示できます。
Get-AzRoleAssignment -ResourceGroupName $mrgname -RoleDefinitionName Owner
管理対象リソース グループの拒否の割り当てを一覧表示することもできます。
Get-AzDenyAssignment -ResourceGroupName $mrgname
リソースをクリーンアップする
マネージド アプリケーションを終了したら、リソース グループを削除でき、これにより作成したすべてのリソースが削除されます。 たとえば、このクイックスタートでは、リソース グループ applicationGroup と、プレフィックス mrg-sampleManagedApplication を持つ管理対象リソース グループを作成しました。
コマンドを実行すると、リソース グループを削除することを確認するメッセージが表示されます。
Remove-AzResourceGroup -Name applicationGroup
マネージド アプリケーション定義を削除したい場合は、クイック スタートの記事で作成したリソース グループを削除します。
- アプリケーション定義の発行: packageStorageGroup と appDefinitionGroup。
- Bring Your Own Storage で定義を発行する: packageStorageGroup、byosDefinitionStorageGroup、byosAppDefinitionGroup。
次のステップ
- マネージド アプリケーションの定義ファイルの作成方法を学習するには、「クイック スタート: Azure Managed Applications の定義を作成して発行する」を参照してください。
- 独自のストレージを使って、マネージド アプリケーションの定義ファイルを作成して発行するには、「クイック スタート: 独自のストレージを使用して Azure Managed Applications の定義を作成および発行する」を参照してください。