REST API 생성
- API 생성 버튼 클릭 후, REST API의 구축 클릭
리소스 생성
- 좌측 리소스 클릭 후, 리소스 생성 버튼 클릭
- Configure as proxy resource : 프록시 리소스 사용
- Enable API Gateway CORS : cross-origin HTTP 요청을 제한하는 브라우저 보안 기능
https://docs.aws.amazon.com/ko_kr/apigateway/latest/developerguide/how-to-cors.html
메소드 생성
- DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT에 대해 단일 API를 생성 가능
- ANY를 통해 지원되는 모든 HTTP 메서드(위의 나열내용) 설정 가능
요청 제한사항 추가
- 메서드요청(Method Request) 편집에서 설정
- 메서드 요청설정 : IAM 권한을 부여, API Key가 필요한지 설정
- URL 쿼리 문자열 파라미터 : 요청시에 필수로 체크할 파라미터 설정
- HTTP 요청 헤더 : 요청시에 필수로 체크할 헤더 설정
스테이지 설정
- API 변경사항을 적용하려면 스테이지를 배포해야 적용 됨
- 변경된 히스토리를 관리할 수 있음
- 스테이지 세부 정보 : 요율(초당 요청수), 버스트 (동시요청수)와 방화벽 및 인증서 설정
- 로그 및 추적 : API 요청 로그를 cloudWatch를 통해 추적하는 설정
- 로그 형식 예제
{
"request_id": "$context.requestId",
"client_ip": "$context.identity.sourceIp",
"caller_identity": "$context.identity.caller",
"user_identity": "$context.identity.user",
"timestamp": "$context.requestTime",
"http_method": "$context.httpMethod",
"resource_path": "$context.resourcePath",
"response_status": "$context.status",
"protocol": "$context.protocol",
"response_length": "$context.responseLength",
"integration_latency_ms": "$context.integrationLatency",
"integration_status": "$context.integrationStatus",
"error_message": "$context.error.message",
"api_id": "$context.apiId",
"stage_name": "$context.stage"
}
게이트웨이 응답 메세지 변경
- 게이트웨이 응답에서 기본 템플릿 변경으로 손쉽게 수정 가능
리소스 정책
- 리소스 정책을 사용하여 이 API에 대한 액세스 제어를 구성
- 정책의 변경 사항을 적용하려면 API를 재배포(스테이지 재배포)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:ap-northeast-2:12345123455:5599aaj21k/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"123.123.32.0/25",
"123.456.192.123/32"
]
}
}
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:ap-northeast-2:12345123455:5599aaj21k/*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"123.123.32.0/25",
"123.456.192.123/32"
]
}
}
}
]
}
API Key 생성 및 적용
- 좌측 API키 메뉴에서 새로운 Key 생성
- 생성된 Key를 생성한 API에 적용하기 위해선 사용량 계획(Usage Plans)을 연결해야 함
- 사용량 계획에선 초당 요청 수(Rate) / 버스트 요청 수(Brust) / 일일 요청 수 등이 설정 가능
API Gateway 콘솔을 사용하여 사용량 계획 생성, 구성 및 테스트 - Amazon API Gateway
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
'Platform > AWS' 카테고리의 다른 글
AWS - DynamoDB Pagination과 Where절 (0) | 2025.03.23 |
---|---|
AWS - Athena 날짜관련 함수 (0) | 2025.03.19 |
AWS - Lambda VPC를 사용하여 고정 IP 주소 생성 (0) | 2024.08.28 |
AWS - Lambda Runtime 실행환경 (0) | 2024.08.28 |
AWS - Lambda Warm and Cold Start (0) | 2024.08.25 |