공용 IP 주소를 가상 머신에 연결

이 문서에서는 공용 IP 주소를 기존 VM(가상 머신)에 연결하는 방법을 알아봅니다. 공용 IP 주소로 새 VM을 만들려면 Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하면 됩니다. 공용 IP 주소에는 명목 요금이 부과됩니다. 자세한 내용은 가격 책정을 참조하세요. 구독당 사용할 수 있는 공용 IP 주소의 수는 제한되어 있습니다. 자세한 내용은 limits(제한)를 참조하세요.

Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 공용 IP 주소를 VM에 연결할 수 있습니다.

참고

Azure는 공용 IP 주소가 할당되지 않았거나 내부 기본 Azure Load Balancer의 백 엔드 풀에 있는 VM에 대한 기본 아웃바운드 액세스 IP를 제공합니다. 기본 아웃바운드 액세스 IP 메커니즘은 구성할 수 없는 아웃바운드 IP 주소를 제공합니다.

공용 IP 주소가 VM에 할당되거나, VM이 아웃바운드 규칙 유무에 관계없이 표준 부하 분산 장치의 백 엔드 풀에 배치되거나, Azure Virtual Network NAT 게이트웨이 리소스가 VM의 서브넷에 할당되는 경우 기본 아웃바운드 액세스 IP가 비활성화됩니다.

유연한 오케스트레이션 모드에서 가상 머신 확장 집합으로 만든 VM에는 기본 아웃바운드 액세스 권한이 없습니다.

Azure의 아웃바운드 연결에 대한 자세한 내용은 Azure 의 기본 아웃바운드 액세스아웃바운드 연결에 SNAT(원본 네트워크 주소 변환) 사용을 참조하세요.

Azure portal

  1. Azure Portal에 로그인합니다.

  2. 공용 IP 주소를 추가하려는 가상 머신을 찾아보거나 검색한 다음 선택합니다.

  3. 아래 그림과 같이 설정에서 네트워킹을 선택하고 공용 IP 주소를 추가할 네트워크 인터페이스를 선택합니다.

    가상 머신의 네트워크 인터페이스를 선택하는 방법을 보여 주는 스크린샷

    참고

    공용 IP 주소는 VM에 연결된 네트워크 인터페이스에 연결됩니다. 위 그림의 VM은 네트워크 인터페이스가 하나뿐입니다. VM에 여러 네트워크 인터페이스가 있으면 모두 표시되고 공용 IP 주소를 연결할 네트워크 인터페이스를 선택할 수 있습니다.

  4. IP 구성을 선택한 다음, 다음 그림과 같이 IP 구성을 선택합니다.

    네트워크 인터페이스의 IP 구성을 선택하는 방법을 보여 주는 스크린샷

    참고

    공용 IP 주소는 네트워크 인터페이스의 IP 구성에 연결됩니다. 위 그림에서는 네트워크 인터페이스에 IP 구성이 하나 있습니다. 네트워크 인터페이스에 여러 IP 구성이 있으면 모두 목록에 표시되고 공용 IP 주소를 연결할 IP 구성을 선택할 수 있습니다.

  5. 연결을 선택한 다음 공용 IP 주소 선택을 선택하여 기존 공용 IP 주소를 선택합니다. 사용 가능한 공용 IP 주소가 표시되지 않으면 새로 만들어야 합니다. 방법을 알아보려면 Create a public IP address(공용 IP 주소 만들기)를 참조하세요.

    기존 공용 IP를 선택하고 연결하는 방법을 보여 주는 스크린샷

  6. 다음 그림과 같이 저장을 선택하고 IP 구성 상자를 닫습니다.

    선택한 공용 IP를 보여 주는 스크린샷

    참고

    표시되는 공용 IP 주소는 VM과 같은 지역에 있는 주소입니다. 지역에서 여러 공용 IP 주소를 만든 경우 여기에 모두 표시됩니다. 회색으로 표시된 항목이 있으면 주소가 이미 다른 리소스에 연결되어 있기 때문입니다.

  7. 다음 그림과 같이 IP 구성에 할당된 공용 IP 주소를 확인합니다. IP 주소가 표시되는 데 몇 초 정도 걸릴 수 있습니다.

    새로 할당된 공용 IP를 보여 주는 스크린샷

    참고

    주소는 각 Azure 지역에서 사용되는 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀 목록을 보려면 Azure IP 범위 및 서비스 태그를 참조하세요. 할당된 주소는 지역에 사용되는 풀에 있는 임의의 주소일 수 있습니다. 해당 지역의 특정 풀에서 주소를 할당해야 하는 경우 공용 IP 주소 접두사를 사용합니다.

  8. 네트워크 보안 그룹의 보안 규칙을 사용하여 VM에 대한 네트워크 트래픽을 허용합니다.

Azure CLI

Azure CLI를 설치하거나 Azure Cloud Shell을 사용합니다. Azure Cloud Shell은 Azure Portal에서 직접 실행할 수 있는 평가판 Bash 셸입니다. Azure CLI가 사전 설치되어 계정에서 사용하도록 구성되어 있습니다. 다음에 나오는 CLI 명령에서 사용해 보세요. 단추를 선택합니다. 사용해 보세요. 를 선택하면 Azure 계정에 로그인할 수 있는 Cloud Shell이 호출됩니다.

  1. Bash에서 로컬로 CLI를 사용하는 경우 az login을 사용하여 Azure에 로그인합니다.

  2. 퍼블릭 IP 주소는 VM에 연결된 네트워크 인터페이스의 IP 구성에 연결됩니다. az network nic ip-config update 명령을 사용하여 공용 IP 주소를 IP 구성에 연결합니다. 다음 예제에서는 myPublicIP라는 기존 공용 IP 주소를 myResourceGroup이라는 리소스 그룹에 있는 myVMNic라는 기존 네트워크 인터페이스의 ipconfig1이라는 IP 구성에 연결합니다.

    az network nic ip-config update \
      --name ipconfig1 \
      --nic-name myVMNic \
      --resource-group myResourceGroup \
      --public-ip-address myPublicIP
    
    • 기존 공용 IP 주소가 없는 경우 az network public-ip create 명령을 사용하여 만듭니다. 예를 들어 다음 명령은 myResourceGroup이라는 리소스 그룹에 myPublicIP라는 공용 IP 주소를 만듭니다.

      az network public-ip create --name myPublicIP --resource-group myResourceGroup
      

      참고

      앞의 명령은 사용자 지정할 수 있는 여러 설정에 기본값을 사용하여 공용 IP 주소를 만듭니다. 모든 공용 IP 주소 설정에 대해 자세히 알아보려면 Create a public IP address(공용 IP 주소 만들기)를 참조하세요. 주소는 각 Azure 지역에서 사용되는 공용 IP 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀 목록을 보려면 Azure IP 범위 및 서비스 태그를 참조하세요.

    • VM에 연결된 네트워크 인터페이스의 이름을 모르는 경우 az vm nic list 명령을 사용하여 볼 수 있습니다. 예를 들어 다음 명령은 myResourceGroup 리소스 그룹에서 myVM이라는 VM에 연결된 네트워크 인터페이스의 이름을 나열합니다.

      az vm nic list --vm-name myVM --resource-group myResourceGroup
      

      출력에는 다음 예제와 비슷한 줄이 하나 이상 포함되어 있습니다.

      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
      

      이전 예제에서 myVMNic 는 네트워크 인터페이스의 이름입니다.

    • 네트워크 인터페이스에 대한 IP 구성의 이름을 모르는 경우 az network nic ip-config list 명령을 사용하여 검색합니다. 예를 들어 다음 명령은 myResourceGroup이라는 리소스 그룹에서 myVMNic라는 네트워크 인터페이스에 대한 IP 구성의 이름을 나열합니다.

      az network nic ip-config list --nic-name myVMNic --resource-group myResourceGroup --out table
      
  3. az vm list-ip-addresses 명령을 사용하여 IP 구성에 할당된 공용 IP 주소를 확인합니다. 다음 예제에서는 myResourceGroup이라는 리소스 그룹에서 기존 VM myVM에 할당된 IP 주소를 보여 줍니다.

    az vm list-ip-addresses --name myVM --resource-group myResourceGroup --out table
    

    참고

    주소는 각 Azure 지역에서 사용되는 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀 목록을 보려면 Azure IP 범위 및 서비스 태그를 참조하세요. 할당된 주소는 지역에 사용되는 풀에 있는 임의의 주소일 수 있습니다. 해당 지역의 특정 풀에서 주소를 할당해야 하는 경우 공용 IP 주소 접두사를 사용합니다.

  4. 네트워크 보안 그룹의 보안 규칙을 사용하여 VM에 대한 네트워크 트래픽을 허용합니다.

PowerShell

PowerShell을 설치하거나 Azure Cloud Shell을 사용합니다. Azure Cloud Shell은 Azure Portal에서 직접 실행할 수 있는 평가판 셸입니다. PowerShell이 미리 설치되어 계정에서 사용하도록 구성되어 있습니다. 다음에 나오는 PowerShell 명령에서 사용해 보세요. 단추를 선택합니다. 사용해 보세요. 를 선택하면 Azure 계정에 로그인할 수 있는 Cloud Shell이 호출됩니다.

  1. PowerShell을 로컬로 사용하는 경우 Connect-AzAccount를 사용하여 Azure에 로그인합니다.

  2. 퍼블릭 IP 주소는 VM에 연결된 네트워크 인터페이스의 IP 구성에 연결됩니다. Get-AzVirtualNetworkGet-AzVirtualNetworkSubnetConfig 명령을 사용하여 네트워크 인터페이스가 있는 가상 네트워크 및 서브넷을 가져옵니다. 그런 다음 Get-AzNetworkInterface 명령을 사용하여 네트워크 인터페이스를 가져오고 Get-AzPublicIpAddress 명령을 사용하여 기존 공용 IP 주소를 가져옵니다. 그런 다음 Set-AzNetworkInterfaceIpConfig 명령을 사용하여 공용 IP 주소를 IP 구성에 연결하고 Set-AzNetworkInterface 명령을 사용하여 네트워크 인터페이스에 새 IP 구성을 씁니다.

    다음 예제에서는 myPublicIP라는 기존 공용 IP 주소를 myVNet이라는 가상 네트워크의 mySubnet이라는 서브넷에 있는 myVMNic라는 기존 네트워크 인터페이스의 ipconfig1이라는 IP 구성에 연결합니다. 모든 리소스는 myResourceGroup 리소스 그룹에 있습니다.

    $vnet = Get-AzVirtualNetwork -Name myVNet -ResourceGroupName myResourceGroup
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name mySubnet -VirtualNetwork $vnet
    $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
    $pip = Get-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup
    $nic | Set-AzNetworkInterfaceIpConfig -Name ipconfig1 -PublicIPAddress $pip -Subnet $subnet
    $nic | Set-AzNetworkInterface
    
    • 기존 공용 IP 주소가 없는 경우 New-AzPublicIpAddress 명령을 사용하여 만듭니다. 예를 들어 다음 명령은 eastus 지역의 myResourceGroup이라는 리소스 그룹에 myPublicIP라는 동적 공용 IP 주소를 만듭니다.

      New-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup -AllocationMethod Dynamic -Location eastus
      

      참고

      앞의 명령은 사용자 지정할 수 있는 여러 설정에 기본값을 사용하여 공용 IP 주소를 만듭니다. 모든 공용 IP 주소 설정에 대해 자세히 알아보려면 Create a public IP address(공용 IP 주소 만들기)를 참조하세요. 주소는 각 Azure 지역에서 사용되는 공용 IP 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀 목록을 보려면 Azure IP 범위 및 서비스 태그를 참조하세요.

    • VM에 연결된 네트워크 인터페이스의 이름을 모르는 경우 Get-AzVM 명령을 사용하여 볼 수 있습니다. 예를 들어 다음 명령은 myResourceGroup 리소스 그룹에서 myVM이라는 VM에 연결된 네트워크 인터페이스의 이름을 나열합니다.

      $vm = Get-AzVM -name myVM -ResourceGroupName myResourceGroup
      $vm.NetworkProfile
      

      출력에는 다음 예제와 비슷한 하나 이상의 줄이 포함됩니다. 예제 출력에서 myVMNic 는 네트워크 인터페이스의 이름입니다.

      "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
      
    • 네트워크 인터페이스가 있는 가상 네트워크 또는 서브넷의 이름을 모르는 경우 Get-AzNetworkInterface 명령을 사용하여 정보를 확인합니다. 예를 들어 다음 명령은 myResourceGroup이라는 리소스 그룹에서 myVMNic라는 네트워크 인터페이스에 대한 가상 네트워크 및 서브넷 정보를 가져옵니다.

      $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
      $ipConfigs = $nic.IpConfigurations
      $ipConfigs.Subnet | Select Id
      

      출력에는 다음 예제와 비슷한 하나 이상의 줄이 포함됩니다. 예제 출력에서 myVNet 은 가상 네트워크의 이름이고 mySubnet 은 서브넷의 이름입니다.

      "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet",
      
    • 네트워크 인터페이스에 대한 IP 구성의 이름을 모르는 경우 Get-AzNetworkInterface 명령을 사용하여 검색합니다. 예를 들어 다음 명령은 myResourceGroup이라는 리소스 그룹의 myVMNic라는 네트워크 인터페이스에 대한 IP 구성의 이름을 나열합니다.

      $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
      $nic.IPConfigurations
      

      출력에는 다음 예제와 비슷한 하나 이상의 줄이 포함됩니다. 예제 출력에서 ipconfig1 은 IP 구성의 이름입니다.

      Id     : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic/ipConfigurations/ipconfig1
      
  3. Get-AzPublicIpAddress 명령을 사용하여 IP 구성에 할당된 공용 IP 주소를 확인합니다. 다음 예제에서는 myResourceGroup이라는 리소스 그룹의 myPublicIP라는 공용 IP 주소에 할당된 주소를 보여줍니다.

    Get-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup | Select IpAddress
    

    IP 구성에 할당된 공용 IP 주소의 이름을 모르는 경우 다음 명령을 실행하여 가져옵니다.

    $nic = Get-AzNetworkInterface -Name myVMNic -ResourceGroupName myResourceGroup
    $nic.IPConfigurations
    $address = $nic.IPConfigurations.PublicIpAddress
    $address | Select Id
    

    출력에는 다음 예제와 비슷한 하나 이상의 줄이 포함됩니다. 예제 출력에서 myPublicIP 는 IP 구성에 할당된 공용 IP 주소의 이름입니다.

    "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP"
    

    참고

    주소는 각 Azure 지역에서 사용되는 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀 목록을 보려면 Azure IP 범위 및 서비스 태그를 참조하세요. 할당된 주소는 지역에 사용되는 풀에 있는 임의의 주소일 수 있습니다. 해당 지역의 특정 풀에서 주소를 할당해야 하는 경우 공용 IP 주소 접두사를 사용합니다.

  4. 네트워크 보안 그룹의 보안 규칙을 사용하여 VM에 대한 네트워크 트래픽을 허용합니다.

VM에 대한 네트워크 트래픽 허용

인터넷에서 공용 IP 주소에 연결하려면 네트워크 인터페이스, 네트워크 인터페이스의 서브넷 또는 둘 다에 연결되었을 수 있는 모든 네트워크 보안 그룹에서 필요한 포트가 열려 있는지 확인합니다. 보안 그룹은 트래픽을 네트워크 인터페이스의 개인 IP 주소로 필터링하지만 인바운드 인터넷 트래픽이 공용 IP 주소에 도착하면 Azure에서 공용 주소를 개인 IP 주소로 변환하므로 네트워크 보안 그룹에서 트래픽 흐름을 차단하는 경우 공용 IP 주소와의 통신이 실패합니다. 포털, CLI 또는 PowerShell을 사용하여 네트워크 인터페이스 및 서브넷에 대한 유효한 보안 규칙을 볼 수 있습니다.

다음 단계

이 문서에서는 Azure Portal, Azure CLI 또는 Azure PowerShell 사용하여 VM에 공용 IP 주소를 연결하는 방법을 알아보았습니다.

네트워크 보안 그룹을 사용하여 VM에 대한 인바운드 인터넷 트래픽을 허용합니다. 네트워크 보안 그룹을 만드는 방법에 대한 자세한 내용은 Work with network security groups(네트워크 보안 그룹 사용)를 참조하세요.