適用対象: Azure Local 2311.2 以降
この記事では、Azure Local に Azure Arc 拡張機能をインストール、アップグレード、管理する方法について説明します。
Azure Local でのカスタマー マネージド Azure Arc 拡張機能
Azure Arc 拡張機能は、Azure Local にインストール、アンインストール、更新できます。 Azure Arc を使用すると、Azure portal で監視や Windows Admin Center などのハイブリッド サービスを実行できます。
インストールして管理できる個々の拡張機能を次に示します。
Azure Local での Azure マネージド拡張機能
新しい Azure Local を Azure に正常に登録すると、Azure マネージド拡張機能がシステムに自動的にインストールされます。 これらの拡張機能は、システムの機能と品質に不可欠であり、アンインストールすることはできません。 Azure portal でこれらの拡張機能の動作を管理するには、 Extensions ページに移動し、 Settings メニューを選択します。
これらの拡張機能なしで Azure に登録されている既存の Azure Local がある場合は、Azure portal の Overview または Extensions ページにバナーが表示されます。 バナーの情報を使用して、これらの拡張機能をインストールする手順を説明します。
Azure で管理される拡張機能を次に示します。
拡張機能のインストール
スクリーンショットに示すように、Azure Local Arc 対応サーバーの Capabilities タブから拡張機能をインストールできます。 [機能] タブを使用して、ほとんどの拡張機能をインストールできます。
Azure portal に拡張機能をインストールすると、クラスター対応の操作になります。 拡張機能は、システムのすべてのノードにインストールされます。 システムにノードを追加すると、システムにインストールされているすべての拡張機能が新しいサーバーに自動的に追加されます。
Azure CLI は、Windows、macOS、Linux 環境にインストールできます。 また、Azure Cloud Shell で実行することもできます。 詳細については、「 Azure Cloud Shell のクイックスタートを参照してください。
Azure Cloud Shell を起動し次の手順に従って Bash を使用して拡張機能をインストールします。
サブスクリプション、リソース グループ、クラスターからパラメーターを設定する
subscription="00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
resourceGroup="hcicluster-rg" # Replace with your resource group name
az account set --subscription "${subscription}"
clusters=($(az graph query -q "resources | where type == 'microsoft.azurestackhci/clusters'| where resourceGroup =~ '${resourceGroup}' | project name" | jq -r '.data[].name'))
リソース グループのすべてのシステムに Windows Admin Center 拡張機能をインストールするには、次のコマンドを実行します。
extensionName="AdminCenter"
extensionType="AdminCenter"
extensionPublisher="Microsoft.AdminCenter"
settingsConfig="{'port':'6516'}"
connectivityProps="{enabled:true}"
for cluster in ${clusters}; do
echo "Enabling Connectivity for cluster $currentCluster"
az stack-hci arc-setting update \
--resource-group ${resourceGroup} \
--cluster-name ${cluster} \
--name "default" \
--connectivity-properties ${connectivityProps}
echo "Installing extension: ${extensionName} on cluster: ${cluster}"
az stack-hci extension create \
--arc-setting-name "default" \
--cluster-name "${cluster}" \
--resource-group "${resourceGroup}" \
--name "${extensionName}" \
--auto-upgrade "true" \
--publisher "${extensionPublisher}" \
--type "${extensionType}" \
--settings "${settingsConfig}"
done
リソース グループのすべてのシステムに Azure Monitor エージェント拡張機能をインストールするには、次のコマンドを実行します。
extensionName="AzureMonitorWindowsAgent"
extensionType="AzureMonitorWindowsAgent"
extensionPublisher="Microsoft.Azure.Monitor"
for cluster in ${clusters}; do
echo "Installing extension: ${extensionName} on cluster: ${cluster}"
az stack-hci extension create \
--arc-setting-name "default" \
--cluster-name "${cluster}" \
--resource-group "${resourceGroup}" \
--name "${extensionName}" \
--auto-upgrade "true" \
--publisher "${extensionPublisher}" \
--type "${extensionType}"
done
リソース グループのすべてのシステムに Azure Site Recovery 拡張機能をインストールするには、次のコマンドを実行します。
asrSubscription="00000000-0000-0000-0000-000000000000" # Replace with your ASR subscription ID
asrResourceGroup="asr-rg" # Replace with your ASR resource group
asrVaultName="asr-vault" # Replace with your ASR vault name
asrLocation="East US" # Replace with your ASR Location
asrSiteId="00000000-0000-0000-0000-000000000000" # Replace with your ASR Site ID
asrSiteName="asr-site" # Replace with your Site Name
asrSitePolicyId="/subscriptions/${asrSubscription}/resourceGroups/${asrResourceGroup}/providers/Microsoft.RecoveryServices/vaults/${asrVaultName}/replicationPolicies/s-cluster-policy" # Replace with your Site Policy name
extensionName="ASRExtension"
extensionType="Windows"
extensionPublisher="Microsoft.SiteRecovery.Dra"
jsonFile="./tmp-asr.json" #Temp JSON file
echo "{\"SubscriptionId\": \"${asrSubscription}\", \"Environment\": \"AzureCloud\",\"ResourceGroup\": \"${asrResourceGroup}\",\"Location\": \"${asrLocation}\",\"SiteId\": \"${asrSiteId}\", \"SiteName\": \"${asrSiteName}\", \"PolicyId\": \"${asrSitePolicyId}\", \"PrivateEndpointStateForSiteRecovery\": \"None\" }" > ${jsonFile}
for cluster in ${clusters}; do
echo "Installing extension: ${extensionName} on cluster: ${cluster}"
az stack-hci extension create \
--arc-setting-name "default" \
--cluster-name "${cluster}" \
--resource-group "${resourceGroup}" \
--name "${extensionName}" \
--auto-upgrade "true" \
--publisher "${extensionPublisher}" \
--type "${extensionType}" \
--settings "${jsonFile}"
done
Azure PowerShell は、Azure Cloud Shell で実行できます。 このドキュメントでは、Azure Cloud Shell で PowerShell を使用する方法について詳しく説明します。 詳細については、「 Azure Cloud Shell のクイックスタートを参照してください。
Azure Cloud Shell を起動し次の手順に従って PowerShell を使用して拡張機能をインストールします。
サブスクリプション、リソース グループ、およびクラスターからパラメーターを設定します。
$subscription = "00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
Set-AzContext -Subscription "${subscription}"
$clusters = Get-AzResource -ResourceType "Microsoft.AzureStackHCI/clusters" -ResourceGroupName ${resourceGroup} | Select-Object -Property Name
リソース グループのすべてのシステムに Windows Admin Center 拡張機能をインストールするには、次のコマンドを実行します。
$extensionName = "AdminCenter"
$extensionType = "AdminCenter"
$extensionPublisher = "Microsoft.AdminCenter"
$settingsConfig = @{"port" = 6516 }
foreach ($cluster in $clusters) {
$clusterName = ${cluster}.Name
Write-Output ("Enable connectivity for cluster ${clusterName}")
Invoke-AzRestMethod `
-Method PATCH `
-SubscriptionId ${subscription} `
-ResourceGroupName ${resourceGroup} `
-ResourceProviderName "Microsoft.AzureStackHCI" `
-ResourceType ("clusters/" + ${clusterName} + "/arcSettings") `
-Name "default" `
-ApiVersion "2023-02-01" `
-Payload (@{"properties" = @{ "connectivityProperties" = @{ "enabled" = $true } } } | ConvertTo-Json -Depth 5)
Write-Output ("Installing Extension '${extensionName}' on cluster ${clusterName}")
New-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}" `
-ExtensionParameterPublisher "${extensionPublisher}" `
-ExtensionParameterType "${extensionType}" `
-ExtensionParameterSetting ${settingsConfig} `
-NoWait
}
リソース グループのすべてのシステムに Azure Monitor エージェント拡張機能をインストールするには、次のコマンドを実行します。
$extensionName = "AzureMonitorWindowsAgent"
$extensionType = "AzureMonitorWindowsAgent"
$extensionPublisher = "Microsoft.Azure.Monitor"
foreach ($cluster in $clusters) {
$clusterName = ${cluster}.Name
Write-Output ("Installing Extension '${extensionType}/${extensionPublisher}' on cluster ${clusterName}")
New-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}" `
-ExtensionParameterPublisher "${extensionPublisher}" `
-ExtensionParameterType "${extensionType}"
}
リソース グループのすべてのシステムに Azure Site Recovery 拡張機能をインストールするには、JSON パラメーター ファイルを作成し、次のコマンドを実行します。
$settings = @{
SubscriptionId = "<Replace with your Subscription Id>"
Environment = "<Replace with the cloud environment type. For example: AzureCloud>"
ResourceGroup = "<Replace with your Site Recovery Vault resource group>"
ResourceName = "<Replace with your Site Recovery Vault Name>"
Location = "<Replace with your Site Recovery Azure Region>"
SiteId = "<Replace with the ID of your recovery site>"
SiteName = "<Replace with your recovery site name>"
PolicyId = "<Replace with resource ID of your recovery site policy>"
PrivateEndpointStateForSiteRecovery = "None"
}
$extensionName = "ASRExtension"
$extensionType = "Windows"
$extensionPublisher = "Microsoft.SiteRecovery.Dra"
foreach ($cluster in $clusters) {
$clusterName = ${cluster}.Name
Write-Output ("Installing Extension '${extensionType}/${extensionPublisher}' on cluster ${clusterName}")
New-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}" `
-ExtensionParameterPublisher "${extensionPublisher}" `
-ExtensionParameterType "${extensionType}" `
-ExtensionParameterSetting ${settings} `
-NoWait
}
拡張機能の状態を確認する
グリッドの status 列を表示することで、Extensions ページから各サーバーの拡張機能の状態を確認できます。
Azure CLI は、Windows、macOS、Linux 環境にインストールできます。 また、Azure Cloud Shell で実行することもできます。 詳細については、「 Azure Cloud Shell のクイックスタートを参照してください。
Azure Cloud Shell を起動し Bash を使用して、次の手順に従って拡張機能の状態を確認します。
サブスクリプション、リソース グループ、クラスター名、拡張機能名からパラメーターを設定する
subscription="00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
resourceGroup="hcicluster-rg" # Replace with your resource group name
clusterName="HCICluster" # Replace with your cluster name
extensionName="AzureMonitorWindowsAgent" # Replace with the extension name
az account set --subscription "${subscription}"
システム上のすべての拡張機能を一覧表示するには、次のコマンドを実行します。
az stack-hci extension list \
--arc-setting-name "default" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}" \
-o table
AzureMonitorWindowsAgent
などの特定の拡張機能を除外するには、次のコマンドを実行します。
az stack-hci extension list \
--arc-setting-name "default" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}" \
--query "[?name=='${extensionName}'].{Name:name, ManagedBy:managedBy, ProvisionStatus:provisioningState, State:aggregateState, Type:extensionParameters.type}" \
-o table
Azure PowerShell は、Azure Cloud Shell で実行できます。 このドキュメントでは、Azure Cloud Shell で PowerShell を使用する方法について詳しく説明します。 詳細については、「 Azure Cloud Shell のクイックスタートを参照してください。
Azure Cloud Shell を起動し次の手順に従って PowerShell を使用して拡張機能の状態を確認します。
サブスクリプション、リソース グループ、およびクラスター名からパラメーターを設定する
$subscription = "00000000-0000-0000-0000-000000000000" # Replace with your subscription ID
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
Set-AzContext -Subscription "${subscription}"
$clusters = Get-AzResource -ResourceType "Microsoft.AzureStackHCI/clusters" -ResourceGroupName ${resourceGroup} | Select-Object -Property Name
システム上のすべての拡張機能を一覧表示するには、次のコマンドを実行します。
foreach ($cluster in $clusters) {
$clusterName = ${cluster}.Name
Get-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default"|Format-Table -Property Name, ParameterType, ParameterPublisher, ParameterEnableAutomaticUpgrade, ProvisioningState
}
拡張機能のアップグレードのしくみ
拡張機能パブリッシャー チームによって公開されると、拡張機能のアップグレード プロセスによって、既存の拡張機能のバージョンが新しくサポートされているバージョンに置き換えられます。 既定では、自動アップグレードを明示的にオプトアウトしない限り、Azure Local Arc 対応クラスターにデプロイされているすべての拡張機能に対して拡張機能の自動アップグレード機能が有効になります。
現在、拡張機能の自動アップグレードは Windows Admin Center 拡張機能でのみサポートされていますが、今後さらに拡張機能が追加される予定です。
注記
既定では、すべての拡張機能が自動アップグレードを有効にするように設定されていますが、この設定は発行元がサポートしている場合にのみ機能します。 拡張機能が自動アップグレードを有効にするように設定されていない場合、アップグレードはソリューションの更新プロセス中に行われます。 時間の経過と同時に、拡張機能の手動アップグレードは自動アップグレードに移行します。
拡張機能の自動アップグレードを有効にする
一部の拡張機能では、拡張機能管理を使用して自動アップグレードを有効にすることができます。
自動アップグレードを有効にするには、 Extensions ページに移動し、次の手順を実行します。
自動アップグレードを有効にする拡張機能を選択します。
上部のメニューから 自動アップグレードを実行する を選択します
意図の確認を求められたら、 OKを選択します。
特定の拡張機能の自動アップグレードをインストールして有効にするには、次のコマンド AzureMonitorWindowsAgent
実行します。
clusterName="HCICluster" # Replace with your cluster name
resourceGroup="hcicluster-rg" # Replace with your resource group name
extensionName="AzureMonitorWindowsAgent"
extensionPublisher="Microsoft.Azure.Monitor"
extensionType="AzureMonitorWindowsAgent"
az stack-hci extension create \
--name "${extensionName}" \
--arc-setting-name "default" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}" \
--publisher ${extensionPublisher} \
--type ${extensionType} \
--auto-upgrade "true"
特定の拡張機能の自動アップグレードをインストールして有効にするには、次のコマンド AzureMonitorWindowsAgent
実行します。
$clusterName = "HCICluster" # Replace with your cluster name
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
$extensionName = "AzureMonitorWindowsAgent"
$extensionType = "AzureMonitorWindowsAgent"
$extensionPublisher = "Microsoft.Azure.Monitor"
New-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}" `
-ExtensionParameterPublisher "${extensionPublisher}" `
-ExtensionParameterType "${extensionType}" `
-ExtensionParameterEnableAutomaticUpgrade
Azure portal を使用した拡張機能の手動アップグレード
拡張機能の手動アップグレードは、 自動拡張機能のアップグレードと同様に機能します。 Azure Local Arc 対応クラスターでは、拡張機能を手動でアップグレードすると、選択したバージョンが保存されます。 その後、Azure はクラスター内のすべてのノードの拡張機能をそのバージョンにアップグレードしようとします。
一部のサーバーでは、拡張機能のアップグレードに失敗した場合、プラットフォームは次の Azure ローカル クラウド同期中に選択したバージョンへのアップグレードを試みます。
次のシナリオでは、手動ワークフローを使用します。
拡張機能を手動でアップグレードするには、次の手順に従います。
Extensions ページに移動します。
アップグレードする拡張機能を選択し、上部のメニューから Settings を選択します。
最新バージョンを選択し、 保存を選択します。
拡張機能の自動アップグレードを無効にする
Azure portal で特定の拡張機能の自動アップグレードを無効にすることができます。 自動アップグレードを無効にするには、 Extensions ページに移動し、次の手順を実行します。
自動アップグレードを無効にする拡張機能を選択します。
上部のメニューから Disable automatic upgrade を選択します。
意図の確認を求められたら、 OKを選択します。
拡張機能のアップグレード履歴を確認する
個々の Azure Arc 対応サーバー リソース、リソース グループ、サブスクリプションの [アクティビティ ログ] タブを表示して、個々のノードの拡張機能の自動アップグレードの履歴を確認できます。 詳細については、「 拡張機能の自動アップグレード履歴を確認するを参照してください。
可用性優先の更新
アップグレードを行う Azure Local Arc 対応クラスターのグループの場合、Azure プラットフォームはアップグレードを調整するために Automatic 拡張機能のアップグレード モデルを使用しました。
拡張機能の自動アップグレードのタイミング
サポートされている拡張機能の新しいバージョンが公開されると、Azure Arc 対応サーバーへのインストールと手動アップグレードが可能になります。 アップグレードは Azure リージョンとサブスクリプション全体でバッチで発行されるため、一部のサーバーで拡張機能のアップグレードが行われる可能性があります。 詳細については、「拡張機能の自動アップグレードのタイミング」に関する記事を参照してください。
拡張機能をすぐにアップグレードするには、Azure portal を使用した Manual 拡張機能のアップグレードを参照してください。
自動ロールバックと再試行
拡張機能のアップグレードが失敗した場合、Azure は拡張機能の修復を試みるために、 自動ロールバックと再試行 に関連付けられているアクションを実行します。
拡張機能のアップグレードで問題が引き続き発生する場合は、拡張機能の自動アップグレードを無効にすることができます。 自動アップグレードを無効にすると、問題のトラブルシューティング中にシステムの再試行が防止されます。 準備が整った時点で再び拡張機能の自動アップグレードを有効にできます。
複数の拡張機能を使用したアップグレード
1 つのノードで複数の拡張機能のアップグレードを使用できる場合は、まとめてバッチ処理される可能性があります。 ただし、各拡張機能のアップグレードはノードに個別に適用されます。 詳細については、「 Extension の複数の拡張機能を使用したアップグレードを参照してください。
拡張機能をアンインストールする
必要に応じて、Azure Portal で Azure Local からいくつかの拡張機能をアンインストールできます。 拡張機能をアンインストールするには、次の手順に従います。
Extensions ページに移動します。
アンインストールする拡張機能を選択します。 アンインストール ボタンは、Azure で管理される拡張機能では使用できません。
上部のメニューから Uninstall を選択します。
意図を確認し、 Yes を選択します。
AzureMonitorWindowsAgent
のような特定の拡張機能を削除するには、次のコマンドを実行します。
extensionName="AzureMonitorWindowsAgent" # Replace with the extension name
resourceGroup="hcicluster-rg" # Replace with your resource group name
clusterName="HCICluster" # Replace with your cluster name
az stack-hci extension delete \
--arc-setting-name "default" \
--name "${extensionName}" \
--cluster-name "${clusterName}" \
--resource-group "${resourceGroup}"
AzureMonitorWindowsAgent
のような特定の拡張機能を削除するには、次のコマンドを実行します。
$clusterName = "HCICluster" # Replace with your cluster name
$resourceGroup = "hcicluster-rg" # Replace with your resource group name
$extensionName = "AzureMonitorWindowsAgent"
Remove-AzStackHciExtension `
-ClusterName "${clusterName}" `
-ResourceGroupName "${resourceGroup}" `
-ArcSettingName "default" `
-Name "${extensionName}"
拡張機能のエラーのトラブルシューティング
拡張機能の状態: 失敗
推奨事項: 状態が失敗した拡張機能の場合は、 Failed (詳細の表示) リンクを選択します。 エラーに関するすべての情報を表示し、トラブルシューティングのヒントを適用します。
次のステップ
Azure Arc 対応サーバー 仮想マシン拡張機能の管理について説明します。