快速入門:在 Azure 上使用 Azure CLI 建立 Linux 虛擬機器

適用於:✔️ Linux VM

部署至 Azure

本快速入門示範如何使用 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

使用 CLI 登入 Azure

為了使用 CLI 在 Azure 中執行命令,您需要先登入。 使用 az login 命令登入。

建立資源群組

資源群組是相關資源的容器。 所有資源都必須放置在資源群組中。 az group create 命令會使用先前定義的 $MY_RESOURCE_GROUP_NAME 和 $REGION 參數來建立資源群組。

export RANDOM_ID="$(openssl rand -hex 3)"
export MY_RESOURCE_GROUP_NAME="myVMResourceGroup$RANDOM_ID"
export REGION=EastUS
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 映像。

所有其他值都是使用環境變數來進行設定。

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"
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

後續步驟