快速入門:在 Azure 上使用 Azure CLI 建立 Linux 虛擬機
適用於:✔️ Linux VM
本快速入門示範如何使用 Azure CLI 在 Azure 中部署 Linux 虛擬機器 (VM)。 Azure CLI 可用來透過命令列或指令碼建立和管理 Azure 資源。
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
啟動 Azure Cloud Shell
Azure Cloud Shell 是免費的互動式 Shell,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。
若要開啟 Cloud Shell,只要選取程式碼區塊右上角的 [試試看] 即可。 您也可以移至 https://shell.azure.com/bash,從另一個瀏覽器索引標籤開啟 Cloud Shell。 選取 [複製] 即可複製程式碼區塊,將它貼到 Cloud Shell 中,然後選取 Enter 鍵加以執行。
如果您偏好在本機安裝和使用 CLI,本快速入門需要有 Azure CLI 2.0.30 版或更新版本。 執行 az --version
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。
定義環境變數
第一個步驟是定義環境變數。 環境變數通常用於 Linux,以集中設定設定,以改善系統的一致性和可維護性。 建立下列環境變數,以指定您稍後在本教學課程中建立的資源名稱:
export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=EastUS
export MY_VM_NAME="myVM$RANDOM_ID"
export MY_USERNAME=azureuser
export MY_VM_IMAGE="Canonical:0001-com-ubuntu-minimal-jammy:minimal-22_04-lts-gen2:latest"
使用 CLI 登入 Azure
若要使用 CLI 在 Azure 中執行命令,您必須先登入。 使用 az login
命令登入。
建立資源群組
資源群組是相關資源的容器。 所有資源都必須放在資源群組中。 az group create 命令會使用先前定義的 $MY_RESOURCE_GROUP_NAME 和 $REGION 參數來建立資源群組。
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
結果:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup",
"location": "eastus",
"managedBy": null,
"name": "myVMResourceGroup",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
建立虛擬機器
若要在此資源群組中建立 VM,請使用 vm create
命令。
下列範例會建立 VM 並新增使用者帳戶。 參數 --generate-ssh-keys
會導致 CLI 在 中 ~/.ssh
尋找可用的 SSH 金鑰。 如果找到其中一個,則會使用該索引鍵。 如果沒有,則會產生一個 ,並儲存在 中 ~/.ssh
。 參數 --public-ip-sku Standard
可確保計算機可透過公用IP位址存取。 最後,我們會部署最新的 Ubuntu 22.04
映像。
所有其他值都是使用環境變數來設定。
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--image $MY_VM_IMAGE \
--admin-username $MY_USERNAME \
--assign-identity \
--generate-ssh-keys \
--public-ip-sku Standard
建立虛擬機器和支援資源需要幾分鐘的時間。 下列範例輸出顯示 VM 建立作業成功。
結果:
{
"fqdns": "",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myVMResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus",
"macAddress": "00-0D-3A-10-4F-70",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.147.208.85",
"resourceGroup": "myVMResourceGroup",
"zones": ""
}
在 Azure 中啟用 Linux 虛擬機的 Azure AD 登入
下列程式代碼範例會部署Linux VM,然後安裝擴充功能,以啟用Linux VM的 Azure AD 登入。 VM 擴充功能是小型應用程式,可在 Azure 虛擬機上提供部署後設定和自動化工作。
az vm extension set \
--publisher Microsoft.Azure.ActiveDirectory \
--name AADSSHLoginForLinux \
--resource-group $MY_RESOURCE_GROUP_NAME \
--vm-name $MY_VM_NAME
儲存 VM 的 IP 位址以 SSH
執行下列命令,將 VM 的 IP 位址儲存為環境變數:
export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)
透過 SSH 連線到 VM
您現在可以在選取 SSH 用戶端執行下列命令輸出,以 SSH 連線到 VM:
ssh -o StrictHostKeyChecking=no $MY_USERNAME@$IP_ADDRESS