Azure NSG(네트워크 보안 그룹)을 사용하면 Azure 가상 네트워크의 Azure 리소스와 주고받는 네트워크 트래픽을 필터링할 수 있습니다. 네트워크 보안 그룹에는 여러 유형의 Azure 리소스에 대한 인바운드 네트워크 트래픽 또는 아웃바운드 네트워크 트래픽을 허용하거나 거부하는 보안 규칙이 포함되어 있습니다. 규칙마다 원본 및 대상, 포트, 프로토콜을 지정할 수 있습니다.
여러 Azure 서비스의 리소스를 한 Azure 가상 네트워크에 배포할 수 있습니다. 전체 목록은 가상 네트워크에 배포할 수 있는 서비스를 참조하세요. 0개 또는 1개의 네트워크 보안 그룹을 가상 머신의 각 가상 네트워크 서브넷 및 네트워크 인터페이스 에 연결할 수 있습니다. 동일한 네트워크 보안 그룹을 원하는 수의 서브넷 및 네트워크 인터페이스에 연결할 수 있습니다.
다음 그림은 TCP 포트 80을 통해 인터넷과의 상호 트래픽을 허용하도록 네트워크 보안 그룹을 배포하는 방법에 대한 다양한 시나리오를 보여줍니다.
Azure가 인바운드 및 아웃바운드 규칙을 처리하는 방법을 이해하려면 위의 다이어그램을 참조하세요. 이 그림은 네트워크 보안 그룹이 트래픽 필터링을 처리하는 방법을 보여 줍니다.
인바운드 트래픽
인바운드 트래픽의 경우 Azure는 서브넷에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 먼저 처리한 후 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 처리합니다. 이 프로세스에는 서브넷 내 트래픽도 포함됩니다.
VM1: NSG1은 Subnet1과 연결되고 VM1은 Subnet1에 있기 때문에 NSG1은 보안 규칙을 처리합니다. DenyAllInbound 기본 보안 규칙은 규칙이 포트 80 인바운드를 명시적으로 허용하지 않는 한 트래픽을 차단합니다. NSG2와 연결된 네트워크 인터페이스는 차단된 트래픽을 평가하지 않습니다. 그러나 NSG1 이 보안 규칙에서 포트 80을 허용하는 경우 NSG2 는 트래픽을 평가합니다. 가상 머신에 포트 80을 허용하려면 NSG1 및 NSG2 모두 인터넷에서 포트 80을 허용하는 규칙을 포함해야 합니다.
VM2: VM2도 Subnet1에 있으므로 NSG1의 규칙이 처리됩니다. VM2에는 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 없으므로 NSG1을 통해 허용되는 모든 트래픽을 받거나 NSG1에서 거부된 모든 트래픽이 거부됩니다. 네트워크 보안 그룹이 서브넷에 연결된 경우 동일한 서브넷의 모든 리소스에 대한 트래픽이 허용되거나 거부됩니다.
VM3: Subnet2에 연결된 네트워크 보안 그룹이 없으므로 NSG2가 VM3에 연결된 네트워크 인터페이스에 연결되므로 트래픽이 서브넷으로 허용되고 NSG2에서 처리됩니다.
VM4: 네트워크 보안 그룹이 Subnet3 또는 가상 머신의 네트워크 인터페이스에 연결되어 있지 않으므로 트래픽이 VM4로 차단됩니다. 서브넷 및 네트워크 인터페이스에 네트워크 보안 그룹이 연결되지 않으면 서브넷 및 네트워크 인터페이스를 통과하는 모든 네트워크 트래픽이 차단됩니다. 표준 공용 IP 주소가 있는 가상 머신은 기본적으로 안전합니다. 인터넷에서 트래픽이 흐르려면 가상 머신의 서브넷 또는 NIC에 NSG를 할당해야 합니다. 자세한 내용은 IP 주소 버전을 참조하세요.
아웃바운드 트래픽
인바운드 트래픽의 경우 Azure는 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 먼저 처리한 후 서브넷에 연결된 네트워크 보안 그룹이 있으면 이 그룹의 규칙을 처리합니다. 이 프로세스에는 서브넷 내 트래픽도 포함됩니다.
VM1: NSG2 의 보안 규칙이 처리됩니다. NSG1 및 NSG2의 AllowInternetOutbound 기본 보안 규칙은 포트 80 아웃바운드를 인터넷으로 거부하는 보안 규칙을 만들지 않는 한 트래픽을 허용합니다. NSG2가 보안 규칙에서 포트 80을 거부하는 경우 트래픽을 거부하고 NSG1은 이를 평가하지 않습니다. 두 네트워크 보안 그룹 중 하나 또는 둘 모두에 포트 80이 인터넷으로부터 차단될 규칙이 있어야 가상 머신에 대한 포트 80의 접근을 거부할 수 있습니다.
VM2: VM2에 연결된 네트워크 인터페이스에 연결된 네트워크 보안 그룹이 없기 때문에 모든 트래픽이 네트워크 인터페이스 를 통해 서브넷으로 전송됩니다. NSG1의 규칙이 처리됩니다.
VM3: NSG2 가 보안 규칙에서 포트 80을 거부하는 경우 트래픽을 거부합니다. NSG2가 포트 80을 거부하지 않는 경우 NSG2의 AllowInternetOutbound 기본 보안 규칙은 Subnet2와 연결된 네트워크 보안 그룹이 없으므로 트래픽을 허용합니다.
VM4: 네트워크 보안 그룹이 가상 머신 또는 Subnet3에 연결된 네트워크 인터페이스에 연결되지 않으므로 VM4에서 모든 네트워크 트래픽이 허용됩니다.
서브넷 내 트래픽
서브넷에 연결된 NSG의 보안 규칙은 서브넷 내 VM 간의 연결에 영향을 줄 수 있다는 점에 유의해야 합니다. 기본적으로 동일한 서브넷의 가상 머신은 서브넷 내 트래픽을 허용하는 기본 NSG 규칙에 따라 통신할 수 있습니다. 모든 인바운드 및 아웃바운드 트래픽을 거부하는 규칙을 NSG1에 추가하는 경우 VM1 및 VM2는 서로 통신할 수 없습니다.
네트워크 인터페이스에 대한 효과적인 보안 규칙을 확인하여 네트워크 인터페이스에 적용되는 집계 규칙을 쉽게 볼 수 있습니다. Azure Network Watcher의 IP 흐름 확인 기능을 사용하여 네트워크 인터페이스에서 통신이 허용되는지 여부를 확인할 수도 있습니다. IP 흐름 확인을 사용하여 통신이 허용되는지 아니면 거부되는지 파악할 수 있습니다. 또한 IP 흐름 확인을 사용하여 트래픽 허용 또는 거부를 담당하는 네트워크 보안 규칙의 ID를 표시합니다.
팁
특별한 이유가 없다면 네트워크 보안 그룹을 서브넷 또는 네트워크 인터페이스 중 한 쪽에만 연결하는 것이 좋습니다. 서브넷에 연결된 네트워크 보안 그룹의 규칙은 네트워크 인터페이스에 연결된 네트워크 보안 그룹의 규칙과 충돌할 수 있습니다. 문제 해결이 필요한 예기치 않은 통신 문제가 있을 수 있습니다.
다음 단계
가상 네트워크에 배포할 수 있는 Azure 리소스에 대해 알아봅니다. 네트워크 보안 그룹을 지원하는 리소스를 찾으려면 Azure 서비스에 대한 가상 네트워크 통합 을 참조하세요.
네트워크 보안 그룹을 만들려면 빠른 자습서를 완료하여 만드는 경험을 쌓으세요.
네트워크 보안 그룹에 익숙하고 관리해야 하는 경우 네트워크 보안 그룹 관리를 참조하세요.
통신 문제가 있고 네트워크 보안 그룹을 해결해야 하는 경우 가상 머신 네트워크 트래픽 필터 문제 진단을 참조하세요.
네트워크 보안 그룹 흐름 로그를 사용하여 연결된 네트워크 보안 그룹이 있는 리소스에 대한 네트워크 트래픽을 분석하는 방법을 알아봅니다.