[AWS]API Gateway와 EC2 연결하기
이번 포스팅에서는 API 게이트웨이를 활용하여, EC2 인스턴스에 프록시로서 연결하는 방법에 대해서 소개해드리겠습니다.
일반적으로, AWS Lambda의 API를 만들때 API gateway를 활용하곤 합니다.
그런데, 몇몇 경우에는 EC2에 Proxy를 만들어서 사용 해야 하는 경우가 있습니다.
(저 같은 경우에는 사실, 단지 SSL 인증서가 필요한 경우였는데, ELB를 달고, Certificate Manager에 Route53까지 하는 과정이 너무 과하다 싶어서 API Gateway를 이용했습니다. ㅎㅎ)
일단 지난 포스팅에서 소개했던 방식으로 저희가 EC2 인스턴스에 Flask 서버 하나를 돌리고 있다고 가정하겠습니다.
“http://x.x.x.x:5000/ “.라는 서버에 API Gateway를 연결 해보도록 하겠습니다.
아래 그림만 가볍게 쭉 따라가주세요~!
1. API Gateway 콘솔로 이동후 Build in HTTP API 클릭
3. 이름 입력하고 Review and Create 클릭
4. Create 클릭
5. invoke URL 클릭하여, API가 생성되었는지 확인
6. 왼쪽 메뉴에서 “Route” 클릭
이 부분이 중요한데, 반드시 /{proxy+} 라고 입력을 해주셔야 합니다. 그렇게 하지 않으면, 서버에서 제공하는 다른 라우트들을 API Gateway가 제공해줄 수 없습니다. 예를들어서 /users, /posts 등등
7. 왼쪽 메뉴에서 “integrations”으로 이동
8. “Create and attach an integration” 클릭
9. “HTTP URI” 을 Integration target으로 선택
여기 또 중요한 부분인데, 반드시 URL을 다음과 같이 작성해주세요! http://yourip:port/{proxy}.
다시 말씀드리지만, {proxy} 이 부분이 다른 라우트들을 포함해서 제공 할 수 있게 해줍니다! 이때는 +가 없습니다. (e.g. /static/style.css)
10. 마지막으로 확인!
Happy coding!