AWS에서 EC2 인스턴스를 생성하면 반드시 설정하게 되는 것이 보안 그룹(Security Group)입니다.
이는 클라우드 환경에서의 가상 방화벽 역할을 하며, 인스턴스에 대한 트래픽 접근 권한을 제어하는 중요한 기능입니다.
이번 글에서는 EC2 인스턴스의 보안 그룹 구성 방식 중, 특히 인바운드(Inbound)와 아웃바운드(Outbound) 규칙에 대해 실전 예시를 중심으로 정리합니다.
AWS 보안 그룹은 EC2 인스턴스에 적용되는 가상 방화벽(Virtual Firewall)로,
인스턴스에 대해 들어오고 나가는 트래픽을 제어하는 규칙 집합입니다.
| 구분 | 설명 | 예시 |
|---|---|---|
| Inbound (수신) | 외부에서 인스턴스로 들어오는 트래픽 제어 | SSH, HTTP, HTTPS 등 |
| Outbound (발신) | 인스턴스에서 외부로 나가는 트래픽 제어 | 패키지 설치, 외부 API 호출 등 |
Inbound 규칙은 외부에서 EC2 인스턴스로 접속하려는 요청을 허용할지 결정합니다.
예를 들어:
| 유형 | 포트 범위 | 프로토콜 | 소스 |
|---|---|---|---|
| SSH | 22 | TCP | 59.0.0.0/8 |
위 설정은 KT 통신사 회선에서 발생하는 SSH 요청만 인스턴스에 도달하도록 제한하는 구성입니다.
이는 유동 IP 환경에서 전체 공개(0.0.0.0/0)를 피하면서도 일정 범위의 안정적인 접근을 허용할 수 있는 방식입니다.
참고로, 특정 단일 IP만 허용하려면
/32CIDR 표기법을 사용합니다.
예:125.180.23.88/32
Outbound 규칙은 EC2 인스턴스가 외부로 트래픽을 보낼 수 있도록 허용하는 설정입니다.
대부분의 경우 EC2가 인터넷으로 나가야 하는 상황(예: OS 업데이트, 외부 API 요청 등)이 많기 때문에 기본값으로는 전체 허용(0.0.0.0/0) 되어 있습니다.
| 유형 | 포트 범위 | 프로토콜 | 대상 |
|---|---|---|---|
| All traffic | ALL | ALL | 0.0.0.0/0 |
EC2가 외부로 나가는 것을 막는 경우는 일반적인 웹 서버 환경에서는 드물며, 보안이 민감한 특수 환경에서 적용됩니다.
| 항목 | 권장 설정 |
|---|---|
| SSH (22번 포트) | 자신의 IP 또는 통신사 대역으로 제한 |
| 웹 트래픽 (80/443) | 필요 시에만 전체 허용 |
| 아웃바운드 | 기본값 유지 (0.0.0.0/0 허용) |
| 포트 범위 최소화 | 불필요한 포트는 제거 |
| 보안 그룹 설명 추가 | 관리 편의성을 위해 명확한 이름 및 설명 작성 권장 |
AWS EC2의 보안 그룹은 클라우드 환경에서 서버 보안을 설정하는 가장 기초적이고 중요한 요소입니다.
특히 유동 IP 환경에서는 국가 또는 통신사 단위의 대역 제한을 활용하여 보안을 강화할 수 있습니다.
이와 함께 SSH 포트 변경, 방화벽(UFW, iptables) 추가 설정, 접속 기록 모니터링(fail2ban) 등도 병행하면 훨씬 더 견고한 보안 구성이 가능합니다.