자습서: Azure CLI를 사용하여 Virtual Machine Scale Set 인스턴스에 연결

Virtual Machine Scale Set를 사용하면 가상 머신 세트를 배포하고 관리할 수 있습니다. Virtual Machine Scale Set의 수명 주기 동안 하나 이상의 관리 작업을 실행해야 합니다. 이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 연결 정보 나열
  • SSH를 사용하여 개별 인스턴스에 연결

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

사전 요구 사항

이 문서에는 Azure CLI 버전 2.0.29 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.

확장 집합의 인스턴스 나열

확장 집합이 아직 만들어지지 않은 경우 자습서: Azure CLI를 사용하여 Virtual Machine Scale Set 만들기 및 관리를 참조하세요.

Virtual Machine Scale Set의 모든 인스턴스를 나열합니다.

az vmss list-instances \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --output table
Location    Name                 ResourceGroup
----------  -------------------  ---------------
eastus      myScaleSet_0e7d4d21  myResourceGroup
eastus      myScaleSet_39379fc3  myResourceGroup

NIC 정보 가져오기

az vm nic list 및 개별 VM instance 이름을 사용하여 NIC 이름을 찾습니다.

az vm nic list \
  --resource-group myResourceGroup
  --vm-name myScaleSet_0e7d4d21
[
  {
    "deleteOption": "Delete",
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a",
    "primary": true,
    "resourceGroup": "myResourceGroup"
  }
]

VM 이름과 NIC 이름을 사용하여 az vm nic show를 사용하여 NIC의 개인 IP 주소, 인바운드 NAT 규칙 이름, 부하 분산 장치 이름을 가져옵니다.

az vm nic show --resource-group myResourceGroup --vm-name myScaleSet_0e7d4d21 --nic mysca2215Nic-828c525a
{
  "enableAcceleratedNetworking": false,
  "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a",
  "ipConfigurations": [
    {
      "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-828c525a/ipConfigurations/mysca2215IPConfig",
      "loadBalancerBackendAddressPools": [
        {
          "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSetLB/backendAddressPools/myScaleSetLBBEPool",
        }
      ],
      "name": "mysca2215IPConfig",
      "primary": true,
      "privateIpAddress": "10.0.0.5",
      "privateIpAddressVersion": "IPv4",
      "privateIpAllocationMethod": "Dynamic",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "subnet": {
        "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myScaleSetVNET/subnets/myScaleSetSubnet",
        "resourceGroup": "myResourceGroup",
      },
      "type": "Microsoft.Network/networkInterfaces/ipConfigurations",
    }
  ],
  "location": "eastus",
  "name": "mysca2215Nic-828c525a",
  "networkSecurityGroup": {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myScaleSetNSG",
    "resourceGroup": "myResourceGroup",
  },
  "nicType": "Standard",
  "primary": true,
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "tapConfigurations": [],
  "type": "Microsoft.Network/networkInterfaces",
  "virtualMachine": {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_0e7d4d21",
    "resourceGroup": "myResourceGroup"
  },
}

백 엔드 풀 세부 정보 가져오기

백 엔드 풀 이름과 부하 분산 장치 이름을 사용하여 az network lb list-mapping을 사용하여 연결하려는 인스턴스의 개인 IP 주소의 포트를 가져옵니다.

az network lb list-mapping --backend-pool-name myScaleSetLBBEPool --resource-group myResourceGroup --name myScaleSetLB --request ip=10.0.0.5
{
  "inboundNatRulePortMappings": [
    {
      "backendPort": 22,
      "frontendPort": 50001,
      "inboundNatRuleName": "NatRule",
      "protocol": "Tcp"
    }
  ]
}

부하 분산 장치의 공용 IP 가져오기

az network public-ip show를 사용하여 부하 분산 장치의 공용 IP 주소를 가져옵니다.

az network public-ip list --resource-group myResourceGroup
[
  {
    "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myScaleSetLBPublicIP",
    "idleTimeoutInMinutes": 4,
    "ipAddress": "20.172.211.239",
    "ipConfiguration": {
      "id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSetLB/frontendIPConfigurations/loadBalancerFrontEnd",
      "resourceGroup": "myResourceGroup"
    },
    "ipTags": [],
    "location": "eastus",
    "name": "myScaleSetLBPublicIP",
    "provisioningState": "Succeeded",
    "publicIPAddressVersion": "IPv4",
    "publicIPAllocationMethod": "Static",
    "resourceGroup": "myResourceGroup",
    "sku": {
      "name": "Standard",
      "tier": "Regional"
    },
    "tags": {},
    "type": "Microsoft.Network/publicIPAddresses"
  }
]

인스턴스에 연결

부하 분산 장치 IP와 연결하려는 머신의 포트를 사용하여 머신에 SSH합니다.

ssh azureuser@20.172.211.239 -p 50000

다음 단계

이 자습서에서는 확장 집합의 인스턴스를 나열하고 SSH를 통해 개별 인스턴스에 연결하는 방법을 알아보았습니다.

  • 확장 집합의 인스턴스 나열 및 보기
  • 확장 집합의 개별 인스턴스에 대한 네트워킹 정보 수집
  • 확장 집합 내의 개별 VM 인스턴스에 연결