Azure Stack HCI クラスターの登録を管理する

適用対象: Azure Stack HCI バージョン 22H2 および 21H2

クラスターの構成と要件によっては、クラスターを 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 登録の場合、 接続 済みとは、クラスターが既に Azure に登録されており、最終日にクラウドに正常に同期されたことを意味します。

  • Arc 対応サーバーの場合、Connected は、すべての物理サーバーが Arc 対応であり、Azure portalから管理できることを意味します。

    クラスター接続状態を示す Windows Admin Center ダッシュボードのスクリーンショット。

詳細については、左側の [ツール] メニューから [Azure Arc] を選択します。

注意

Azure Arc ダッシュボードは現在パブリック プレビュー段階です。

Azure Stack HCI 登録情報を取得するための選択を示すスクリーンショット。

[ 概要 ] ページには、Azure Stack HCI 登録と Arc 対応サーバーに関する概要の状態情報が表示されます。 いずれかのタイルをクリックすると、個々のページに移動できます。

登録に関する状態情報のスクリーンショット。

Azure Stack HCI 登録ページでは、Azure Stack HCI システムとサーバーの両方の状態を表示できます。 これには、Azure 接続の状態と最後の Azure 同期が含まれます。トラブルシューティングのドキュメントとクラスター拡張機能への 便利なリンク が表示されます。 必要に応じて 登録を解除 できます。

サーバーの状態のスクリーンショット。

クラスターが 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 統合を有効にするには、次の手順に従います。

  1. 管理 PC に Az.Resources モジュールの最新バージョンをインストールします。

    Install-Module -Name Az.Resources
    
  2. 管理 PC に Az.StackHCI モジュールの最新バージョンをインストールします。

    Install-Module -Name Az.StackHCI
    
  3. 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 エージェントをアップグレードするには、次の手順に従います。

  1. サーバー構成ツール (Sconfig) で、更新プログラムをインストールするオプション (オプション 6) を選択します。

    更新プログラムをインストールするオプションを示す SConfig のスクリーンショット。

  2. すべての品質更新プログラムのオプション (オプション 1) を選択します。

  3. Arc エージェントのみを更新するか、すべての更新プログラムをインストールするかを選択できます。

    Sconfig オプション。

  4. 各ノードで PowerShell から azcmagent version を実行して、Arc エージェントのバージョンを確認します。

Azure Stack HCI の登録を解除します

Windows Admin Centerまたは PowerShell を使用して、Azure Stack HCI の登録を解除できます。

登録解除プロセスでは、クラスターを表す Azure リソース、Azure リソース グループ (登録中にグループが作成され、他のリソースが含まれていない場合)、およびMicrosoft Entraアプリ ID が自動的にクリーンアップされます。 このクリーンアップにより、Azure Arc による監視、サポート、課金のすべての機能が停止します。

次の手順に従って、Windows Admin Center経由で Azure Stack HCI クラスターの登録を解除します。

  1. Windows Admin Centerを使用してクラスターに接続します。

  2. 左側のメニューから [Azure Arc ] を選択します。

  3. [ Azure Stack HCI の登録] を選択し、[ 登録解除 ] ボタンを選択してから、もう一度 [登録解除 ] を選択します。

注意

Windows Admin Center ゲートウェイが、最初にクラスターの登録に使用された別のMicrosoft Entra テナント ID に登録されている場合、Windows Admin Centerを使用してクラスターの登録を解除しようとすると問題が発生する可能性があります。 このような場合は、次のセクションの PowerShell の手順を使用できます。

正常に登録が解除されなかったクラスターをクリーンアップする

ユーザーがホスト サーバーの再イメージングや仮想クラスター ノードの削除などによって、Azure Stack HCI クラスターの登録を解除せずに破棄すると、成果物が Azure に残されます。 そのような成果物は無害であり、課金されたり、リソースを消費したりすることはありませんが、そのせいで Azure portal が煩雑になることはあります。 これを整理するために、手動で削除することができます。

Azure Stack HCI リソースを削除するには、Azure portal内のリソースに移動し、アクション バーから [削除] を選択します。 コマンドレットを実行すると、リソースの詳細を Get-AzureStackHCI 取得できます。

Azure Stack HCI は、登録の一部として resourceName と resourceName.arc という 2 つのMicrosoft Entra アプリケーション作成します。それらを削除するには、[Microsoft Entra ID>App Registrations All Applications]\(アプリの登録\) [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 登録のトラブルシューティング」を参照してください。

FAQ

よく寄せられる質問に対する回答を見つけます。

より制限されたカスタム権限ロールを使用するにはどうすればよいですか?

PowerShell を使用して Azure アクセス許可を割り当てる」の説明に従って、Azure Stack HCI 登録の実行に必要なアクセス許可をさらに減らすことができます。ただし、以下で説明する操作の一部は、共同作成者とユーザー アクセス管理者ロールを持つユーザーによって帯域外で既に実行されています。

  1. 必要なリソース プロバイダーを登録します。 クラスターの登録に使用するサブスクリプションにサインインします。 >リソース プロバイダーの設定で、次のリソース プロバイダーを選択し、登録 を選択します。

    • Microsoft.AzureStackHCI
    • Microsoft.HybridCompute
    • Microsoft.GuestConfiguration
    • Microsoft.HybridConnectivity
  2. リソース グループを作成します。 Azure Stack HCI リソースが投影されるリソース グループが、特権ユーザーによって事前に作成されていることを確認します。 詳細については、 前提条件に関するセクションを 参照してください。

    これら 2 つの前提条件を設定したら、カスタム ロールを作成し、次に説明するように登録に使用します。 まず、次の内容を 含む customHCIRole.json という名前の JSON ファイルを作成します。 必ず <subscriptionID> を Azure サブスクリプション ID に変更してください。 サブスクリプション ID を取得するには、Azure portalにアクセスし、[サブスクリプション] に移動し、一覧から 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>"
       ]
    }
    
  3. カスタム ロールを作成します。

    New-AzRoleDefinition -InputFile <path to customHCIRole.json>
    
  4. ユーザーにカスタム ロールを割り当てます。

    $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 を使用してクラスターを登録操作方法

登録の前に、 前提条件 が満たされていることを確認します。

注意

これらの SPN 資格情報は、Azure Stack HCI への初期オンボードに使用されます。 Azure Stack HCI では、Arc オンボード用に個別の SPN 資格情報が作成されます。 Arc オンボードにカスタム SPN を使用するには、「操作方法 Arc オンボードに SPN を使用してクラスターを登録する」を参照してください。

  1. 'Connect-AzAccount' を実行して Azure に接続します。 SPN を使用して接続するには、次を使用できます。

    • デバイス コードベースの認証。 コマンドレットで を使用 -DeviceCode します。
    • 証明書ベースの認証。 証明書ベースの認証用に SPN を構成するには、この記事を参照してください。 次に、証明書情報を Connect-AzAccount 受け入れるコマンドレットで適切なパラメーターを使用します。 使用する SPN には、 次に示すように、サブスクリプションに必要なすべてのアクセス許可が必要です。
  2. を割り当てます $token = Get-AzAccessToken

  3. Register-AzStackHCI は、および パラメーターとAccountIdArmAccessTokenTenantIdSubscriptionIdに次のように使用します。

    Register-AzStackHCI -TenantId "<tenant_ID>" -SubscriptionId "<subscription_ID>" -ComputerName Server1 -Region <region> -ArmAccessToken $token.Token -AccountId $token.UserId
    

ARC オンボードに SPN を使用してクラスターを登録操作方法。

次に示すのは、登録コマンドレットを実行するユーザーに Microsoft.Authorization/roleAssignments/write アクセス許可を割り当てることができない場合のガイドラインです。 そのような場合は、Arc オンボード ロール (Azure Connected Machine のオンボードAzure Connected Machine リソース管理者) が割り当てられた事前作成済みの SPN を使い、-ArcSpnCredential オプションを使って登録コマンドレットに資格情報を指定することができます。

注意

Azure Stack HCI では、この方法で作成された SPN の資格情報は更新されません。 SPN 資格情報の有効期限が近づいている場合は、資格情報を再生成し、"修復登録" フローを実行してクラスター上の SPN 資格情報を更新する必要があります。

注意

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 リソースのリソース移動はサポートされていません。 リソースの場所を変更するには、まずクラスターの 登録を解除 してから、 Register-AzStackHCI コマンドレットで適切なパラメーターを渡して、新しい場所に再登録する必要があります。

より一般的に使用される登録と Arc コマンドレットの一部は何ですか?

  • Az.StackHCI PowerShell モジュール コマンドレットについては、「HCI PowerShell のドキュメント」を参照してください。
  • Get-AzureStackHCI: Azure Stack HCI の現在のノード接続とポリシー情報を返します。
  • Get-AzureStackHCIArcIntegration: ノード Arc 統合の状態を返します。
  • Sync-AzureStackHCI:
    • Azure との課金、ライセンス、調査の同期を実行します。
    • システムは、このコマンドレットを 12 時間ごとに自動的に実行します。
    • このコマンドレットは、クラスターのインターネット接続が長期間使用できない場合にのみ使用してください。
    • サーバーの再起動直後にこのコマンドレットを実行しないでください。自動同期を実行します。 そうしないと、悪い状態になる可能性があります。

次のステップ

詳細については、次も参照してください。