Azure Stack Hub で PowerShell を使用してサブスクリプション、プラン、およびオファーを管理する

オファー、プラン、およびサブスクリプションを使用することで、PowerShell でサービスを構成して提供できます。 Azure Stack Hub で PowerShell を使用してセットアップする手順については、「Azure Stack Hub 用の PowerShell Az モジュールをインストールする」を参照してください。 PowerShell を使用した Azure Stack Hub への接続に関する情報については、「PowerShell を使用して Azure Stack Hub に接続する」を参照してください。

開始する前に、Azure Stack Hub PowerShell モジュールが読み込まれていることを確認します。 PowerShell コンソールで、「Import-Module AzureStack」と入力します。

プランの作成

プランを作成する際は、クォータが必要です。 既存のクォータを使用することも、新しいクォータを作成することもできます。 たとえば、ストレージ、コンピューティング、およびネットワークのクォータを作成するには、New-AzsStorageQuotaNew-AzsComputeQuota、および New-AzsNetworkQuota コマンドレットを使用できます。

$serviceQuotas  = @()
$serviceQuotas += (New-AzsStorageQuota -Name "Example storage quota with defaults").Id
$serviceQuotas += (New-AzsComputeQuota -Name "Example compute quota with defaults").Id
$serviceQuotas += (New-AzsNetworkQuota -Name "Example network quota with defaults").Id

基本またはアドオン プランを作成または更新するには、New-AzsPlan を使用します。

$testPlan = New-AzsPlan -Name "testplan" -ResourceGroupName "testrg" -QuotaIds $serviceQuotas -Description "Test plan"

オファーの作成

オファーを作成するには、New-AzsOffer を使用します。

New-AzsOffer -Name "testoffer" -ResourceGroupName "testrg" -BasePlanIds @($testPlan.Id)

オファーを作成したら、プランをオファーに追加できます。 Add-AzsPlanToOffer を使用します。 -PlanLinkType パラメーターによって、プランの種類が区別されます。

Add-AzsPlanToOffer -PlanName "addonplan" -PlanLinkType Addon -OfferName "testoffer" -ResourceGroupName "testrg" -MaxAcquisitionCount 18

オファーの状態を変更する場合は、Set-AzsOffer コマンドレットを使用します。

$offer = Get-AzsAdminManagedOffer -Name "testoffer" -ResourceGroupName "testrg"
$offer.state = "Public"
$offer | Set-AzsOffer -Confirm:$false

オファーに対するサブスクリプションを作成する

オファーを作成した後、ユーザーは、それを使用できるようにするために、そのオファーに対するサブスクリプションが必要になります。 ユーザーがオファーをサブスクライブできる方法は 2 つあります。

  • クラウド オペレーターとして、ユーザー用のサブスクリプションを作成できます。 作成したサブスクリプションは、パブリック オファーとプライベート オファーの両方に対応します。
  • ユーザーとして、パブリック オファーをサブスクライブできます。

クラウド オペレーターとしてユーザー用のサブスクリプションを作成するには、New-AzsUserSubscription を使用します。

New-AzsUserSubscription -Owner "user@contoso.com" -DisplayName "User subscription" -OfferId "/subscriptions/<Subscription ID>/resourceGroups/testrg/providers/Microsoft.Subscriptions.Admin/offers/testoffer"

ユーザーとしてパブリック オファーをサブスクライブするには、New-AzsSubscription を使用します。 New-AzsSubscription では、ユーザーの Azure Resource Manager 環境への接続が必要です。 「PowerShell を使用して Azure Stack Hub に接続する」の手順を使用しますが、ユーザーの Azure Resource Manager エンドポイントを使用します。 たとえば、「 Add-AzEnvironment -Name "AzureStackUser" -ArmEndpoint "https://management.local.azurestack.external" 」のように入力します。

$testOffer = Get-AzsOffer | Where-Object Name -eq "testoffer"
New-AzsSubscription -OfferId $testOffer.Id -DisplayName "My subscription"

クォータ、プラン、オファーおよびサブスクリプションの削除

Azure Stack Hub のクォータ、プラン、オファー、およびサブスクリプションを削除するためのコンパニオン PowerShell コマンドレットがあります。 それぞれの例を次に示します。

オファーからサブスクリプションを削除するには、Remove-AzsUserSubscription を使用します。

Remove-AzsUserSubscription -TargetSubscriptionId "c90173b1-de7a-4b1d-8600-b8325ca1eab1e"

オファーからプランを削除するには、Remove-AzsPlanFromOffer を使用します。

Remove-AzsPlanFromOffer -PlanName "addonplan" -PlanLinkType Addon -OfferName "testoffer" -ResourceGroupName "testrg"
Remove-AzsPlanFromOffer -PlanName "testplan" -PlanLinkType Base -OfferName "testoffer" -ResourceGroupName "testrg"

プランを削除するには、Remove-AzsPlan を使用します。

Remove-AzsPlan -Name "testplan" -ResourceGroupName "testrg"

オファーを削除するには、Remove-AzsOffer を使用します。

Remove-AzsOffer -Name "testoffer" -ResourceGroupName "testrg"

クォータを削除するには、Remove-AzsStorageQuotaRemove-AzsComputeQuotaRemove-AzsNetworkQuota を使用します。

Remove-AzsStorageQuota -Name "Example storage quota with defaults"
Remove-AzsComputeQuota -Name "Example compute quota with defaults"
Remove-AzsNetworkQuota -Name "Example network quota with defaults"

次のステップ