CLI를 사용하여 캐시 노드 관리
이 문서에서는 Azure CLI를 사용하여 엔터프라이즈용 Microsoft Connected Cache 캐시 노드를 만들고 구성하고 배포하는 방법을 간략하게 설명합니다.
필수 조건:
- Azure CLI 설치: Azure CLI를 설치하는 방법
- 연결된 캐시 확장 설치: 아래 명령을 통해 연결된 캐시 확장 설치
az extension add --name mcc
확장 설치에 대한 자세한 내용은 연결된 캐시 확장 설치를 참조하세요.
1. 리소스 그룹 만들기
첫 번째 단계는 아직 리소스 그룹이 없는 경우 리소스 그룹을 만드는 것입니다. Azure 리소스 그룹은 Azure 리소스를 배포하고 관리하는 논리적 컨테이너입니다.
리소스 그룹을 만들려면 를 사용합니다 az group create
. 이 CLI 명령에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
az group create --name myrg --location westus
리소스 그룹이 만들어지면 엔터프라이즈용 Microsoft Connected Cache 리소스를 만들어야 합니다.
2. 연결된 캐시 Azure 리소스 만들기
연결된 캐시 Azure 리소스는 캐시 노드를 만들 수 있는 최상위 Azure 리소스입니다.
연결된 캐시 Azure 리소스를 만들려면 az mcc ent resource create
az mcc ent resource create --mcc-resource-name mymccresource --resource-group myrg
중요
출력에서 operationStatus를 찾습니다. operationStatus = Succeeded는 서비스가 연결된 캐시 리소스 만들기를 성공적으로 시작했음을 나타냅니다.
다음 단계는 이 리소스 아래에 캐시 노드를 만드는 것입니다.
3. 캐시 노드 만들기
캐시 노드를 만들려면 az mcc ent node create
az mcc ent node create --cache-node-name mycachenode --mcc-resource-name mymccresource --resource-group myrg --host-os <linux or windows>
중요
출력에서 operationStatus를 찾습니다. operationStatus = Succeeded는 서비스가 캐시 노드 만들기를 성공적으로 시작했음을 나타냅니다.
4. 캐시 노드 만들기 확인
캐시 노드 구성을 시작하기 전에 캐시 노드가 성공적으로 만들어졌는지 확인해야 합니다.
캐시 노드 만들기를 확인하려면 az mcc ent node show
az mcc ent node show --cache-node-name mycachenode --mcc-resource-name mymccresource --resource-group myrg
중요
출력에서 cacheNodeState를 찾습니다. cacheNodeState = 구성되지 않은 경우 캐시 노드 구성을 계속할 수 있습니다. cacheNodeState = 등록 진행 중이면 캐시 노드가 아직 만들어지는 중입니다. 1~2분 정도 기다렸다가 명령을 다시 실행하세요.
캐시 노드 만들기에 성공하면 캐시 노드 구성을 진행할 수 있습니다.
5. 캐시 노드 구성
캐시 노드를 구성하려면 az mcc ent node update
아래 예제에서는 프록시를 사용하도록 설정된 Linux 캐시 노드를 구성합니다.
az mcc ent node update --cache-node-name <mycachenode> --mcc-resource-name <mymccresource> --resource-group <myrg>
--cache-drive "[{physical-path:</physical/path>,size-in-gb:<size of cache drive>},{</physical/path>,size-in-gb:<size of cache drive>}...]"> --proxy <enabled> --proxy-host <"proxy host name"> --proxy-port <proxy port> --auto-update-day <day of week> --auto-update-time <time of day> --auto-update-week <week of month> --auto-update-ring <update ring>
참고
- Windows 호스트 OS에 배포할 캐시 노드의 경우 캐시 드라이브의 실제 경로는 /var/mcc여야 합니다.
- 출력에서 operationStatus를 찾습니다.
operationStatus = Succeeded는 서비스가 캐시 노드를 성공적으로 업데이트했음을 나타냅니다. cacheNodeState에 프로비전되지 않음이 표시됩니다.
- 프로비저닝 스크립트를 생성하는 데 이러한 값이 필요하므로 physicalPath, sizeInGb, proxyPort, proxyHostName 값을 저장하세요.
6. 캐시 노드에 대한 프로비저닝 세부 정보 가져오기
캐시 노드를 성공적으로 구성한 후 다음 단계는 호스트 컴퓨터에 캐시 노드를 배포하는 것입니다. 캐시 노드를 배포하려면 관련 정보가 포함된 프로비저닝 스크립트를 만들어야 합니다.
프로비저닝 스크립트에 대한 관련 정보를 얻으려면 az mcc ent node get-provisioning-details
az mcc ent node get-provisioning-details --cache-node-name mycachenode --mcc-resource-name mymccresource --resource-group myrg
중요
- cacheNodeId, customerKey, mccResourceId, registrationKey에 대한 결과 값을 저장합니다. 이러한 GUID는 프로비저닝 스크립트를 만드는 데 필요합니다.
- 출력에서 cacheNodeState를 찾습니다. cacheNodeState = 프로비전되지 않은 경우 캐시 노드 프로비저닝을 계속할 수 있습니다.
- cacheNodeState = 구성되지 않은 경우 캐시 노드가 구성되지 않았습니다. 프로비전하기 전에 캐시 노드를 구성합니다.
다음 단계
Windows 호스트 컴퓨터에 캐시 노드를 배포하려면 다음을 참조하세요.
Linux 호스트 컴퓨터에 캐시 노드를 배포하려면 다음을 참조하세요.
여러 캐시 노드를 대량으로 만들고 구성하는 예제 스크립트:
다음은 연결된 캐시 Azure 리소스 및 여러 연결된 캐시 캐시 노드의 대량 생성 및 구성을 스크립팅하는 방법의 의사 코드 예제입니다.
#Define variables
$mccResourceName = "myMCCResource"
$cacheNodeName = "demo-node"
$cacheNodeOperatingSystem = "Windows"
$resourceGroup = "myRG"
$resourceLocation = "westus"
$cacheNodesToCreate = 2
$proxyHost = "myProxy.com"
$proxyPort = "8080"
$waitTime = 3
# Create Microsoft Connected Cache Azure resource
az mcc ent resource create --mcc-resource-name $mccResourceName --location $resourceLocation --resource-group $resourceGroup
#Loop through $cacheNodesToCreate iterations
for ($cacheNodeNumber = 1; $cacheNodeNumber -le $cacheNodesToCreate; $cacheNodeNumber++) {
$iteratedCacheNodeName = $cacheNodeName + "-" + $cacheNodeNumber
#Create cache node
az mcc ent node create --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --host-os $cacheNodeOperatingSystem --resource-group $resourceGroup
#Get cache node state
$cacheNodeState = $(az mcc ent node show --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --resource-group $resourceGroup --query "cacheNodeState") | ConvertFrom-Json
$howLong = 0
#Wait until cache node state returns "Not Configured"
while ($cacheNodeState -ne "Not Configured") {
Write-Output "Waiting for cache node creation to complete...$howLong seconds"
Start-Sleep -Seconds $waitTime
$howLong += $waitTime
$cacheNodeState = $(az mcc ent node show --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --resource-group $resourceGroup --query "cacheNodeState") | ConvertFrom-Json
}
#Configure cache node
az mcc ent node update --cache-node-name $iteratedCacheNodeName --mcc-resource-name $mccResourceName --resource-group $resourceGroup --cache-drive "[{physical-path:/var/mcc,size-in-gb:50}]" --proxy enabled --proxy-host $proxyHost --proxy-port $proxyPort
}