728x90
반응형
개요
AWS EC2 인스턴스의 보안 그룹은 네트워크 트래픽을 제어하는 중요한 역할을 한다. 이번 포스트에서는 보안 그룹의 개념과 구성 요소, 그리고 이를 효과적으로 활용할 수 있도록 알아보고자 한다.
보안 그룹이란?
보안 그룹은 AWS 클라우드에서 네트워크 보안을 실행하는 핵심 도구로, EC2 인스턴스에 들어오고 나가는 트래픽을 제어한다. 보안 그룹은 허용 규칙만 포함하며, 허용된 트래픽만 EC2 인스턴스에 접근할 수 있다. 보안 그룹 규칙은 IP 또는 다른 보안 그룹을 참조할 수 있다.
보안 그룹의 구성 요소
- 인바운드 규칙: 외부에서 EC2 인스턴스로 들어오는 트래픽을 제어한다.
- 아웃바운드 규칙: EC2 인스턴스에서 외부로 나가는 트래픽을 제어한다.
- 프로토콜: TCP, UDP, ICMP 등 다양한 프로토콜을 설정할 수 있다.
- 포트 범위: 트래픽이 통과할 수 있는 포트 범위를 지정한다.
- 소스 IP: 허용된 IP 주소 범위를 지정한다. 0.0.0.0/0은 모든 IP 주소를 의미한다.
보안 그룹의 주요 특징
- 인스턴스 간 연결: 여러 인스턴스에 동일한 보안 그룹을 연결할 수 있다.
- 지역 및 VPC: 보안 그룹은 특정 지역과 VPC 내에서만 유효하다.
- 외부 방화벽: 보안 그룹은 EC2 인스턴스 외부에 위치하여 트래픽을 제어한다.
- SSH 접근: SSH 접근을 위해 별도의 보안 그룹을 유지하는 것이 좋다.
- 트래픽 차단: 모든 인바운드 트래픽은 기본적으로 차단되고, 모든 아웃바운드 트래픽은 기본적으로 허용된다.
보안 그룹 심층 분석
보안 그룹은 EC2 인스턴스에서 "방화벽" 역할을 한다. 다음과 같은 사항을 규제한다:
- 포트 접근: 특정 포트에 대한 접근을 허용 또는 차단한다.
- 허용된 IP 범위: IPv4 및 IPv6 주소 범위를 지정하여 접근을 제어한다.
- 인바운드 트래픽 제어: 외부에서 인스턴스로 들어오는 네트워크 트래픽을 제어한다.
- 아웃바운드 트래픽 제어: 인스턴스에서 외부로 나가는 네트워크 트래픽을 제어한다.
보안 그룹 설정 예시
- SSH 접근 허용: 포트 22에서 SSH 트래픽을 허용하여 특정 IP에서만 접근할 수 있도록 설정한다.
- HTTP 트래픽 허용: 포트 80에서 HTTP 트래픽을 허용하여 웹 서버로의 접근을 허용한다.
- HTTPS 트래픽 허용: 포트 443에서 HTTPS 트래픽을 허용하여 보안된 웹 서버로의 접근을 허용한다.
보안 그룹 활용 방법
보안 그룹을 활용하여 EC2 인스턴스의 네트워크 트래픽을 효과적으로 관리할 수 있다. 예를 들어, 인스턴스에 연결된 보안 그룹의 인바운드 규칙을 통해 외부에서 인스턴스로 접근할 수 있는 트래픽을 제한하고, 필요한 포트와 프로토콜을 허용한다.
고급 보안 그룹 사용
- 보안 그룹 참조(security group reference): 다른 보안 그룹을 참조하여 복잡한 네트워크 규칙을 설정할 수 있다. 예를 들어, 보안 그룹 1의 인바운드 규칙에서 보안 그룹 2의 트래픽을 허용하면, 보안 그룹 2에 연결된 모든 인스턴스가 보안 그룹 1에 연결된 인스턴스와 통신할 수 있다.
보안 그룹 설정 시 유의 사항
- 여러 인스턴스에 연결 가능: 하나의 보안 그룹을 여러 인스턴스에 연결할 수 있다.
- 지역 및 VPC에 고정: 보안 그룹은 특정 지역과 VPC 내에서만 유효하다.
- EC2 인스턴스 외부에 위치: 보안 그룹은 EC2 인스턴스 외부에 위치하여 트래픽을 제어한다. 트래픽이 차단되면 EC2 인스턴스는 이를 인식하지 못한다.
- SSH 접근을 위한 별도 보안 그룹 유지: SSH 접근을 위해 별도의 보안 그룹을 유지하는 것이 좋다.
- 타임아웃과 연결 거부 에러 구분: 애플리케이션에 접근할 수 없고 타임아웃이 발생하면 보안 그룹 문제이고, 연결 거부 오류가 발생하면 애플리케이션 문제거나 실행되지 않았음을 의미한다.
포트 및 프로토콜
- SSH (포트 22): Linux 인스턴스에 로그인하기 위한 시큐어 셸.
- FTP (포트 21): 파일 전송 프로토콜.
- SFTP (포트 22): SSH를 사용한 보안 파일 전송 프로토콜.
- HTTP (포트 80): 보안되지 않은 웹사이트 접근.
- HTTPS (포트 443): 보안된 웹사이트 접근.
- RDP (포트 3389): Windows 인스턴스에 로그인하기 위한 원격 데스크톱 프로토콜.
보안 그룹 구성 예시
1. SSH 보안 그룹 설정:
- 포트: 22
- 프로토콜: TCP
- 소스 IP: 특정 IP 주소 (예: 203.0.113.0/24)
2. 웹 서버 보안 그룹 설정:
- HTTP (포트 80):
- 프로토콜: TCP
- 소스 IP: 0.0.0.0/0
- HTTPS (포트 443):
- 프로토콜: TCP
- 소스 IP: 0.0.0.0/0
결론
AWS EC2 인스턴스의 보안 그룹은 네트워크 트래픽을 제어하는 중요한 도구로, 효과적인 보안 설정을 통해 인스턴스와 애플리케이션을 보호할 수 있다. 보안 그룹의 기본 원칙과 주요 특징을 이해함으로써, AWS 환경에서의 네트워크 보안을 강화할 수 있다.
참고
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/security-group-rules.html
728x90
'AWS > SAA' 카테고리의 다른 글
[AWS/EC2] 보안그룹 실습 (0) | 2024.05.22 |
---|---|
[AWS/EC2] 다양한 EC2 인스턴스 유형 및 사용 사례 (0) | 2024.05.21 |
[AWS/EC2] EC2 인스턴스 생성 (0) | 2024.05.21 |
[AWS/EC2] EC2 기초 (0) | 2024.05.21 |
[AWS] AWS 비용 절감 및 예산 관리 방법 (0) | 2024.05.21 |