공용 IP 주소를 가상 머신에 연결
이 문서에서는 공용 IP 주소를 기존 VM(가상 머신)에 연결하는 방법을 알아봅니다. 이렇게 하려면 공용 IP 주소를 VM에 연결된 네트워크 인터페이스의 IP 구성에 연결합니다. Azure Portal, Azure CLI 또는 Azure PowerShell을 사용할 수 있습니다.
공용 IP 주소를 대신 사용하여 새 VM을 만들려면 Azure Portal, Azure CLI 또는 Azure PowerShell을 사용할 수 있습니다.
공용 IP 주소에는 명목 요금이 부과됩니다. 자세한 내용은 가격 책정을 참조하세요. 구독당 사용할 수 있는 공용 IP 주소의 수는 제한되어 있습니다. 자세한 내용은 limits(제한)를 참조하세요.
참고
Azure는 공용 IP 주소가 할당되지 않았거나 내부 기본 Azure Load Balancer의 백 엔드 풀에 있는 VM에 대한 기본 아웃바운드 액세스 IP를 제공합니다. 기본 아웃바운드 액세스 IP 메커니즘은 구성할 수 없는 아웃바운드 IP 주소를 제공합니다.
기본 아웃바운드 액세스 IP는 공용 IP 주소가 VM에 할당되거나 VM이 아웃바운드 규칙이 있거나 없는 표준 부하 분산 장치의 백 엔드 풀에 배치되거나 Azure Virtual Network NAT 게이트웨이 리소스는 VM의 서브넷에 할당됩니다.
유연한 오케스트레이션 모드에서 가상 머신 확장 집합으로 만든 VM에는 기본 아웃바운드 액세스 권한이 없습니다.
Azure의 아웃바운드 연결에 대한 자세한 내용은 Azure의 기본 아웃바운드 액세스 및 아웃바운드 연결에 SNAT(원본 네트워크 주소 변환) 사용을 참조하세요.
필수 구성 요소
- 활성 구독이 있는 Azure 계정. 무료로 계정을 만들 수 있습니다.
Azure portal
Azure Portal에 로그인합니다.
포털에서 공용 IP 주소를 추가하려는 VM을 검색하여 선택합니다.
왼쪽 창의 설정 아래에서 네트워킹을 선택한 다음, 공용 IP 주소를 추가하려는 네트워크 인터페이스를 선택합니다.
참고
공용 IP 주소는 VM에 연결된 네트워크 인터페이스에 연결됩니다. 이 스크린샷에서 VM에는 하나의 네트워크 인터페이스만 있습니다. VM에 여러 네트워크 인터페이스가 있으면 모두 표시되고 공용 IP 주소를 연결할 네트워크 인터페이스를 선택할 수 있습니다.
네트워크 인터페이스 창의 설정 아래에서 IP 구성*을 선택한 다음, 목록에서 IP 구성을 선택합니다.
참고
공용 IP 주소는 네트워크 인터페이스의 IP 구성에 연결됩니다. 이 스크린샷에서 네트워크 인터페이스에는 하나의 IP 구성만 있습니다. 네트워크 인터페이스에 여러 IP 구성이 있으면 모두 목록에 표시되고 공용 IP 주소를 연결할 IP 구성을 선택할 수 있습니다.
연결을 선택한 다음, 공용 IP 주소를 선택하여 드롭다운 목록에서 기존 공용 IP 주소를 선택합니다. 공용 IP 주소가 나열되지 않으면 공용 IP 주소를 만들어야 합니다. 방법을 알아보려면 Create a public IP address(공용 IP 주소 만들기)를 참조하세요.
저장을 선택한 다음, IP 구성 창을 닫습니다.
참고
드롭다운 목록에 표시되는 공용 IP 주소는 VM과 동일한 지역에 있는 주소입니다. 지역에서 여러 공용 IP 주소를 만든 경우 여기에 모두 표시됩니다. 이미 다른 리소스에 연결된 주소는 회색으로 표시됩니다.
네트워크 인터페이스 창에서 IP 구성에 할당된 공용 IP 주소를 확인합니다. 새로 연결된 IP 주소가 표시되는 데 몇 초 정도 걸릴 수 있습니다.
참고
IP 주소는 Azure 지역에 대해 예약된 공용 IP 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀의 목록은 Azure IP 범위 및 서비스 태그를 참조하세요. 특정 접두사에서 주소를 할당해야 하는 경우 공용 IP 주소 접두사를 사용하세요.
네트워크 보안 그룹의 보안 규칙을 조정하여 보안 그룹에서 필요한 포트를 엽니다. 자세한 내용은 VM에 대한 네트워크 트래픽 허용을 참조하세요.
Azure CLI
Azure CLI를 컴퓨터에 설치하거나 Azure Cloud Shell을 사용합니다. Cloud Shell은 Azure Portal 내에서 직접 실행할 수 있는 평가판 Bash 셸입니다. 여기에는 Azure 계정에서 사용하도록 사전 설치되어 구성된 Azure CLI가 포함되어 있습니다. 다음에 나오는 Azure CLI 코드 예제에서 Cloudshell 열기 단추를 선택합니다. Cloudshell 열기를 선택하면 Cloud Shell이 브라우저에 로드되고 Azure 계정에 로그인하라는 메시지가 표시됩니다.
Bash에서 Azure CLI를 로컬로 사용하는 경우
az login
을 사용하여 Azure에 로그인합니다.az network nic-ip-config update 명령을 사용하여 공용 IP 주소를 IP 구성에 연결합니다. 다음 예제에서는 myPublicIP라는 기존 공용 IP 주소를 ipconfig1이라는 IP 구성에 연결합니다. 이 IP 구성은 myResourceGroup이라는 리소스 그룹의 myVMNic라는 기존 네트워크 인터페이스에 속합니다.
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 주소 설정에 대한 자세한 내용은 공용 IP 주소 만들기를 참조하세요. IP 주소는 Azure 지역에 대해 예약된 공용 IP 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀의 목록은 Azure IP 범위 및 서비스 태그를 참조하세요. 특정 접두사에서 주소를 할당해야 하는 경우 공용 IP 주소 접두사를 사용하세요.
VM에 연결된 네트워크 인터페이스의 이름을 모르는 경우 az vm nic list 명령을 사용하여 확인할 수 있습니다. 예를 들어 다음 명령은 myResourceGroup이라는 리소스 그룹에서 myVM이라는 VM에 연결된 네트워크 인터페이스를 나열합니다.
az vm nic list --vm-name myVM --resource-group myResourceGroup
출력에는 다음 예제와 비슷한 하나 이상의 줄이 포함됩니다. 여기서 myVMNic는 네트워크 인터페이스의 이름입니다.
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myVMNic",
네트워크 인터페이스에 대한 IP 구성의 이름을 모르는 경우 az network nic ip-config list 명령을 사용하여 검색합니다. 예를 들어 다음 명령은 myVMNic라는 네트워크 인터페이스에 대한 IP 구성의 이름을 myResourceGroup이라는 리소스 그룹에 나열합니다.
az network nic ip-config list --nic-name myVMNic --resource-group myResourceGroup --out table
az vm list-ip-addresses 명령을 사용하여 IP 구성에 할당된 공용 IP 주소를 확인합니다. 다음 예제에서는 myResourceGroup이라는 리소스 그룹에서 기존 VM myVM에 할당된 IP 주소를 보여 줍니다.
az vm list-ip-addresses --name myVM --resource-group myResourceGroup --out table
참고
IP 주소는 Azure 지역에 대해 예약된 공용 IP 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀의 목록은 Azure IP 범위 및 서비스 태그를 참조하세요. 특정 접두사에서 주소를 할당해야 하는 경우 공용 IP 주소 접두사를 사용하세요.
네트워크 보안 그룹의 보안 규칙을 조정하여 보안 그룹에서 필요한 포트를 엽니다. 자세한 내용은 VM에 대한 네트워크 트래픽 허용을 참조하세요.
Azure PowerShell
Azure PowerShell을 컴퓨터에 설치하거나 Cloud Shell을 사용합니다. Cloud Shell은 Azure Portal 내에서 직접 실행할 수 있는 평가판 Bash 셸입니다. 여기에는 Azure 계정에서 사용하도록 사전 설치되어 구성된 Azure PowerShell이 포함되어 있습니다. 다음에 나오는 Azure PowerShell 코드 예제에서 Cloudshell 열기 단추를 선택합니다. Cloudshell 열기를 선택하면 Cloud Shell이 브라우저에 로드되고 Azure 계정에 로그인하라는 메시지가 표시됩니다.
Azure PowerShell을 로컬로 사용하는 경우
Connect-AzAccount
를 사용하여 Azure에 로그인합니다.Get-AzVirtualNetwork 명령을 사용하여 리소스 그룹에서 가상 네트워크를 검색합니다. 그런 다음, Get-AzVirtualNetworkSubnetConfig 명령을 사용하여 가상 네트워크에서 서브넷 구성을 검색합니다.
Get-AzNetworkInterface 명령을 사용하여 리소스 그룹에서 네트워크 인터페이스를 검색합니다. 그런 다음, Get-AzPublicIpAddress 명령을 사용하여 리소스 그룹의 기존 공용 IP 주소를 검색합니다.
Set-AzNetworkInterfaceIpConfig 명령을 사용하여 공용 IP 주소를 IP 구성에 연결합니다. 그런 다음, Set-AzNetworkInterface 명령을 사용하여 새 IP 구성을 네트워크 인터페이스에 씁니다.
다음 예제에서는 myPublicIP라는 기존 공용 IP 주소를 ipconfig1이라는 IP 구성에 연결합니다. 이 IP 구성은 myVNet이라는 가상 네트워크의 mySubnet이라는 서브넷에 있는 myVMNic라는 기존 네트워크 인터페이스에 속합니다. 모든 리소스는 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 명령을 사용하여 만듭니다. 예를 들어 다음 명령은 myPublicIP라는 동적 공용 IP 주소를 eastus 지역의 myResourceGroup이라는 리소스 그룹에 만듭니다.
New-AzPublicIpAddress -Name myPublicIP -ResourceGroupName myResourceGroup -AllocationMethod Dynamic -Location eastus
참고
이 명령은 기본값을 사용자 지정할 수 있는 여러 설정에 사용하여 공용 IP 주소를 만듭니다. 공용 IP 주소 설정에 대한 자세한 내용은 공용 IP 주소 만들기를 참조하세요. IP 주소는 Azure 지역에 대해 예약된 공용 IP 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀의 목록은 Azure IP 범위 및 서비스 태그를 참조하세요. 특정 접두사에서 주소를 할당해야 하는 경우 공용 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 명령을 사용합니다. 예를 들어 다음 명령은 myVMNic라는 네트워크 인터페이스에 대한 IP 구성의 이름을 myResourceGroup이라는 리소스 그룹에 나열합니다.
$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
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"
참고
IP 주소는 Azure 지역에 대해 예약된 공용 IP 주소 풀에서 할당됩니다. 각 지역에서 사용되는 주소 풀의 목록은 Azure IP 범위 및 서비스 태그를 참조하세요. 특정 접두사에서 주소를 할당해야 하는 경우 공용 IP 주소 접두사를 사용하세요.
네트워크 보안 그룹의 보안 규칙을 조정하여 보안 그룹에서 필요한 포트를 엽니다. 자세한 내용은 VM에 대한 네트워크 트래픽 허용을 참조하세요.
VM에 대한 네트워크 트래픽 허용
인터넷에서 공용 IP 주소에 연결하려면 먼저 보안 그룹에서 필요한 포트를 열어야 합니다. 이러한 포트는 네트워크 인터페이스, 네트워크 인터페이스의 서브넷 또는 둘 다에 연결했을 수 있는 네트워크 보안 그룹에서 열려 있어야 합니다. 보안 그룹은 네트워크 인터페이스의 개인 IP 주소에 대한 트래픽을 필터링하지만, 인바운드 인터넷 트래픽이 공용 IP 주소에 도달하면 Azure에서 공용 주소를 개인 IP 주소로 변환합니다. 따라서 네트워크 보안 그룹에서 트래픽 흐름을 차단하는 경우 공용 IP 주소와의 통신이 실패합니다.
Azure Portal, Azure CLI 또는 Azure PowerShell의 네트워크 인터페이스와 해당 서브넷에 대한 유효한 보안 규칙을 볼 수 있습니다.
다음 단계
이 문서에서는 Azure Portal, Azure CLI 또는 Azure PowerShell을 사용하여 공용 IP 주소를 VM에 연결하는 방법을 알아보았습니다.
네트워크 보안 그룹을 사용하여 VM에 대한 인바운드 인터넷 트래픽을 허용합니다.
네트워크 보안 그룹 만들기에 대해 알아보세요.