본문 바로가기
클라우드/AWS

[AWS] 보안 그룹과 네트워크 ACL 설정 방법

by 클레어몬트 2025. 2. 12.

 

AWS(Amazon Web Services)에서 네트워크 보안을 위한 핵심 구성 요소로 2가지가 있다. 바로 보안 그룹(SG, Security Group)네트워크 ACL(NACL)이다. 이 두 가지는 VPC(Virtual Private Cloud) 내에서 인스턴스와 서브넷의 트래픽을 제어하며, 각각의 역할과 설정 방법이 다르다. AWS 환경에서 네트워크 보안을 강화하고자 한다면 보안 그룹과 네트워크 ACL을 목적에 맞게 설계하고 설정하는 것이 중요하다! 이번 글에서는 보안 그룹과 네트워크 ACL의 개념, 차이점, 그리고 설정 방법에 대해 설명한다.

AWS VPC 네트워크 아키텍처: 퍼블릭 서브넷과 프라이빗 서브넷의 구성과 보안 메커니즘(NACL + SG)

 

 


1. 보안 그룹(SG, Security Group): 특정 인스턴스에 대한 네트워크 트래픽을 제어하는 가상 방화벽

인스턴스 단위 ㅇ 서브넷 단위 X

AWS 보안 그룹(SG) 설정 화면 중 인바운드 규칙을 확인하는 페이지 (민감 정보는 블러처리)

 

보안 그룹은 인스턴스에 연결되며 인바운드와 아웃바운드 트래픽을 제어한다

 

 

<보안 그룹 설정 단계>

이 보안 그룹은 웹 서버 또는 MySQL 서버 보호를 위한 설정을 포함


1) SG(보안 그룹) 생성: 인스턴스에 적용할 보안 그룹을 생성한다
보안 그룹은 인스턴스에 연결된 상태에서만 동작하며, 인스턴스 시작 시 또는 시작 후에 적용할 수 있다


2) 인바운드 규칙 설정: 인스턴스로 들어오는 트래픽을 제어한다

허용 규칙만 설정할 수 있으며, 기본적으로 모든 인바운드 트래픽이 차단된다
e.g. SSH(포트 22) 또는 HTTP(포트 80)에 대한 접근을 허용


3) 아웃바운드 규칙 설정: 인스턴스에서 나가는 트래픽을 제어한다

기본적으로 모든 아웃바운드 트래픽이 허용되며, 필요한 경우 특정 트래픽만 허용하도록 설정할 수 있다

e.g. 외부 API 서버로의 요청 또는 인터넷 접근을 허용

4) 보안 그룹 연결: 생성된 보안 그룹을 인스턴스에 연결한다
보안 그룹은 인스턴스 수준에서만 동작하며, 연결된 인스턴스에만 규칙이 적용된다



 

2. 네트워크 ACL(NACL, Network Access Control List): VPC 내에서 서브넷 단위로 인바운드 및 아웃바운드 트래픽을 제어하는 보안 규칙 집합

인스턴스 단위 X 서브넷 단위 ㅇ

AWS 네트워크 ACL(Network ACL) 설정 화면

 

보안 그룹이 인스턴스 단위라면, 네트워크 ACL은 "서브넷 단위"에서 트래픽을 필터링한다

 

 

<네트워크 ACL 설정 단계>

NACL 설정 화면으로, 아래는 VPC의 인바운드 규칙을 관리하는 화면


1) 네트워크 ACL 정의: 네트워크 ACL은 VPC 내의 인바운드 및 아웃바운드 트래픽을 제어한다
서브넷에 연결되어 서브넷 내부의 인스턴스들이 트래픽을 주고받는 규칙을 설정한다


2) ACL 규칙 우선순위: ACL 규칙은 순서대로 처리되며, 가장 높은 우선순위 규칙이 먼저 적용된다
번호가 낮을수록 높은 우선순위를 갖는다!
e.g. 특정 IP 주소의 접근을 차단한 후, 나머지 트래픽을 허용하는 순서로 설정할 수 있다


3) ACL 규칙 유형

허용 및 거부 규칙을 모두 설정할 수 있으며, 기본적으로 모든 트래픽이 거부된다
- 허용: 트래픽을 허용한다
- 거부: 트래픽을 차단한다



 

[보안 그룹 vs 네트워크 ACL 정리]

 

 

 

(SG와 NACL 적용 예시)

 

 

 

 

+ 라우팅 테이블 설정

기본적으로 같은 VPC 내에서는 자동으로 라우팅되지만, 외부 네트워크(인터넷, 다른 VPC, 온프레미스 등)와 통신하려면 라우팅 테이블이 필요하다!

- VPC 내부에서는 자동 라우팅(local 경로)

- 외부와 연결 시 IGW, NAT, Peering, VPN, Direct Connect, Transit Gateway로 라우팅 테이블 설정

 

 

 

(참고) 보안 그룹과 네트워크 ACL의 하이브리드 사용
보안 그룹: 인스턴스 수준의 세부적인 트래픽 제어

+
네트워크 ACL: 서브넷 수준에서 보다 넓은 범위의 트래픽 제어


서브넷 전체에서 특정 IP 대역의 접근을 차단하려면 네트워크 ACL에 규칙을 설정하고, 특정 인스턴스만 SSH 접근을 허용하려면 보안 그룹에 규칙을 설정하면 된다