Azure Stack HCI クラスターの登録を管理する
適用対象: Azure Stack HCI バージョン 22H2
クラスターの構成と要件によっては、クラスターを Azure に登録した後に追加の手順を実行する必要がある場合があります。 この記事では、Windows Admin Center、PowerShell、または Azure portal を使用してクラスターの登録を管理する方法について説明します。 また、クラスターの登録に関してよく寄せられる質問に対する回答も提供します。
Azure でクラスターを登録 すると、オンプレミスの Azure Stack HCI クラスターを表す Azure Resource Manager リソースが作成されます。 Azure Stack HCI バージョン 21H2 以降では、クラスターを登録すると、Azure Stack HCI クラスター内の各サーバーのサーバー リソースの Azure Arc が自動的に作成されます。 この Azure Arc 統合により、Azure 管理プレーンが Azure Stack HCI に拡張されます。 Azure Arc 統合を使用すると、Azure リソースとオンプレミス クラスターの間で定期的に情報を同期できます。
登録と Arc 対応サーバーの状態を表示する
Windows Admin Center を使用してクラスターに接続すると、ダッシュボードが表示され、Azure Stack HCI 登録と Arc 対応サーバーの状態が表示されます。
Azure Stack HCI 登録の場合、 Connected は、クラスターが既に Azure に登録されており、最後の 1 日以内にクラウドに正常に同期されたことを意味します。
Arc 対応サーバーの場合、 Connected は、すべての物理サーバーが Arc 対応であり、Azure portal から管理できることを意味します。
詳細については、左側の Tools メニューから Azure Arc を選択します。
Note
Azure Arc ダッシュボードは現在パブリック プレビュー段階です。
Overview ページには、Azure Stack HCI 登録と Arc 対応サーバーに関する概要の状態情報が表示されます。 いずれかのタイルをクリックすると、個々のページに表示されます。
Azure Stack HCI の登録 ページでは、Azure Stack HCI システムとサーバーの状態の両方を表示できます。 これには、Azure 接続の状態と最後の Azure 同期が含まれます。 トラブルシューティングのドキュメントとクラスター拡張機能への の使用に関するリンクがあります。 必要に応じてUnregister をできます。
クラスターが Azure に登録されていても、物理サーバーがまだ Arc 対応でない場合は、 Arc 対応サーバー ページから行うことができます。 物理サーバーが Arc 対応の場合は、各サーバーの Azure Arc の状態とバージョン ID を表示できます。 トラブルシューティング情報へのリンクも確認できます。
Azure Arc 統合を有効にする
Azure Stack HCI バージョン 21H2 以降では、クラスターは登録時に自動的に Arc 対応になります。 Azure Arc 統合は、Azure Stack HCI バージョン 20H2 では使用できません。
次のシナリオでは、Azure Arc 統合を手動で有効にする必要があります。
- クラスター サーバーを Azure Stack HCI バージョン 20H2 (以前は Arc 対応では手動で有効にしていなかった) からバージョン 21H2 に更新しました。
- 以前に 20H2 クラスターを Arc 対応にしてあり、21H2 にアップグレードした後も Arc の有効化がまだ失敗する場合は、こちらのガイダンスを参照してトラブルシューティングを行ってください。
- 以前に Arc 対応を無効にしてあり、21H2 以降の Azure Stack HCI クラスターを Arc 対応にする予定です。
Azure Arc 統合を有効にするには、次の手順に従います。
管理 PC に
Az.Resources
モジュールの最新バージョンをインストールします。Install-Module -Name Az.Resources
管理 PC に
Az.StackHCI
モジュールの最新バージョンをインストールします。Install-Module -Name Az.StackHCI
Register-AzStackHCI
コマンドレットを再度実行し、Azure サブスクリプション ID を指定します。これは、クラスターを最初に登録したときと同じ ID にする必要があります。-ComputerName
パラメーターには、クラスター内の任意のサーバーの名前を指定できます。 このステップにより、クラスター内のすべてのサーバーで Azure Arc 統合が有効になります。 現在のクラスターの Azure への登録に影響はなく、最初にクラスターの登録を解除する必要はありません。Register-AzStackHCI -SubscriptionId "<subscription_ID>" -ComputerName Server1 -Region <region> -TenantId "<tenant_id>"
重要
クラスターを最初に登録するときに使用した
-Region
、-ResourceName
、または-ResourceGroupName
が、既定の設定と異なる場合は、それらと同じパラメーターと値をここで指定する必要があります。Get-AzureStackHCI
を実行すると、これらの値が表示されます。
Arc の有効化中にエラーが発生した場合 トラブルシューティングについては、こちらのガイダンスを参照してください。
クラスター サーバーで Arc エージェントをアップグレードする
Azure Stack HCI バージョン 21H2 以降では、新しいバージョンが利用可能になったときに Arc エージェントを自動的に更新するため、クラスター サーバーが Microsoft Update で構成されていることを確認します。 詳細については、「 Microsoft Update の構成を参照してください。
クラスター サーバー上の Arc エージェントをアップグレードするには、次の手順に従います。
サーバー構成ツール (Sconfig) で、更新プログラムをインストールするオプション (オプション 6) を選択します。
すべての品質更新プログラムのオプション (オプション 1) を選択します。
Arc エージェントのみを更新するか、すべての更新プログラムをインストールするかを選択できます。
各ノードで PowerShell から
azcmagent version
を実行して、Arc エージェントのバージョンを確認します。
Azure Stack HCI の登録を解除します
Azure Stack HCI の登録を解除するには、Windows Admin Center または PowerShell を使用します。
登録解除プロセスでは、クラスターを表す Azure リソース、Azure リソース グループ (登録中にグループが作成され、他のリソースが含まれていない場合)、および Microsoft Entra アプリ ID が自動的にクリーンアップされます。 このクリーンアップにより、Azure Arc による監視、サポート、課金のすべての機能が停止します。
Windows Admin Center を使用して Azure Stack HCI クラスターの登録を解除するには、次の手順に従います。
Windows Admin Center を使用してクラスターに接続します。
左側のメニューから Azure Arc を選択します。
Azure Stack HCI 登録を選択し、Unregister ボタンを選択し、もう一度 Unregister を選択します。
Note
最初にクラスターを登録するために使用された別の Microsoft Entra テナント ID に Windows Admin Center ゲートウェイが登録されている場合、Windows Admin Center を使用してクラスターの登録を解除しようとすると問題が発生する可能性があります。 このような場合は、次のセクションの PowerShell の手順を使用できます。
正常に登録が解除されなかったクラスターをクリーンアップする
ユーザーがホスト サーバーの再イメージングや仮想クラスター ノードの削除などによって、Azure Stack HCI クラスターの登録を解除せずに破棄すると、成果物が Azure に残されます。 そのような成果物は無害であり、課金されたり、リソースを消費したりすることはありませんが、そのせいで Azure portal が煩雑になることはあります。 これを整理するために、手動で削除することができます。
Azure Stack HCI リソースを削除するには、Azure portal でリソースに移動し、アクション バーから Delete を選択します。 Get-AzureStackHCI
コマンドレットを実行すると、リソースの詳細を取得できます。
Azure Stack HCI では、登録の一環として、 resourceName と resourceName.arc という 2 つの Microsoft Entra アプリケーションが作成されます。それらを削除するには、 Microsoft Entra ID>App Registrations>All Applications に移動します。 [削除] を選択して、確定します。
PowerShell を使用して Azure Stack HCI リソースを削除することもできます。
Remove-AzResource -ResourceId "<resource_name>"
Az.Resources
モジュールをインストールすることが必要になる場合があります。
Install-Module -Name Az.Resources
リソース グループが登録時に作成され、他のリソースが含まれていない場合は、それも削除できます。
Remove-AzResourceGroup -Name "<resourceGroupName>"
トラブルシューティング
一般的なエラーと、それらを解決するための軽減手順については、「 Azure Stack HCI 登録のトラブルシューティング」を参照してください。
よく寄せられる質問
よく寄せられる質問に対する回答を見つけます。
より制限されたカスタム権限ロールを使用するにはどうすればよいですか?
「 PowerShell を使用して Azure アクセス許可を割り当て」で説明されているように、Azure Stack HCI 登録を実行するために必要なアクセス許可をさらに減らすことができます。ただし、以下で説明する操作の一部は、共同作成者とユーザー アクセス管理者ロールを持つユーザーによって帯域外で既に実行されています。
必要なリソース プロバイダーを登録します。 クラスターの登録に使用するサブスクリプションにサインインします。 >リソース プロバイダーの設定で、次のリソース プロバイダーを選択し、登録 を選択します。
- Microsoft.AzureStackHCI
- Microsoft.HybridCompute
- Microsoft.GuestConfiguration
- Microsoft.HybridConnectivity
リソース グループを作成します。 Azure Stack HCI リソースが投影されるリソース グループが、特権ユーザーによって事前に作成されていることを確認します。 詳細については、「 前提条件 」セクションを参照してください。
これら 2 つの前提条件を設定したら、カスタム ロールを作成し、以下で説明するように登録に使用します。 まず、次の内容を含む customHCIRole.json という JSON ファイルを作成します。 必ず
<subscriptionID>
を Azure サブスクリプション ID に変更してください。 サブスクリプション ID を取得するには、Azure portal にアクセスし、 Subscriptions に移動し、一覧から ID をコピーして貼り付けます。{ "Name": "Azure Stack HCI registration role", "Id": null, "IsCustom": true, "Description": "Custom Azure role to allow subscription-level access to register Azure Stack HCI", "Actions": [ "Microsoft.Resources/subscriptions/resourceGroups/read", "Microsoft.AzureStackHCI/clusters/*", "Microsoft.Authorization/roleAssignments/write", "Microsoft.Authorization/roleAssignments/read" ], "NotActions": [ ], "AssignableScopes": [ "/subscriptions/<subscriptionId>" ] }
カスタム ロールを作成します。
New-AzRoleDefinition -InputFile <path to customHCIRole.json>
ユーザーにカスタム ロールを割り当てます。
$user = get-AzAdUser -DisplayName <userdisplayname> $role = Get-AzRoleDefinition -Name "Azure Stack HCI registration role" New-AzRoleAssignment -ObjectId $user.Id -RoleDefinitionId $role.Id -Scope /subscriptions/<subscriptionid>
Register-AzStackHCI を使用してクラスターを登録できるようになりました。
このクラスターの登録を解除する必要がある場合は、カスタム ロールの作成時に JSON ファイルに Microsoft.Resources/subscriptions/resourceGroups/delete アクセス許可を追加します。
ArmAccessToken/SPN を使用してクラスターを登録操作方法
登録する前に、 前提条件 が満たされていることを確認します。
Note
これらの SPN 資格情報は、Azure Stack HCI への初期オンボードに使用されます。 Azure Stack HCI では、Arc オンボード用に個別の SPN 資格情報が作成されます。 Arc オンボード用のカスタム SPN を使用するには、SPN for Arc オンボード操作方法使用してクラスターを登録する方法に関するを参照してください。
'Connect-AzAccount' を実行して Azure に接続します。 SPN を使用して接続するには、次を使用できます。
- デバイス コード ベースの認証。 コマンドレットで
-DeviceCode
を使用します。 - 証明書ベースの認証。 証明書ベースの認証用に SPN を構成するには この記事を参照してください。 次に、証明書情報を受け入れる
Connect-AzAccount
コマンドレットで適切なパラメーターを使用します。 使用する SPN には、サブスクリプションに必要なすべてのアクセス許可が必要です 次に示します。
- デバイス コード ベースの認証。 コマンドレットで
$token = Get-AzAccessToken
を割り当てます。TenantId
、SubscriptionId
、ArmAccessToken
、およびAccountId
パラメーターと共にRegister-AzStackHCI を使用します。Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1 -Region <region> -ArmAccessToken $token.Token -AccountId $token.UserId
SPN for Arc オンボードを使用してクラスターを登録操作方法
次に示すのは、登録コマンドレットを実行するユーザーに Microsoft.Authorization/roleAssignments/write アクセス許可を割り当てることができない場合のガイドラインです。 そのような場合は、Arc オンボード ロール (Azure Connected Machine のオンボードと Azure Connected Machine リソース管理者) が割り当てられた事前作成済みの SPN を使い、-ArcSpnCredential
オプションを使って登録コマンドレットに資格情報を指定することができます。
Note
Azure Stack HCI では、この方法で作成された SPN の資格情報は更新されません。 SPN 資格情報の有効期限が近づいている場合は、資格情報を再生成し、"修復登録" フローを実行してクラスター上の SPN 資格情報を更新する必要があります。
Note
Microsoft.Authorization/roleAssignments/write アクセス許可を登録ロールに割り当てることができない場合は、PowerShell モジュール バージョン 1.4.1 以前を使用して Arc オンボードに SPN 資格情報を使用します。
登録の前に、前提条件と事前チェックが満たされていることを確認します。 クラスターを登録するユーザーには、クラスターの登録に使用されるサブスクリプションに "共同作成者" ロールが割り当てられているか、カスタム ロールが割り当てられている場合は次のアクセス許可の一覧があります。
- "Microsoft.Resources/subscriptions/resourceGroups/read",
- "Microsoft.Resources/subscriptions/resourceGroups/write",
- "Microsoft.AzureStackHCI/register/action"
- "Microsoft.AzureStackHCI/Unregister/Action"
- "Microsoft.AzureStackHCI/clusters/*"
- "Microsoft.Authorization/roleAssignments/read",
- "Microsoft.HybridCompute/register/action"
- "Microsoft.GuestConfiguration/register/action"
- "Microsoft.HybridConnectivity/register/action"
登録を解除する場合は、 Microsoft.Resources/subscriptions/resourceGroups/delete アクセス許可も付与されていることを確認します。
クラスターを登録し、サーバーを Arc 対応にするには、環境情報で更新した後、次の PowerShell コマンドを実行します。 次のコマンドでは、 Az.Resources (最小バージョン 5.6.0) と Az.Accounts (最小バージョン 2.7.6) が必要です。 get-installedModule <module name>
コマンドレットを使用して、PowerShell モジュールのインストールされているバージョンを確認できます。
#Connect to subscription
Connect-AzAccount -TenantId <tenant_id> -SubscriptionId <Subscription_ID> -Scope Process
#Create a new application registration
$app = New-AzADApplication -DisplayName "<unique_name>"
#Create a new SPN corresponding to the application registration
$sp = New-AzADServicePrincipal -ApplicationId $app.AppId -Role "Reader"
#Roles required on SPN for Arc onboarding
$AzureConnectedMachineOnboardingRole = "Azure Connected Machine Onboarding"
$AzureConnectedMachineResourceAdministratorRole = "Azure Connected Machine Resource Administrator"
#Assign roles to the created SPN
New-AzRoleAssignment -ObjectId $sp.Id -RoleDefinitionName $AzureConnectedMachineOnboardingRole | Out-Null
New-AzRoleAssignment -ObjectId $sp.Id -RoleDefinitionName $AzureConnectedMachineResourceAdministratorRole | Out-Null
# Set password validity time. SPN must be updated on the HCI cluster after this timeframe.
$pwdExpiryInYears = 300
$start = Get-Date
$end = $start.AddYears($pwdExpiryInYears)
$pw = New-AzADSpCredential -ObjectId $sp.Id -StartDate $start -EndDate $end
$password = ConvertTo-SecureString $pw.SecretText -AsPlainText -Force
# Create SPN credentials object to be used in the register-azstackhci cmdlet
$spnCred = New-Object System.Management.Automation.PSCredential ($app.AppId, $password)
Disconnect-AzAccount -ErrorAction Ignore | Out-Null
# Use the SPN credentials created previously in the register-azstackhci cmdlet
Register-AzStackHCI -SubscriptionId < Subscription_ID> -Region <region> -ArcSpnCredential:$spnCred
Azure Stack HCI リソースのリソース移動はサポートされていますか?
Azure Stack HCI リソースのリソース移動はサポートされていません。 リソースの場所を変更するには、最初にクラスター unregister してから、 Register-AzStackHCI コマンドレットで適切なパラメーターを渡して、新しい場所に再登録する必要があります。
一般的に使用される登録コマンドレットと Arc コマンドレットの一部は何ですか?
- Az.StackHCI PowerShell モジュール コマンドレットについては、「HCI PowerShell のドキュメント」を参照してください。
- Get-AzureStackHCI: Azure Stack HCI の現在のノード接続とポリシー情報を返します。
- Get-AzureStackHCIArcIntegration: ノード Arc 統合の状態を返します。
- Sync-AzureStackHCI:
- Azure との課金、ライセンス、調査の同期を実行します。
- システムは、このコマンドレットを 12 時間ごとに自動的に実行します。
- このコマンドレットは、クラスターのインターネット接続が長期間使用できない場合にのみ使用してください。
- サーバーの再起動直後にこのコマンドレットを実行しないでください。自動同期を実行します。 そうしないと、悪い状態になる可能性があります。
次のステップ
詳細については、次も参照してください。