AWS EC2 보안 그룹

gittidev·2025년 4월 4일

infra

목록 보기
3/3

AWS에서 EC2 인스턴스를 생성하면 반드시 설정하게 되는 것이 보안 그룹(Security Group)입니다.
이는 클라우드 환경에서의 가상 방화벽 역할을 하며, 인스턴스에 대한 트래픽 접근 권한을 제어하는 중요한 기능입니다.

이번 글에서는 EC2 인스턴스의 보안 그룹 구성 방식 중, 특히 인바운드(Inbound)아웃바운드(Outbound) 규칙에 대해 실전 예시를 중심으로 정리합니다.


📌 보안 그룹(Security Group) 이란?

AWS 보안 그룹은 EC2 인스턴스에 적용되는 가상 방화벽(Virtual Firewall)로,
인스턴스에 대해 들어오고 나가는 트래픽을 제어하는 규칙 집합입니다.


✅ Inbound vs Outbound 규칙

구분설명예시
Inbound (수신)외부에서 인스턴스로 들어오는 트래픽 제어SSH, HTTP, HTTPS 등
Outbound (발신)인스턴스에서 외부로 나가는 트래픽 제어패키지 설치, 외부 API 호출 등

📥 Inbound 규칙: 외부 요청 허용

Inbound 규칙은 외부에서 EC2 인스턴스로 접속하려는 요청을 허용할지 결정합니다.

예를 들어:

  • SSH 접속을 허용하려면 포트 22에 대해 Inbound 허용이 필요합니다.
  • 웹 서버를 운영하려면 포트 80(HTTP), 443(HTTPS)을 열어야 합니다.

예시: SSH 접속 허용

유형포트 범위프로토콜소스
SSH22TCP59.0.0.0/8

위 설정은 KT 통신사 회선에서 발생하는 SSH 요청만 인스턴스에 도달하도록 제한하는 구성입니다.
이는 유동 IP 환경에서 전체 공개(0.0.0.0/0)를 피하면서도 일정 범위의 안정적인 접근을 허용할 수 있는 방식입니다.

참고로, 특정 단일 IP만 허용하려면 /32 CIDR 표기법을 사용합니다.
예: 125.180.23.88/32


📤 Outbound 규칙: 외부로 나가는 트래픽

Outbound 규칙은 EC2 인스턴스가 외부로 트래픽을 보낼 수 있도록 허용하는 설정입니다.
대부분의 경우 EC2가 인터넷으로 나가야 하는 상황(예: OS 업데이트, 외부 API 요청 등)이 많기 때문에 기본값으로는 전체 허용(0.0.0.0/0) 되어 있습니다.

기본 Outbound 규칙 예시

유형포트 범위프로토콜대상
All trafficALLALL0.0.0.0/0

EC2가 외부로 나가는 것을 막는 경우는 일반적인 웹 서버 환경에서는 드물며, 보안이 민감한 특수 환경에서 적용됩니다.


🔐 보안 그룹의 특징 및 동작 방식

  • 상태 기반(Stateful): 인바운드에서 연결이 허용되면, 해당 연결에 대한 아웃바운드 응답은 별도로 허용하지 않아도 자동 허용됩니다.
  • 인스턴스 단위로 적용: EC2 인스턴스별로 보안 그룹을 할당할 수 있으며, 하나의 인스턴스에 여러 보안 그룹을 적용할 수도 있습니다.
  • 인바운드와 아웃바운드는 별개로 설정되며, 양방향 통신이 필요하면 두 방향 모두 설정되어야 합니다.

🛡 실전 보안 구성 전략

항목권장 설정
SSH (22번 포트)자신의 IP 또는 통신사 대역으로 제한
웹 트래픽 (80/443)필요 시에만 전체 허용
아웃바운드기본값 유지 (0.0.0.0/0 허용)
포트 범위 최소화불필요한 포트는 제거
보안 그룹 설명 추가관리 편의성을 위해 명확한 이름 및 설명 작성 권장

📌 결론

AWS EC2의 보안 그룹은 클라우드 환경에서 서버 보안을 설정하는 가장 기초적이고 중요한 요소입니다.
특히 유동 IP 환경에서는 국가 또는 통신사 단위의 대역 제한을 활용하여 보안을 강화할 수 있습니다.

이와 함께 SSH 포트 변경, 방화벽(UFW, iptables) 추가 설정, 접속 기록 모니터링(fail2ban) 등도 병행하면 훨씬 더 견고한 보안 구성이 가능합니다.


0개의 댓글