본문 바로가기
Cloud/AWS

[Cloud] AWS 요청-응답 흐름 이해하기 (Client-ELB-Target Group-Security Group-EC2)

by SeungyubLee 2025. 9. 18.

AWS에서 서비스를 운영할 때, 클라이언트가 보낸 요청이 어떻게 처리되고 응답되는지를 이해하는 것은 매우 중요하다.

Client, ELB, Target Group, Security Group, EC2 각각의 역할과 흐름, 관계를 정리해보자


1. Client (클라이언트)

  • 역할 : 사용자가 브라우저나 앱을 통해 요청을 보내는 주체
  • 특징 :
    • 클라이언트는 ELB의 DNS 주소로 요청을 보냄
    • 클라이언트는 실제로 어떤 EC2 인스턴스가 응답하는지 알지 못함

2. ELB (Elastic Load Balancer)

  • 역할 : 들어온 트래픽을 적절한 서버(EC2)로 분산하는 분배기
  • 종류 :
    • ALB (Application Load Balancer) : 7계층(HTTP/HTTPS), URL·Host 기반 라우팅 가능
    • NLB (Network Load Balancer) : 4계층(TCP/UDP), 초고속/고성능 처리
  • 특징 :
    • ELB는 Target Group 단위로 트래픽을 분산
    • Listener 규칙에 따라 여러 Target Group으로 요청을 나눌 수 있음
      • 예 : /api/* → Target Group-A, /admin/* → Target Group-B
    • Health Check를 통해 정상(Healthy)인 EC2만 요청을 받도록 제어

3. Target Group (타겟 그룹)

  • 역할 : ELB가 트래픽을 분산할 대상을 모아둔 그룹
  • 구성 요소 : EC2, Lambda, IP 주소 등 (가장 흔한 건 EC2) 
  • 특징 :
    • Target Group 안의 EC2에만 요청을 분배
    • Health Check로 살아있는 인스턴스만 선택
  • 관계 (EC2와의 매핑) :
    • 하나의 Target Group에 여러 EC2를 포함 가능 (1 : N)
    • 하나의 EC2가 여러 Target Group에 포함될 수도 있음 (N : 1)
    •  N : N 관계 가능, 하지만 일반적으로는 1 : N 구조가 많음

※ Target Group은 ELB가 트래픽을 라우팅할 수 있는 엔드포인트 집합 (S3와 RDS는 Target Group에 직접 들어갈 수 없음)


4. Security Group (보안 그룹)

  • 역할 : EC2 인스턴스(또는 ELB)에 적용되는 가상 방화벽
  • 특징 :
    • Stateful : 요청이 허용되면 응답은 자동으로 허용
    • 인바운드 규칙 : 어떤 요청을 허용할지 제어 (예 : 80/443 포트)
    • 아웃바운드 규칙 : EC2가 외부로 나가는 트래픽 제어 (응답은 자동 허용)
  • 관계 (EC2와의 매핑) :
    • EC2 하나는 여러 보안 그룹을 적용할 수 있음
    • 하나의 보안 그룹을 여러 EC2가 공유할 수도 있음
    • → N : N 관계

※ EC2 인스턴스 단위로 보안 그룹을 붙일 수 있음 (예 : EC2 웹 서버 앞에 SG를 두어 80/443 포트만 허용)

 ELB 중 ALB(Application Load Balancer), CLB(Classic Load Balancer)는 SG 적용 가능, NLB(Network Load Balancer)는 SG 적용 불가능


5. EC2 (Elastic Compute Cloud)

  • 역할 : 실제 애플리케이션(웹 서버, API 서버, DB 서버 등)을 실행하는 가상 서버
  • 특징 :
    • 요청을 처리하고 응답을 생성하는 핵심
    • 보안 그룹 규칙에 따라 접근이 제어
    • Auto Scaling과 함께 사용하면 트래픽에 맞춰 인스턴스 수가 자동 조정

<요청-응답 전체 흐름>

1. 클라이언트(Client) → ELB에 요청 전송
2. ELB → Listener 규칙에 따라 적절한 Target Group으로 요청 전달
3. Target Group → Health Check로 정상 상태인 EC2로만 트래픽 전달
4. EC2 앞단의 Security Group → 인바운드 규칙 확인 후 요청 허용 여부 결정
5. EC2
      · 요청을 처리하는 핵심 서버
      · 필요 시 내부적으로 S3(파일/이미지 저장소)나 RDS(데이터베이스)를 호출해 데이터를 읽거나 저장
      · 이렇게 EC2가 Target Group에 속해 클라이언트 요청을 직접 받고, 내부적으로 S3, RDS와 같은 AWS 서비스와 연동하는 구조가 일반적
6. 응답(Response) → EC2 → ELB → Client 로 전달
      · 이때, 보안 그룹은 stateful이므로 응답은 자동 허용


<관계 요약 (몇 대 몇)>

  • Client(1) ↔ ELB(N) (여러 ELB에 붙을 수 있지만, 보통 1 : 1)
  • ELB(1) ↔ Target Group(N) (Listener 규칙에 따라 여러 Target Group 사용 가능)
  • Target Group(N) ↔ EC2(N) (일반적으로는 1 : N, 특정 경우 N : N 가능)
  • Security Group(N) ↔ EC2(N) (공유 Security Group, 다중 Security Group 가능)

<추가로 중요하게 알아야 할 포인트>

  • 보안 그룹은 반드시 EC2 앞에 둬야 함
    → 보통 "ELB의 보안 그룹만 열고, EC2는 ELB 보안 그룹에서 오는 트래픽만 허용"하는 식으로 설정
  • 응답은 자동 허용 (Stateful)
    → Outbound 규칙을 일일이 지정하지 않아도, Inbound 요청이 허용됐다면 응답은 자동 허용
  • Auto Scaling과 연동
    → 새로운 EC2가 자동으로 Target Group에 등록되고, ELB가 자동으로 분산에 반영
  • NLB에는 보안 그룹이 없음
    → ALB는 보안 그룹 적용 가능, NLB는 VPC(Virtual Private Cloud) 레벨 네트워크 제어만 가능

※ 결론

AWS에서의 요청-응답 구조는 다음과 같이 요약 가능
Client → ELB → Target Group → (Security Group → EC2) → ELB → Client

  • ELB는 요청, 응답 모두를 중계하는 관문
  • Target Group은 EC2 집합 관리
  • Security Group은 보안 제어
  • EC2는 요청 처리 및 결과 생성, 응답

'Cloud > AWS' 카테고리의 다른 글

[Cloud] AWS EC2 IP 도메인 연결 방법  (0) 2025.08.20