[API Gateway] AWS API Gateway

Hyunjun Kim·2025년 5월 23일
0

Data_Engineering

목록 보기
80/153

2 AWS API Gateway

2.1 실습 환경

강의자료 P04-C07 웹서버로 콘텐츠 구분해서 서빙하기 > 2.3 실습 세팅 과 같이 두대의 EC2 서버에
/user, /customer 를 서빙하는 application을 띄운다. 포트번호는 기본(9000).


2.2 API Gateway 생성하기

  1. https://console.aws.amazon.com/apigateway 접속
  2. Create API
  3. REST API 선택
  4. API name 지정
  5. Entrypoint Type: Regional
  6. Create API

2.3 API 연결하기

2.3.1 리소스 생성

생성한 API를 선택. Resource 탭
1. Actions > Create Resource
2. Resource name 은 path를 입력, PATH는 자동지정
3. Create Resource

2.3.2 메소드 생성, endpoint연결

생성한 Resource를 선택하고
1. Actions > Create Method
2. GET 선택
3. Integeration Type: HTTP
4. endpoint URL 에 server1server1 의 `IP:$PORT/user` 를 입력

  • 꼭 Gateway의 path 와 동일할 필요는 없다.
  1. Save

같은 방식으로 /customer$server2/customer endpoint로 연결한다.

2.3.3 Deploy

배포
1. Actions > Deploy API
2. (stage 가 없다면 ) create stage
3. v1 입력후 생성
4. 배포

좌측 Stage 탭
1. 리소스를 클릭 URL을 얻는다.
2. URL과 지정한 PATH로


2.4 Stage 로 구분하기

stage 는 같은 API 설정에 대해서 환경을 구분할 때 또는 버전을 구분할 때 쓴다.

2.4.1 Stage 생성하기

Stages

  • Create
  • v2 stage 를 만든다.

2.4.2 변경사항 새로운 Stage로 배포

Resources > /user GET 선택

  1. Integration Request

  2. Headers

  3. X-VERSION 의 값을 수정

    • 없다면 add header 로 추가
  4. Actions > Deploy API

  5. v2를 선택


2.5 변수활용하기

Stage 변수를 지정하고, 변수를 URI, header 등의 값으로 활용할 수 있다.
Stage Variable 활용처: doc

2.5.1 Stage Variable 생성

Stages 탭> 원하는 Stage > Stage Variable 탭
1. Add Stage Variable
2. key value 형식으로 입력
3. name: myname
4. 저장

2.5.2 Stage Variable 활용

Resources > /user GET 선택
1. Integration Request
2. Headers
3. Add Header
4. X-stageVar: stageVariables.name
- 버전 구분을 위해 X-VERSION 도 수정.
5. 저장
6. Actions > Deploy API


2.6 Canary Deploy 활용하기

2.6.1 Canary 생성

Stages 탭> 원하는 Stage > Canary 탭

  • Create Canary

2.6.2 Canary 비율 설정

Percentage of requests directed to Canary > 50% 으로 수정

2.6.3 Canary 용 Stage Variable 설정

Canary Stage Variables
1. add variable
2. name: myname-canary 로 설정

2.6.4 Resource 수정 후 배포

Resources > /user GET 선택
1. Integration Request
2. Headers
3. X-VERSION 의 값을 수정
4. Actions > Deploy API
5. $stage(Canary Enabled) 를 선택

2.6.5 Canary 상태 확인

반복적으로 API 요청을 하면서 50:50 비율로 헤더의 값이 변하는지 확인한다.

2.6.6 Canary 마무리

Stages 탭> 원하는 Stage > Canary 탭

  • Promote Canary 를 누르고 모두 선택한후 완료
  • 새로운 버전으로 100% 로 배포된다.
  • StageVariable 도 Canary Override Value 이었던 값이 Stage Value로 들어간다.
profile
Data Analytics Engineer 가 되

0개의 댓글