AWS-보안그룹

(AWS 보안그룹) 왜 엔드포인트 보안 그룹과 EC2 보안 그룹이 다르게 설정되어야 할까?

backend 따라쟁이 2025. 3. 11. 23:50
  1. EC2 인스턴스는 VPC 엔드포인트를 통해 AWS 서비스(S3, CodeDeploy, EC2 API 등)에 접근해야 함
  2. VPC 엔드포인트는 EC2의 요청을 받아서 AWS 서비스로 전달하는 역할을 함
  3. EC2 보안 그룹이 VPC 엔드포인트의 트래픽을 허용해야 하고, 반대로 엔드포인트 보안 그룹도 EC2의 요청을 허용해야 함

1. 올바른 보안 그룹 설정 방법

(1) VPC 엔드포인트 보안 그룹 설정

  • 대상(Destination) → EC2 보안 그룹 지정
  • 443 포트(TCP) 허용 (HTTPS 트래픽)

🔹 설정 방법

규칙 유형프로토콜포트 범위소스

HTTPS TCP 443 sg-EC2-SecurityGroup-ID (EC2 보안 그룹 ID)

설명:

  • VPC 엔드포인트는 EC2 보안 그룹에서 오는 트래픽(HTTPS 443)을 허용하도록 설정 한다.

(2) EC2 보안 그룹 설정

  • 대상(Destination) → VPC 엔드포인트 보안 그룹 지정
  • 443 포트(TCP) 허용 (HTTPS 트래픽)

🔹 설정 방법

규칙 유형프로토콜포트 범위대상

HTTPS TCP 443 sg-VPC-Endpoint-SecurityGroup-ID (VPC 엔드포인트 보안 그룹 ID)

설명:

  • EC2 인스턴스는 VPC 엔드포인트 보안 그룹으로 보내는 트래픽(HTTP 443)을 허용하도록 설정 한다. 

2. 잘못된 설정 예시

보안 그룹인바운드 규칙아웃바운드 규칙문제점

EC2 보안 그룹 443 포트, 소스: 자기 자신(sg-xxxxx) 443 포트, 대상: 자기 자신(sg-xxxxx) EC2 인스턴스가 엔드포인트와 통신할 수 없음
VPC 엔드포인트 보안 그룹 443 포트, 소스: 자기 자신(sg-yyyyy) 443 포트, 대상: 자기 자신(sg-yyyyy) EC2가 요청을 보내도 엔드포인트가 응답을 처리할 수 없음

🚨 보안 그룹을 동일하게 설정하면 트래픽이 차단될 가능성이 큼.
💡 따라서 EC2 보안 그룹과 VPC 엔드포인트 보안 그룹을 별도로 설정하고, 서로를 허용하는 방향으로 설정해야 함.


3. 최종 설정 정리

EC2 보안 그룹

  • 아웃바운드 규칙: VPC 엔드포인트 보안 그룹으로 HTTPS 443 허용

VPC 엔드포인트 보안 그룹

  • 인바운드 규칙: EC2 보안 그룹으로부터 오는 HTTPS 443 허용

이렇게 설정하면 프라이빗 서브넷에 있는 EC2가 VPC 엔드포인트를 통해 AWS CodeDeploy, S3, EC2 API 등의 AWS 서비스와 안전하게 통신할 수 있습니다.