Azure 환경에서 리소스를 안전하게 운영하려면 네트워크 보안 그룹(Network Security Group, NSG)에 대한 이해가 필수입니다. 이 글에서는 NSG를 조회하는 방법부터 생성, 적용, 로그 확인까지 자주 묻는 질문들을 한눈에 정리해 드립니다.
Azure에서 내 네트워크 보안 그룹 찾는 방법
Azure Portal에 로그인한 후 모든 서비스(All services)를 선택합니다. 검색창에 '네트워크 보안 그룹(network security groups)'을 입력하고 검색 결과에서 해당 항목을 클릭하면 현재 구독에 있는 모든 NSG 목록을 확인할 수 있습니다.
Azure 네트워크 보안 그룹이란?
네트워크 보안 그룹의 보안 규칙(security rules)은 다양한 종류의 Azure 리소스로 들어오고 나가는 트래픽의 허용 여부를 정의합니다. 각 규칙에는 원본(source)과 대상(destination), 포트(port), 프로토콜(protocol)을 지정할 수 있어 세밀한 트래픽 제어가 가능합니다.
NSG 로그 확인 방법
Azure Portal에서 Network Watcher로 이동한 뒤 'NSG Flow Logs' 섹션을 클릭하면 흐름 로그에 접근할 수 있습니다. 대상 NSG를 선택하면 해당 NSG 페이지로 이동하며, 여기서 Flow log settings 버튼을 통해 흐름 로그 설정을 확인하고 변경할 수 있습니다.
기존 네트워크 보안 그룹을 조회하는 Azure CLI 명령
Azure CLI를 사용하면 명령 한 줄로 기존 NSG 목록을 빠르게 확인할 수 있습니다. 예를 들어 az network nsg list 명령을 실행하면 구독 내 모든 네트워크 보안 그룹이 출력됩니다. NSG는 가상 네트워크 내 리소스로 향하는 트래픽을 제어하는 핵심 도구입니다.
Azure에서 NSG 생성 및 서브넷에 적용하기
Azure Portal에서 NSG를 만들고 서브넷과 연결할 수 있습니다. Portal 메뉴에서 리소스 만들기(Create a Resource) → 네트워킹(Networking) → 네트워크 보안 그룹(Network Security Group) 순으로 선택하면 새로운 NSG를 생성할 수 있습니다.
Azure 네트워크 보안 그룹의 역할
네트워크 보안 그룹은 Azure 서비스와 주고받는 네트워크 트래픽을 모니터링하고 제어합니다. 또한 가상 네트워크(VNet)의 서브넷 단위로 적용할 수 있어, 여러 가상 머신에 걸친 액세스 제어를 일관된 인터페이스로 손쉽게 업데이트할 수 있다는 장점이 있습니다.
NSG를 적용할 수 있는 위치
- 서브넷 연결 시: NSG 규칙이 해당 서브넷에 연결된 모든 리소스에 적용됩니다.
- 네트워크 인터페이스(NIC) 연결 시: 개별 NIC에만 규칙이 적용됩니다.
- VM과 NIC 동시 적용: NSG를 VM과 네트워크 인터페이스에 함께 연결하면 트래픽을 더욱 세밀하게 제한할 수 있습니다.
Azure에서 보안 그룹 생성하는 방법
Azure Portal 메뉴 또는 홈 페이지에서 리소스 만들기(Create a resource)를 선택합니다. '네트워킹(Networking)' 탭으로 이동한 후 '네트워크 보안 그룹'을 클릭합니다. 사용 중인 구독을 선택하고, 기존 리소스 그룹 목록에서 선택하거나 새 리소스 그룹을 생성하여 NSG를 완성합니다.
Azure NSG는 방화벽인가?
엄밀히 말하면 차이가 있습니다. Azure Firewall은 OSI 7계층 모델의 4계층과 7계층을 지원하는 반면, NSG는 3계층과 4계층에서 작동합니다. 즉, NSG는 네트워크 계층에서 트래픽을 필터링하는 기본적인 방화벽에 가깝고, Azure Firewall은 다양한 기능을 갖춘 종합적이고 강력한 관리형 방화벽 서비스입니다.
Azure NSG 진단 로그 보기
Portal에 로그인한 후 '모든 서비스'에서 '네트워크 보안 그룹'을 검색합니다. 로그를 활성화할 NSG를 선택한 뒤, 모니터링(MONITORING) 섹션에서 '진단 로그(Diagnostics logs)'를 클릭하고 '진단 켜기(Turn on diagnostics)'를 누르면 됩니다.
NSG 흐름 로그 쿼리 방법
흐름 로그를 구성할 때 Traffic Analytics를 함께 활성화하면 데이터가 Log Analytics로 전송됩니다. Network Watcher에서 Traffic Analytics 대시보드에 접속한 뒤, 대시보드의 차트 중 하나를 클릭하면 Log Analytics 화면으로 이동하면서 해당 차트를 생성한 쿼리를 바로 확인할 수 있습니다.
NSG 흐름 로그 삭제 방법
PowerShell 스크립트를 활용하면 불필요한 흐름 로그 Blob을 삭제할 수 있습니다. 필요에 따라 스크립트에 매개변수를 입력하고, 예를 들어 스크립트 파일을 'Delete-NsgFlowLogsBlobs.ps1'로 저장한 뒤 실행하면 됩니다.
Azure 네트워크 로그 확인 방법
- Azure 계정에 로그인한 후 Network Watcher를 선택합니다.
- 'NSG 흐름 로그(NSG flow logs)' 메뉴를 엽니다.
- 흐름 로그 설정을 변경할 NSG를 클릭합니다.
- Flow logs 상태가 '켬(On)'으로 설정되어 있는지 확인합니다.
- 저장 대상으로 'Storage account(스토리지 계정)'를 지정합니다.
보존 기간(Retention days)이 90일 미만으로 설정되어 있으면 로그가 의도치 않게 삭제될 수 있으므로 주의해야 합니다. 모든 설정을 마친 후 '저장(Save)'을 클릭하면 완료됩니다.
마무리
Azure 네트워크 보안 그룹은 클라우드 리소스를 보호하는 첫 번째 방어선입니다. NSG의 조회, 생성, 적용, 로그 분석까지 숙지해 두면 보안 사고를 사전에 예방하고 문제 발생 시 신속하게 대응할 수 있습니다. 특히 흐름 로그와 Traffic Analytics를 함께 활용하면 네트워크 트래픽을 시각적으로 파악할 수 있어 운영 효율이 크게 향상됩니다.