この記事では、Azure CLI を使用して Compute Fleet リソースを作成してデプロイする手順を説明します
Azure CLI の最新版がインストールされていること、および az login で Azure アカウントにログインしていることを確認します。
Azure Cloud Shell を起動する
Azure Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 お使いのアカウントで使用できるように、一般的な Azure ツールがあらかじめインストールされ、設定されています。
Cloud Shell を開くには、コード ブロックの右上隅にある [Cloud Shell を開く] を選択します。 https://shell.azure.com/cli に移動して、別のブラウザー タブで Cloud Shell を起動することもできます。 [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けてから、Enter キーを押して実行します。
[前提条件]
- Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- コンピューティング フリートを使用する前に、機能の登録を完了し、ロールベースのアクセス制御 (RBAC) を構成します。
機能の登録
Azure CLI を使用して、Azure Compute Fleet リソース プロバイダーをサブスクリプションに登録します。 登録は、登録済みとして表示されるまで最大で 30 分かかる場合があります。
az provider register --namespace 'Microsoft.AzureFleet'
環境変数を定義する
次のように環境変数を定義します。
export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myFleetResourceGroup$RANDOM_ID"
export REGION=EastUS
export MY_FLEET_NAME="myFleet$RANDOM_ID"
export MY_USERNAME=azureuser
export MY_VNET_NAME="myVNet$RANDOM_ID"
export NETWORK_PREFIX="$(($RANDOM % 254 + 1))"
export MY_VNET_PREFIX="10.$NETWORK_PREFIX.0.0/16"
export MY_VM_SN_NAME="myVMSN$RANDOM_ID"
export MY_VM_SN_PREFIX="10.$NETWORK_PREFIX.0.0/24"
リソース グループを作成する
リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 すべてのリソースは、リソース グループに配置する必要があります。 次のコマンドでは、前に定義した $MY_RESOURCE_GROUP_NAME
と $REGION
パラメータを使用してリソース グループを作成します。
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
仮想ネットワークとサブネットを作成する
次に、前に定義した $MY_VNET_PREFIX
、 $MY_VM_SN_NAME
、および $MY_VM_SN_PREFIX
パラメーターを使用して仮想ネットワークを作成します。
az network vnet create --name $MY_VNET_NAME --resource-group $MY_RESOURCE_GROUP_NAME --location $REGION --address-prefix $MY_VNET_PREFIX --subnet-name $MY_VM_SN_NAME --subnet-prefix $MY_VM_SN_PREFIX
次のコマンドは、サブネット ARM ID を取得します。
export MY_SUBNET_ID="$(az network vnet subnet show \
--resource-group $MY_RESOURCE_GROUP_NAME \
--vnet-name $MY_VNET_NAME \
--name $MY_VM_SN_NAME \
--query id --output tsv)"
管理者パスワードを設定する
Azure VM のパスワード要件を満たすパスワードを設定します。
export ADMIN_PASSWORD="Azure compliant password"
Compute Fleet を作成する
基になる VM に適用されるコンピューティング プロファイルを設定します。
export COMPUTE_PROFILE="{ 'baseVirtualMachineProfile': { 'storageProfile': { 'imageReference': { 'publisher':'canonical', 'offer':'0001-com-ubuntu-server-focal', 'sku': '20_04-lts-gen2', 'version': 'latest' } }, 'osProfile': { 'computerNamePrefix': 'vm', 'adminUsername': '$MY_USERNAME', 'adminPassword': '$ADMIN_PASSWORD'}, 'networkProfile': { 'networkInterfaceConfigurations': [{ 'name': 'nic', 'primary': 'true', 'enableIPForwarding': 'true', 'ipConfigurations': [{ 'name': 'ipc', 'subnet': { 'id': '$MY_SUBNET_ID' } }] }], 'networkApiVersion': '2020-11-01'} } }"
az compute-fleet create --name $MY_FLEET_NAME --resource-group $MY_RESOURCE_GROUP_NAME --location $REGION \
--spot-priority-profile "{ 'capacity': 5 }" \
--regular-priority-profile "{ 'capacity': 5 }" \
--compute-profile "$COMPUTE_PROFILE" \
--vm-sizes-profile "[{ 'name': 'Standard_F1s' }]"
リソースをクリーンアップする (省略可能)
Azure の課金を回避するには、不要なリソースをクリーンアップする必要があります。 コンピューティングフリートやその他のリソースが不要になったら、az group delete を使用してリソース グループとそのすべてのリソースを 削除します。
--no-wait
パラメーターは、操作の完了を待たずにプロンプトに制御を戻します。
--yes
パラメーターは、別のプロンプトなしでリソースを削除することを確認します。