Azure CLI를 사용하여 Linux VM에 대한 엔드포인트 및 포트 열기Open ports and endpoints to a Linux VM with the Azure CLI

서브넷 또는 VM 네트워크 인터페이스에서 네트워크 필터를 만들어, Azure에서 VM(가상 컴퓨터)에 대한 포트를 열거나 엔드포인트를 만듭니다.You open a port, or create an endpoint, to a virtual machine (VM) in Azure by creating a network filter on a subnet or VM network interface. 인바운드 및 아웃바운드 트래픽을 모두 제어하는 이러한 필터를 트래픽을 수신하는 리소스에 연결된 네트워크 보안 그룹에 배치합니다.You place these filters, which control both inbound and outbound traffic, on a Network Security Group attached to the resource that receives the traffic. 포트 80에서 웹 트래픽의 일반적인 예제를 사용해 보겠습니다.Let's use a common example of web traffic on port 80. 이 문서에서는 Azure CLI를 사용하여 VM에 포트를 여는 방법을 보여 줍니다.This article shows you how to open a port to a VM with the Azure CLI.

네트워크 보안 그룹 및 규칙을 만들려면 최신 Azure CLI를 설치하고 az login을 사용하여 Azure 계정에 로그인해야 합니다.To create a Network Security Group and rules you need the latest Azure CLI installed and logged in to an Azure account using az login.

다음 예제에서 매개 변수 이름을 고유한 값으로 바꿉니다.In the following examples, replace example parameter names with your own values. 예제 매개 변수 이름에는 myResourceGroup, myNetworkSecurityGroupmyVnet이 포함됩니다.Example parameter names include myResourceGroup, myNetworkSecurityGroup, and myVnet.

VM에 대한 포트를 빠르게 열기Quickly open a port for a VM

dev/test 시나리오에서 VM의 포트를 빠르게 열어야 하는 경우 az vm open-port 명령을 사용할 수 있습니다.If you need to quickly open a port for a VM in a dev/test scenario, you can use the az vm open-port command. 이 명령은 네트워크 보안 그룹을 만들고 규칙을 추가하여 VM 또는 서브넷에 적용합니다.This command creates a Network Security Group, adds a rule, and applies it to a VM or subnet. 다음 예제에서는 리소스 그룹 myResourceGroup에 있는 myVM이라는 VM에서 포트 80을 엽니다.The following example opens port 80 on the VM named myVM in the resource group named myResourceGroup.

az vm open-port --resource-group myResourceGroup --name myVM --port 80

원본 IP 주소 범위를 정의하는 것과 같이 규칙을 더 세부적으로 제어하려면 이 문서의 추가 단계를 계속 진행하세요.For more control over the rules, such as defining a source IP address range, continue with the additional steps in this article.

네트워크 보안 그룹 및 규칙 만들기Create a Network Security Group and rules

az network nsg create를 사용하여 네트워크 보안 그룹을 만듭니다.Create the network security group with az network nsg create. 다음 예제에서는 eastus 위치에 myNetworkSecurityGroup이라는 네트워크 보안 그룹을 만듭니다.The following example creates a network security group named myNetworkSecurityGroup in the eastus location:

az network nsg create \
    --resource-group myResourceGroup \
    --location eastus \
    --name myNetworkSecurityGroup

az network nsg rule create을 사용하여 웹 서버에 대한 HTTP 트래픽을 허용하는 규칙을 추가하거나 SSH 액세스 또는 데이터베이스 연결 등 사용자 고유의 시나리오에 맞게 조정합니다.Add a rule with az network nsg rule create to allow HTTP traffic to your webserver (or adjust for your own scenario, such as SSH access or database connectivity). 다음 예제에서는 포트 80의 TCP 트래픽을 허용하도록 myNetworkSecurityGroupRule이라는 규칙을 만듭니다.The following example creates a rule named myNetworkSecurityGroupRule to allow TCP traffic on port 80:

az network nsg rule create \
    --resource-group myResourceGroup \
    --nsg-name myNetworkSecurityGroup \
    --name myNetworkSecurityGroupRule \
    --protocol tcp \
    --priority 1000 \
    --destination-port-range 80

VM에 네트워크 보안 그룹 적용Apply Network Security Group to VM

az network nic update를 사용하여 네트워크 보안 그룹을 VM의 NIC(네트워크 인터페이스)에 연결합니다.Associate the Network Security Group with your VM's network interface (NIC) with az network nic update. 다음 예제에서는 myNic라는 기존 NIC를 myNetworkSecurityGroup이라는 네트워크 보안 그룹에 연결합니다.The following example associates an existing NIC named myNic with the Network Security Group named myNetworkSecurityGroup:

az network nic update \
    --resource-group myResourceGroup \
    --name myNic \
    --network-security-group myNetworkSecurityGroup

또는 az network vnet subnet update를 사용하여 네트워크 보안 그룹을 단일 VM의 네트워크 인터페이스가 아니라 가상 네트워크 서브넷에 연결할 수 있습니다.Alternatively, you can associate your Network Security Group with a virtual network subnet with az network vnet subnet update rather than just to the network interface on a single VM. 다음 예제에서는 myVnet 가상 네트워크에 있는 mySubnet이라는 기존 서브넷을 myNetworkSecurityGroup이라는 네트워크 보안 그룹에 연결합니다.The following example associates an existing subnet named mySubnet in the myVnet virtual network with the Network Security Group named myNetworkSecurityGroup:

az network vnet subnet update \
    --resource-group myResourceGroup \
    --vnet-name myVnet \
    --name mySubnet \
    --network-security-group myNetworkSecurityGroup

네트워크 보안 그룹에 대한 자세한 정보More information on Network Security Groups

여기서 빠른 명령을 사용하면 VM으로 트래픽이 이동되도록 할 수 있습니다.The quick commands here allow you to get up and running with traffic flowing to your VM. 네트워크 보안 그룹은 리소스에 대한 액세스를 제어하는 많은 기능과 세분성을 제공합니다.Network Security Groups provide many great features and granularity for controlling access to your resources. 여기서 네트워크 보안 그룹 및 ACL 규칙 만들기에 대해 자세히 읽어보세요.You can read more about creating a Network Security Group and ACL rules here.

고가용성 웹 애플리케이션인 경우 VM을 Azure Load Balancer 뒤에 배치해야 합니다.For highly available web applications, you should place your VMs behind an Azure Load Balancer. 부하 분산 장치는 트래픽 필터링을 제공하는 네트워크 보안 그룹으로 트래픽을 VM에 분산시킵니다.The load balancer distributes traffic to VMs, with a Network Security Group that provides traffic filtering. 자세한 내용은 Azure의 Linux 가상 머신 부하를 분산하여 고가용성 애플리케이션을 만드는 방법을 참조하세요.For more information, see How to load balance Linux virtual machines in Azure to create a highly available application.

다음 단계Next steps

이 예제에서는 HTTP 트래픽을 허용하는 간단한 규칙을 만들었습니다.In this example, you created a simple rule to allow HTTP traffic. 다음 문서에서 보다 자세한 환경을 만들기 위한 정보를 찾을 수 있습니다.You can find information on creating more detailed environments in the following articles: