안녕하세요
이번 시간에는 API Gateway REST API를 이용해 POST 메서드를 사용하는 실습을 진행하겠습니다.
0. 실습 전 알아두면 좋은 개념
[AWS] AWS Lambda에 대해 알아보고 Python 외부 모듈 적용하기 (tistory.com)
[AWS] API Gateway에 대해 알아보고 간단한 HTTP API 실습하기 (tistory.com)
[AWS] API Gateway REST API에 대해 알아보고 GET 메서드 실습하기 (tistory.com)
REST API POST 실습에 앞서 다음 개념을 학습한 후 실습하시면 좋습니다.
1. CORS (Cross-Origin Resource Sharing) 란?
CORS는 다른 도메인에서 오는 요청에 대한 API Gateway의 보안 설정입니다. 보안 정책으로, 같은 도메인에서만 API Gateway에 요청을 보낼 수 있습니다.
하지만 다른 도메인에서도 API Gateway에 접근하려면, CORS를 사용하여 API Gateway가 다른 도메인에 대한 요청을 수락하도록 설정해야 합니다. 이를 통해 브라우저에서 API Gateway로 요청을 보낼 때, 사전 요청을 보내어 API Gateway가 다른 도메인에서의 요청을 허용할지 여부를 결정합니다.
API Gateway에서 CORS를 활성화하면, API 리소스에 대한 OPTIONS 요청을 처리하여 브라우저가 실제 요청을 보내기 전에 사전 요청을 보낼 수 있도록 합니다. 따라서 API Gateway에서 CORS를 활성화하면 다른 도메인에서도 API Gateway에 액세스 할 수 있습니다.
2. API Gateway REST API를 이용한 POST 실습하기
import json
def lambda_handler(event, context):
post_data = event['body-json']['myKey']
return {
'statusCode': 200,
'body': json.dumps(post_data + 'post method')
}
다음과 같이 POST 메서드 실습을 위한 Lambda 함수를 구성합니다. 테스트 시 Dict가 ['body-json']에 담겨 전달되기 때문에 `event['body-json']`을 사용합니다.
AWS 콘솔에 API Gateway를 검색한 후 선택합니다.
우측 상단에 있는 [API 생성] 버튼을 눌러줍니다.
다음과 같이 REST API에 있는 [구축]을 선택합니다.
다음과 같이 구성하고 [API 생성]을 선택합니다.
메서드를 생성하기 앞서 먼저 [리소스 생성]을 선택합니다.
리소스 이름과 CORS를 활성화한 후 [리소스 생성]을 선택합니다.
리소스를 생성한 후 [메서드 생성] 버튼을 눌러서 메서드를 생성해줍니다.
[POST] 메서드를 선택한 후 체크합니다.
다음과 같이 통합 유형과 함수를 지정한 후 [저장] 합니다.
Lambda 함수를 호출하기 위한 권한을 추가합니다.
다음 화면에서 [통합 요청]을 선택합니다.
다음과 같이 메서드 요청이 왔을 때 Lambda event 처리할 템플릿을 추가합니다.
다음과 같이 [메서드 요청 패스스루]를 선택한 후 [저장]합니다.
상단에서 [메서드 실행] 버튼을 눌러 메서드 메인화면으로 돌아갑니다.
다음과 같이 메인 화면에서 [테스트] 버튼을 눌러 POST 메서드를 테스트합니다.
{
'myKey': 'hyuk'
}
다음과 같이 요청 본문에 다음과 같은 dict 값을 넣고 [테스트] 버튼을 누르면 정상적으로 POST 메서드가 동작하는 것을 확인할 수 있다.
로그를 확인하면 ['body-json']에 요청 본문에 적어준 dict 값이 들어간 것을 확인할 수 있다.
테스트가 끝났으니 [작업] - [API 배포]를 선택하여 API를 배포해 줍니다.
API Gateway에서 배포 스테이지는 API의 라이브 버전을 관리하는 방법을 제공합니다. 배포 스테이지를 사용하여 특정 API 버전을 특정 환경에 배포할 수 있는데 각각의 배포 스테이지는 고유한 URL을 가지고 있어 URL을 이용하여 API에 대한 요청을 보낼 수 있습니다.
그러면 다음과 같이 스테이지가 정상적으로 배포된 것을 확인할 수 있다.
POST 실습은 앞선 테스트처럼 하는 것이 아니라면 POST를 발생시키기 위해 API 테스트 툴(Postman)이 필요할 수 있다.
Lambda 함수로 돌아와 확인해 보면 트리거 위치에 API 게이트웨이가 추가된 것을 확인할 수 있습니다. API 게이트웨이를 선택하면 다음과 같이 구성에 대해 상세하게 볼 수 있다.
이번 시간에는 API Gateway REST API를 이용해 POST 메서드를 사용하는 실습을 진행해 봤습니다.
감사합니다.
'Cloud > Amazon Cloud' 카테고리의 다른 글
[AWS] AJAX와 서버리스를 활용한 정적 웹 호스팅 동적으로 전환하기(API Gateway, Lambda, S3) (0) | 2023.07.27 |
---|---|
[AWS] AWS WorkSpaces: 클라우드 기반 가상 데스크톱의 혁신적인 작업 환경 구성하기 (0) | 2023.07.07 |
[AWS] API Gateway REST API에 대해 알아보고 GET 메서드 실습하기 (0) | 2023.04.27 |
[AWS] API Gateway에 대해 알아보고 간단한 HTTP API 실습하기 (0) | 2023.04.26 |
[AWS] AWS Lambda에 대해 알아보고 Python 외부 모듈 적용하기 (0) | 2023.04.26 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!