다음을 통해 공유


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

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

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

Azure 구독을 소유하지 않은 경우 시작 전에 Azure 무료 체험 계정을 만드십시오.

필수 구성 요소

  • Azure Cloud Shell에서 Bash 환경을 사용합니다. 자세한 내용은 Azure Cloud Shell에서 Bash에 대한 빠른 시작을 참조하세요.

  • CLI 참조 명령을 로컬에서 실행하려면 Azure CLI를 설치하십시오. Windows 또는 macOS에서 실행하는 경우 Docker 컨테이너에서 Azure CLI를 실행하는 것이 좋습니다. 자세한 내용은 Docker 컨테이너Azure CLI를 실행하는 방법을 참조하세요.

    • 로컬 설치를 사용하는 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다. 인증 프로세스를 완료하려면 터미널에 표시되는 단계를 수행합니다. 다른 로그인 옵션은 Azure CLI로 로그인을 참조하세요.

    • 메시지가 표시되면 처음 사용할 때 Azure CLI 확장을 설치합니다. 확장에 대한 자세한 내용은 Azure CLI확장 사용을 참조하세요.

    • az version을 실행하여 설치된 버전 및 종속 라이브러리를 확인합니다. 최신 버전으로 업그레이드하려면 az upgrade실행합니다.

이 문서에는 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 인스턴스의 이름을 사용하여 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 이름을 사용하여 NIC의 개인 IP 주소, 인바운드 NAT 규칙 이름 및 부하 분산 장치 이름을 az vm nic show명령을 통해 가져옵니다.

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 list을 이용하여 로드 밸런서의 공용 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 인스턴스에 연결