반응형
- 배경은 https://sunup1992.tistory.com/77 에서 볼 수 있고 해당 글에 이어 구체적으로 어떻게 적용하고 세팅했는지 방법을 정리하였다.
- 구조
- 현재 구조는 EC2 - ELB - API gateway 로 되어있고 ELB까지 VPC로 막혀있음
- CloudFront 배포 시 ELB를 원본 설정을 하면 VPC가 있다하더라도 CloudFront 라우팅을 통해 Request를 받으면 될 것이라 생각해 계속 ELB로 연결한다고 꽤 오래 삽질을 했다.
- VPC로 막혀있으면 CloudFront 통해 연결하면 origin 닿는데 실패했다고 response가 계속 넘어온다. 그래서 CloudFront의 원본을 API Gateway로 설정하였음
- Route 53에서 해외 호출용 Domain을 따로 만들어 CloudFront 배포한 것과 연결하였다.
- 현재 구조는 EC2 - ELB - API gateway 로 되어있고 ELB까지 VPC로 막혀있음
- 배포 하는 법
- 원본은 API Gateway로 해준다. 파란 칸 자리에 검색하면 밑에 카테고리 (S3, ELB, Gateway)별로 나옴
- ELB가 VPC로 감싸져있지 않다면 API Gateway가 아닌 ELB를 원본 도메인으로 둬도 문제가 없다.
- 프로토콜은 API Gateway가 HTTPS만 받기에 저렇게 설정해주면 된다.
- 캐시 동작 설정
- 프론트가 CloudFront를 사용하는 것과 다르게 API Server는 다양한 Method를 받아야하기에 HTTP 방법은 전부 풀어준다.
- 캐시 정책은 API Gateway를 사용하면서 Header에 토큰 정보와 GET 호출할 때의 쿼리 문자열 전부 가져와서 API Gateway에 그대로 라우팅 해줘야하기 때문에 별도 정책을 내가 만들어서 설정하였다. (가려진게 내가 만든 정책)
- 캐시 정책 설정하기
- Token 전달을 위해 헤더에 다음 값을 넣었고 쿼리 문자열은 모두 전달하도록 설정해서 정책을 만들었다.
- 나머지 설정하고 배포하면 끝!
- 일단 중동에만 서비스를 제공할 예정이기에 가격 분류는 저렇게 하였다
- 대체 도매인은 Route53에서 내가 만든 도메인을 넣고 거기에 맞는 인증서를 아래 선택하면 된다.
- 원본은 API Gateway로 해준다. 파란 칸 자리에 검색하면 밑에 카테고리 (S3, ELB, Gateway)별로 나옴
이렇게 최종 배포하고 Route53 도메인으로 API를 호출하면 정상적으로 API가 호출되는 것을 확인했다.
이번주 회사 사람들이 카타르로 넘어가서 속도 테스트만 해준다면 문제가 없을 듯 합니다 제발
반응형
'네트워크' 카테고리의 다른 글
쿠버네티스, 도커, 컨테이너 개념 정리 (0) | 2024.08.17 |
---|---|
API 서버 해외에도 적용하기 (시작) (1) | 2023.11.02 |
IP 관련 기술 (0) | 2020.10.19 |