CLI を使用してキャッシュ ノードを管理する
この記事では、Azure CLI を使用して Microsoft Connected Cache for Enterprise キャッシュ ノードを作成、構成、デプロイする方法について説明します。
前提条件:
- 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 for Enterprise リソースを作成する必要があります。
2. 接続キャッシュ Azure リソースを作成する
Connected Cache 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 = Not Provisioned の場合は、キャッシュ ノードのプロビジョニングを続行できます。
- 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
}