AWS용어 쉽게 이해하기: VPC, Subnet, NACL, SG

출처: https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html
Amazon Virtual Private Cloud(Amazon VPC)를 사용하면 정의한 논리적으로 격리된 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. VPC는 리전의 각 가용성 영역에 하나의 서브넷, 각 서브넷에 EC2 인스턴스, VPC와 인터넷의 리소스 간 통신을 허용하는 인터넷 게이트웨이를 갖습니다.

출처 : https://melchiorre-andrea.medium.com/my-journey-to-aws-solution-architect-exam-part-11-nacl-vpc-peering-vpc-endpoints-vpc-flow-7cb4a59fd579
- VPC(Virtual Private Cloud)
- AWS에서 가상 네트워크를 생성하여 리소스를 격리된 환경에서 실행할 수 있게 해줍니다. 서브넷, 라우팅, NACL, SG 등을 설정할 수 있습니다.
- 계정에 대한 전용 네트워크 공간인 VPC(Virtual Private Cloud)를 클라우드 환경 내 업무 목적(개발, 운영, 운영) 별로 생성할 수 있고 계정마다 리전(Region) 별 최대 5개의 VPC를 생성할 수 있습니다.
- Subnet(서브넷)
- 하나의 VPC에 여러 서브넷을 생성하여 서로 다른 역할을 수행하도록 설정할 수 있습니다. 서브넷 간 트래픽은 라우팅 테이블, NACL, SG을 통해 제어가 가능합니다.
- 서브넷은 VPC 내에서 분리된 네트워크 영역이며, 서브넷마다 서로 다른 라우팅 테이블을 적용할 수 있어 네트워크 트래픽을 격리할 수 있습니다.
- NACL(Network ACL, 네트워크 ACL)
- 각 서브넷에 대해 하나의 NACL을 연결할 수 있으며, 서브넷 수준에서 네트워크 트래픽을 제어합니다(서브넷과 NACL은 1:1, N:1 로 구성 가능).
- 특정 서브넷으로 인바운드 및 아웃바운드 트래픽 각각에 대해 허용 또는 거부 규칙을 설정합니다. Stateless 방식이므로 허용할 규칙은 Inbound와 Outbound 모두 지정해야 요청 트래픽에 대한 반환 트래픽이 정상적으로 전송됩니다.
- SG(Security Group, 보안 그룹)
- 서브넷 내부의 개별 리소스 수준에서 네트워크 트래픽을 제어합니다(인스턴스와 보안그룹은 1:1, N:1, 1:N로 구성 가능).
- 특정 리소스(예: EC2, RDS 등)에 대해 트래픽을 허용하는 규칙만을 설정합니다.(인바운드을 설정하면 아웃바운드은 자동 허용)
하나의 리소스에 여러 SG를 연결 가능, 하나의 SG를 여러 리소스에 연결 가능
항목 | NACL (Network ACL) | Security Group |
---|---|---|
적용 범위 | 서브넷 단위 | 리소스 단위 (예: EC2, RDS) |
상태 저장 여부 | 비상태적 (Stateless) | 상태 저장 (Stateful) |
허용/거부 설정 | 허용 및 거부 규칙 모두 지원 (White-list 또는 Black-list) |
허용 규칙만 지원 (White-list) |
트래픽 제어 방향 | 인바운드 및 아웃바운드 규칙 별도 설정 | 인바운드 설정 시 아웃바운드는 자동으로 허용 |
규칙 적용 순서 | 규칙 번호에 따라 순서대로 적용(작은 번호 우선) | 규칙 순서 없음 (모든 규칙이 동시에 평가) |
기본 설정 | 모든 트래픽 허용 또는 거부 가능 | 모든 트래픽 차단 (사용자 정의 필요) |
사용 사례 | 서브넷 레벨의 기본적인 트래픽 제어 | 리소스 레벨에서 세부적인 트래픽 제어 |