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-AzsStorageQuota、New-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-AzsStorageQuota、Remove-AzsComputeQuota、Remove-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"