AWS가 제시하는 클라우드 설계 패턴 정리 2

HongEh·2025년 11월 13일

클라우드

목록 보기
2/3

API 라우팅 패턴 왜 필요한가?

API 라우팅 패턴은 클라이언트 요청이 어떤 서비스로 전달될지 명확하게 정의하는 규칙입니다.

1. 서비스 경로를 표준화하기 위해

서로 다른 팀이 개발한 서비스가 뒤섞이면
/users, /user, /api/v1/user, /v1/users
같은 비일관적 경로들이 발생합니다.

API 라우팅 패턴을 적용하면 다음처럼 모든 서비스가 같은 규칙을 따르게 된다.

/api/v1/users
/api/v1/orders
/api/v1/auth

2. API Gateway가 요청을 올바른 서비스로 라우팅하기 위해

MSA 구조는
프론트엔드 → API Gateway → Microservices
Gateway는 요청이 들어왔을 때 이렇게 해야 합니다.

/api/v1/users → user-service  
/api/v1/auth  → auth-service  
/api/v1/routine → routine-service

3. 버저닝을 통한 서비스 변경 관리

API는 시간이 지나면 변경되기 마련이다.
하지만 기존 앱은 옛버전을 여전히 호출할 수 있기 때문에,
버전 관리(v1, v2, v3 …) 해야 서비스 업그레이드가 용이합니다

/api/v1/users  ← 기존 앱 유지
/api/v2/users  ← 새로운 Response 제공

4. 보안·인증 정책을 서비스별로 다르게 적용 가능

/api/v1/auth/* → 인증 제외 (login 필요 없음)
/api/v1/users/* → JWT 인증 필요
/api/v1/admin/* → 관리자 Role 필요

일관된 라우팅 구조가 있어야
Gateway, Spring Security, Role 기반 접근 제어를 쉽게 설정할 수 있다.

호스트 이름 라우팅

https://api.myservice.com/users
https://admin.myservice.com/dashboard
https://m.myservice.com/home

이런식으로 요청이 들어오면 각각의 도메인이 다르기에 Gateway가 Service를 다르게 보낸다.
1) 기능별로 도메인을 분리할 수 있음 (서비스 경계 명확)

	•	api.example.com → API 서버
	•	admin.example.com → 관리자 웹
	•	cdn.example.com → 정적 파일
	•	openapi.example.com → 외부 개발자용 API

2) URL 구조를 깔끔하게 유지할 수 있음

Path-based Routing (경로 기반)

example.com/api/users
example.com/admin/dashboard

Host-based Routing (도메인 기반)

api.example.com/users
admin.example.com/dashboard

3) MSA + API Gateway와 궁합이 최고임

Nginx, AWS ALB, Spring Cloud Gateway, Envoy 모두 지원하는 패턴.

예: Spring Cloud Gateway에서 Host 라우팅

routes:
  - id: user-service
    uri: http://user-service:8080
    predicates:
      - Host=api.example.com

  - id: admin-service
    uri: http://admin-service:8080
    predicates:
      - Host=admin.example.com


호스트 이름 라우팅 패턴은 도메인을 기준으로 요청을 서로 다른 백엔드 서비스로 라우팅하는 패턴이다.
MSA 환경에서 서비스 경계를 명확하게 하고, 인증/보안/트래픽 정책을 도메인 단위로 분리하여 적용할 수 있다는 장점이 있다.
또한 API Gateway(Nginx, ALB, SCG 등)에서 광범위하게 지원되며,
규모가 커질수록 Host 기반 분리가 API 설계와 운영 효율을 크게 향상할수있다.

AWS API 라우팅 패턴
https://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/cloud-design-patterns/api-routing.html

profile
화이팅

0개의 댓글