두 가지 **방화벽(Firewall)**의 핵심 차이점
🔒 보안 그룹(SG) vs. 네트워크 ACL(NACL) 최종 정리
| 구분 | 보안 그룹 (Security Group, SG) | 네트워크 ACL (NACL) |
| 적용 대상 | EC2 인스턴스 (가상 서버) 수준 | 서브넷 (Subnet) 수준 |
| 작동 방식 | 상태 저장 (Stateful) | 무상태 (Stateless) |
| 규칙 처리 | 허용 규칙만 설정 가능. (기본적으로 모두 거부) | 허용(ALLOW) 및 거부(DENY) 규칙 모두 설정 가능. |
| 처리 순서 | 규칙 순서가 중요하지 않음. | 규칙 번호 순서대로 처리하며, 일치하는 규칙을 만나면 즉시 처리 종료. |
| 인바운드 /아웃바운드 |
인바운드 허용 시, 아웃바운드는 자동으로 허용됨. | 인바운드 허용 시, 아웃바운드도 명시적으로 허용해야 함. |
| 비유 | 인스턴스 개개인의 현관문 | 서브넷(방) 전체의 출입 통로 |
Sheets로 내보내기
🔑 핵심 차이점: 상태 저장 vs. 무상태 (가장 중요!)
이 개념만 이해하면 둘의 역할을 명확히 구분할 수 있습니다.
- 보안 그룹 (상태 저장, Stateful):
- 현관문과 같아요. 누군가 들어오는 것(인바운드)을 허용했다면, 그 사람이 다시 나가는 것(아웃바운드)은 기억하고(상태 저장) 자동으로 허용해 줍니다.
- 즉, 인바운드 규칙만 잘 설정하면 아웃바운드는 신경 쓰지 않아도 됩니다.
- 네트워크 ACL (무상태, Stateless):
- 보안 통로와 같아요. 들어오는 트래픽(인바운드)을 허용했더라도, 그 응답이 다시 나가는 것(아웃바운드)을 기억하지 못합니다(무상태).
- 따라서, 인바운드를 허용했으면, 그에 대한 응답이 외부로 나갈 수 있도록 아웃바운드 규칙에도 명시적으로 허용 규칙을 추가해 주어야 합니다.
💡 시험 출제 유형
- "가장 세부적인(가장 촘촘한) 인스턴스 수준의 방화벽은?" 보안 그룹 (SG)
- "서브넷 단위에서 특정 IP의 접속을 명시적으로 차단(DENY)하려면?" NACL (SG는 DENY 규칙을 설정할 수 없습니다.)
A retail customer is setting up their application in the AWS Cloud. The application requires a lot of control in defining traffic rules for the individual Amazon EC2 instances in their public subnet. > 개별 EC2 인스턴스에 트래픽 규칙 상세 제어
Which solution would BEST meet the requirements for securing the resources?
- Change all the subnets to private subnets to avoid accessing from the public internet.
- Set up security groups for the EC2 instances based on the application requirements.
- Set up network ACLs for the EC2 instances based on the application requirements.
- Set up a public subnet with strong passwords that meet the customer's requirements.
핵심 해설: 보안 그룹의 역할
보안 그룹은 AWS에서 인스턴스 수준의 가상 방화벽 역할을 수행합니다.
- 인스턴스 수준 제어: 보안 그룹은 VPC 내의 개별 EC2 인스턴스에 직접 연결됩니다. 따라서 웹 서버(80/443 포트 필요)와 애플리케이션 서버(특정 포트만 허용)처럼 역할이 다른 인스턴스 각각에 대해 독립적이고 상세한 트래픽 규칙을 정의할 수 있습니다. 이것이 "개별 EC2 인스턴스에 대한 많은 제어(a lot of control in defining traffic rules for the individual Amazon EC2 instances)"라는 요구사항에 가장 정확히 부합합니다.
- 허용 기반(Allow-Only): 보안 그룹은 명시적으로 허용된 트래픽만 통과시키며, 나머지는 모두 암묵적으로 거부합니다.
- 상태 저장(Stateful): 인바운드 트래픽을 허용하면, 그에 대한 응답 아웃바운드 트래픽은 자동으로 허용되므로 관리가 용이합니다.
오답 해설
| 오답 선택지 | 이유 |
| Set up network ACLs for the EC2 instances... (EC2 인스턴스에 네트워크 ACL을 설정합니다.) | **NACL(네트워크 ACL)**은 서브넷 수준에서 동작하는 무상태(Stateless) 방화벽입니다. 즉, 서브넷 안의 모든 인스턴스에 동일하게 적용되므로, 개별 인스턴스에 대한 상세 제어라는 요구사항에 적합하지 않습니다. |
| Change all the subnets to private subnets... (모든 서브넷을 프라이빗 서브넷으로 변경합니다.) | 보안은 강화되지만, 소매업 애플리케이션(예: 웹사이트)이 퍼블릭 서브넷에 있다는 것은 외부 인터넷 사용자가 접근해야 한다는 의미입니다. 서브넷을 프라이빗으로 변경하면 애플리케이션에 외부 접근이 불가능해집니다. |
| Set up a public subnet with strong passwords... (강력한 암호를 사용하여 퍼블릭 서브넷을 설정합니다.) | 강력한 암호는 인스턴스의 **운영 체제(OS)**에 대한 무단 접속(SSH, RDP)을 막는 OS 보안 조치일 뿐입니다. 인스턴스가 네트워크상에서 어떤 포트를 열고 어떤 트래픽을 허용할지 정의하는 네트워크 트래픽 규칙과는 무관합니다. |
'Cloud > AWS' 카테고리의 다른 글
| AWS 심화 학습 가이드: 공동 책임, 네트워크 및 보안 (0) | 2025.10.09 |
|---|---|
| AWS CCP CLF-C002, Practice Exam1 오답노트 39/50 (0) | 2025.10.09 |
| AWS Cloud Practitioner 핵심 요약 및 문제 풀이 전략 (0) | 2025.10.08 |
| 기타 필수 AWS 서비스 정리 (0) | 2025.10.08 |
| 핵심 영역 6: 공동 책임 모델 정복하기 (0) | 2025.10.08 |