보안 그룹(Security Group)이란 AWS 리소스에 대해 트래픽을 제어하는 기능을 의미한다.
AWS 리소스(ex. EC2 인스턴스)를 집이라고 생각한다면, 보안 그룹은 집 바깥 쪽에 쳐져있는 울타리와 대문이라고 생각하면 된다. 집에 접근할 때 울타리의 대문에서 접근해도 되는 요청인지 보안 요원이 검사를 하는 것과 비슷하다.
EC2 인스턴스 주위에 방화벽 역할을 할 보안 그룹(Security Group)을 만들고 보안 그룹에 규칙을 지정한다. 이 보안 규칙에는 인바운드 트래픽(즉, 보안 그룹의 외부에서 내부로 보내는 트래픽)에서 어떤 트래픽만 허용할 지 설정할 수 있고, 아웃바운드 트래픽(즉, 보안 그룹의 내부에서 외부로 나가는 트래픽)에서 어떤 트래픽만 허용할 지 설정할 수 있다.
보안 그룹을 설정할 때는 허용할 IP 범위와 포트(port)를 설정할 수 있다.
[특징]
하나의 보안 그룹에 여러 개의 AWS 리소스를 포함시킬 수 있다.
특정 서브넷에 종속되지 않고 여러 AWS 리소스를 하나의 보안 그룹으로 묶을 수 있다.
기본 설정으로 인바운드 규칙은 모든 트래픽의 접근이 차단(Deny)되어 있고, 아웃바운드 규칙은 모든 트래픽의 접근이 허용(Allow)되어 있다.
특정 트래픽에 대해 접근 허용(Allow) 설정을 추가할 수는 있지만, 접근 차단(Allow) 설정을 추가할 수는 없다.
‘AWS 리소스, IP’를 활용해 규칙을 설정할 수 있다.
✅ NACL (Network Access Control List, 네트워크 ACL)
NACL은 서브넷에 대해 트래픽을 허용 또는 거부하는 기능이다.
[특징]
기본 설정으로 인바운드, 아웃바운드 둘 다 모든 트래픽의 접근이 허용(Allow)으로 설정되어 있다.
NACL은 특정 트래픽에 대해 접근 허용(Allow) 설정을 추가할 수도 있고, 접근 차단(Allow) 설정을 추가할 수도 있다.
오직 IP만 활용해 규칙을 설정할 수 있다. (AWS 리소스를 활용해 규칙을 설정할 수 없다.)