[Google Cloud] API Gateway에 대한 개념과 설정 방법

2025. 2. 11. 11:00·Google Cloud

 

About API Gateway...

 


API 게이트웨이는 클라이언트와 백엔드 서비스 사이에서 API 호출을 관리하고 보안을 강화하며 로드 밸런싱 등의 기능을 수행하는 중요한 구성 요소이다. 이를 통해 API를 만들고, 공유하고, 유지보수하고, 보안을 강화하기 위해 호스팅, 로깅, 모니터링 및 기타 기능을 제공한다.

<간단하게 주요 기능>

 

요청 라우팅 및 로드 밸런싱: 클라이언트 요청을 적절한 백엔드 서비스로 라우팅하고, 트래픽이 특정 서버에 집중되지 않도록 로드 밸런싱을 수행합니다.

 

인증 및 권한 부여: OAuth, JWT, API 키 등의 인증 방식을 지원하여 보안을 강화하고, 특정 API에 대한 접근 권한을 제어할 수 있습니다.

 

요청 변환 및 데이터 처리: 클라이언트 요청을 백엔드 서비스에 맞게 변환하고, 응답 데이터를 조작하거나 포맷을 변환하는 기능을 제공합니다.

 

로깅 및 모니터링: API 호출 로그를 수집하고, 요청 및 응답 시간을 모니터링하며, 트래픽 분석을 통해 성능 병목을 파악하고 최적화할 수 있습니다.

 


 

게이트웨이에 대하여 구글링해보면 AWS 에 대한 API Gateway는 많이 나오지만 Google cloud에 대한 내용은 많이 부족하다. 내가 Google Cloud 서비스를 선택한 이유는 현재 쓰고 있는 서버가 Google Cloud VM인 이유가 가장 컸다.

 

API Gateway에 대한 주요 구성요소를 보여주는 다이어그램이다. 

https://cloud.google.com/api-gateway/docs/architecture-overview?hl=ko

 

 

 

AWS 처럼 HTTP API/ REST API/ WEBSOCKET API 이렇게 나눠져 있는것이 아닌 API 구성만 선택하고 OpenAPI 사양으로 작성하면 된다.

 

 

 

Swagger를 작성해봤으면 크게 어렵지는 않지만, Google에서 사용하는 매개변수가 있다.

 

path_translation 옵션
API Gateway의 x-google-backend 확장 프로그램은 두 가지 경로 변환 전략을 지원합니다.

1. APPEND_PATH_TO_ADDRESS (기본값)
클라이언트 요청의 리소스 경로를 백엔드 주소 뒤에 추가하는 방식
대부분의 백엔드 서비스에서 사용됨

 

x-google-backend:
  address: https://PROJECT_ID.appspot.com
  path_translation: APPEND_PATH_TO_ADDRESS

 

  • 클라이언트 요청: /hello/Dave
  • 백엔드 요청: https://PROJECT_ID.appspot.com/hello/Dave

 

2. CONSTANT_ADDRESS
백엔드 주소를 고정하고, 리소스 경로를 쿼리 매개변수로 전달하는 방식
주로 Cloud Run, Cloud Functions에서 사용됨

 

x-google-backend:
  address: https://GCP_REGION-PROJECT_ID.cloudfunctions.net/hello
  path_translation: CONSTANT_ADDRESS

 

  • 클라이언트 요청: /hello/Dave
  • 백엔드 요청: https://GCP_REGION-PROJECT_ID.cloudfunctions.net/hello?name=Dave

 

 

이처럼 path_translation 옵션을 적절히 설정하면 API Gateway에서 백엔드 서비스와의 원활한 URL 매핑이 가능하다.

 

 

 

 

설정완료!

 

이제 내가 매핑한 API의 Request count, Response status code, 요청 속도 등의 대시보드를 한눈에 볼수있다.

저작자표시 비영리 변경금지 (새창열림)

'Google Cloud' 카테고리의 다른 글

[Cloud Storage] 버킷에 CORS를 적용할 수 있다고?  (0) 2025.02.20
[Cloud Storage] 이미지 업로드 성능 개선기  (0) 2025.02.10
Cloud Storage에 JSON파일이 Upload 될 때, Bigquery Loads 파이프 라인 구성  (0) 2024.08.13
[Secret Manager] API 를 통하여 SSH 비밀 키 추출 및 SFTP 전송  (0) 2024.04.09
[Cloud Storage] MD5 hash 값을 활용하여 파일 무결성 체크  (0) 2024.03.25
'Google Cloud' 카테고리의 다른 글
  • [Cloud Storage] 버킷에 CORS를 적용할 수 있다고?
  • [Cloud Storage] 이미지 업로드 성능 개선기
  • Cloud Storage에 JSON파일이 Upload 될 때, Bigquery Loads 파이프 라인 구성
  • [Secret Manager] API 를 통하여 SSH 비밀 키 추출 및 SFTP 전송
창MIN
창MIN
  • 창MIN
    미니의 코드
    만들고 도전하는것을 좋아합니다💻
  • Guest
    Gmail
    GitHub
  • 전체
    오늘
    어제
    • 분류 전체보기 (25)
      • Google Cloud (6)
      • NodeJS (3)
      • NestJS (1)
      • Python (1)
      • DB (1)
      • Docker & Kubernetes (1)
      • Server & Infra (3)
      • CS (7)
      • Algorithm (2)
        • 개념 (2)
        • 문제 (0)
      • 개발 (0)
  • 인기 글

  • 태그

    Google Cloud
    cors 작동
    cors 개념
    알고리즘
    Cloud Function
    Cors
    서버 부하
    cloud logging
    google api gateway
    cloud buckets
    파일 무결성
    쿠키와 세션의 개념
    Cloud Storage
    버킷 cors
    서버 부하 분산
    typeScript
    nodejs
    Secret Manager
    signed url
    redoc
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
창MIN
[Google Cloud] API Gateway에 대한 개념과 설정 방법
상단으로

티스토리툴바