적용 대상: Azure Local 2311.2 이상
이 문서에서는 Azure Local에서 Azure Arc 확장을 설치, 업그레이드 및 관리하는 방법을 설명합니다.
Azure 로컬의 고객 관리형 Azure Arc 확장
Azure Local에서 Azure Arc 확장을 설치, 제거 및 업데이트할 수 있습니다. Azure Arc를 사용하면 Azure Portal에서 모니터링 및 Windows Admin Center와 같은 하이브리드 서비스를 실행할 수 있습니다.
다음은 설치 및 관리할 수 있는 개별 확장입니다.
Azure 로컬의 Azure 관리형 확장
Azure에 새 Azure Local을 성공적으로 등록하면 Azure 관리형 확장이 시스템에 자동으로 설치됩니다. 이러한 확장은 시스템의 기능과 품질에 필수적이며 제거할 수 없습니다.
설정 메뉴를 선택하여 확장 페이지의 Azure Portal에서 확장 동작을 관리할 수 있습니다.
이러한 확장 없이 Azure에 등록된 기존 Azure Local이 있는 경우 Azure Portal의 개요 또는 확장 페이지에 배너가 표시됩니다. 배너의 정보를 사용하여 이러한 확장을 설치하는 방법을 안내할 수 있습니다.
Azure 관리형 확장에는 다음이 포함됩니다.
확장 설치
스크린샷과 같이 기능 탭을 사용하여 Azure 로컬 Arc 지원 서버에 대한 확장을 설치할 수 있습니다. 이 탭을 사용하여 대부분의 확장을 설치할 수 있습니다.
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 Cloud Shell에서 Azure 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
}
확장 상태 확인
그리드의 상태 열을 확인하여 확장 페이지에서 각 서버의 확장상태를 확인할 수 있습니다.
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에 대한 빠른 시작을 참조하세요.
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 로컬 Arc 지원 클러스터에 배포된 모든 확장에 대해 사용하도록 설정됩니다.
현재 자동 확장 업그레이드는 Windows Admin Center 확장에서만 지원되지만 나중에 더 많은 확장이 추가될 예정입니다.
참고
기본적으로 모든 확장은 자동 업그레이드를 사용하도록 설정되지만 이 설정은 게시자가 지원하는 경우에만 작동합니다. 자동 업그레이드를 사용하도록 확장이 설정되지 않은 경우 업그레이드는 솔루션 업데이트 프로세스 중에 발생합니다. 시간이 지남에 따라 수동 확장 업그레이드는 자동 업그레이드로 전환됩니다.
자동 확장 업그레이드 사용
일부 확장의 경우 확장 관리를 통해 자동 업그레이드를 사용하도록 설정할 수 있습니다.
자동 업그레이드를 사용하도록 설정하려면 확장 페이지로 이동하여 다음 단계를 수행합니다.
자동 업그레이드를 사용하도록 설정할 확장을 선택합니다.
위쪽 메뉴에서 자동 업그레이드 사용 선택
의도를 확인하라는 메시지가 표시되면 확인을 선택합니다.
특정 확장 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 로컬 Arc 지원 클러스터에서 확장을 수동으로 업그레이드하면 Azure에서 선택한 버전을 저장합니다. 그런 다음 Azure는 클러스터의 모든 노드에서 확장을 해당 버전으로 업그레이드하려고 시도합니다.
수동 업그레이드를 위해 확장이 지원되는지 확인합니다.
일부 서버에서 확장 업그레이드가 실패하면 플랫폼은 다음 Azure 로컬 클라우드 동기화 중에 선택한 버전으로 업그레이드하려고 시도합니다.
다음 시나리오에서 수동 워크플로를 사용합니다.
확장을 수동으로 업그레이드하려면 다음 단계를 수행합니다.
확장 페이지로 이동합니다.
업그레이드할 확장을 선택하고 상단 메뉴에서 설정을 선택합니다.
최신 버전을 선택하고 저장을 선택합니다.
수동 업그레이드에 지원되지 않는 확장
Azure Portal을 통해 Azure Local Machine 페이지에서 Azure Arc 확장을 수동으로 업데이트하면 배포 중에 문제가 발생할 수 있습니다. 수동으로 업데이트해서는 안 되는 확장은 그림에 표시된 AzureEdgeDeviceManagement
, AzureEdgeLifecycleManager
, AzureEdgeAKVBackupForWindows
입니다.
자동 확장 업그레이드 사용 안 함
Azure Portal에서 특정 확장에 대해 자동 업그레이드를 사용하지 않도록 설정할 수 있습니다. 자동 업그레이드를 사용하지 않도록 설정하려면 확장 페이지로 이동하여 다음 단계를 수행합니다.
자동 업그레이드를 사용하지 않도록 설정할 확장을 선택합니다.
위쪽 메뉴에서 자동 업그레이드 사용 안 함을 선택합니다.
의도를 확인하라는 메시지가 표시되면 확인을 선택합니다.
확장 업그레이드 기록 확인
개별 Azure Arc 지원 서버 리소스, 리소스 그룹 및 구독에서 활동 로그 탭을 보고 개별 노드에 대한 자동 확장 업그레이드 기록을 확인할 수 있습니다. 자세한 내용은 자동 확장 업그레이드 기록 확인을 참조하세요.
가용성 우선 업데이트
업그레이드를 진행 중인 Azure 로컬 Arc 지원 클러스터 그룹의 경우 Azure 플랫폼은 자동 확장 업그레이드 모델을 사용하여 업그레이드를 오케스트레이션했습니다.
자동 확장 업그레이드 시기
지원되는 확장의 새 버전이 게시되면 Azure Arc 지원 서버에서 설치 및 수동 업그레이드에 사용할 수 있게 됩니다. 업그레이드는 Azure 지역 및 구독에서 일괄 처리로 실행되므로 일부 서버에서 다른 서버 이전에 확장 업그레이드가 발생하는 것을 볼 수 있습니다. 자세한 내용은 자동 확장 업그레이드 타이밍을 참조하세요.
확장을 즉시 업그레이드하려면 Azure Portal을 통한 수동 확장 업그레이드를 참조하세요.
자동 롤백 및 다시 시도
확장 업그레이드가 실패하면 Azure는 자동 롤백과 관련된 작업을 수행하고 확장을 복구하기 위해 다시 시도합니다.
확장 업그레이드에 문제가 계속 발생하면 자동 확장 업그레이드를 사용하지 않도록 설정할 수 있습니다. 자동 업그레이드를 사용하지 않도록 설정하면 문제를 해결하는 동안 시스템 재시도를 방지합니다. 준비가 되면 자동 확장 업그레이드를 다시 사용하도록 설정할 수 있습니다.
여러 확장 기능이 포함된 업그레이드
노드에 대해 여러 확장 업그레이드를 사용할 수 있는 경우 함께 일괄 처리될 수 있습니다. 그러나 각 확장 업그레이드는 노드에 개별적으로 적용됩니다. 자세한 내용은 여러 확장이 있는 확장 업그레이드를 참조하세요.
확장 제거
필요한 경우 Azure Portal의 Azure Local에서 일부 확장을 제거할 수 있습니다. 확장을 제거하려면 다음 단계를 사용합니다.
확장 페이지로 이동합니다.
제거할 확장을 선택합니다. 제거 단추는 Azure 관리 확장에 사용할 수 없습니다.
위쪽 메뉴에서 제거 를 선택합니다.
확장을 제거할지 확인하고 예를 선택합니다.
같은 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}"
다음 단계
Azure Arc 지원 서버를 사용한 가상 머신 확장 관리에 대해 알아봅니다.