728x90
- VPC Endpoint 생성 → Private Rest API 생성→ 프록시 Lambda 생성 → Private Rest API 서비스 및 메소드 생성 → VPC 권한 정책 수정 → Rest API 배포
[ Private Rest API 생성하기 ]
AWS VPC Endpoint 생성
[ VPC Endpoint 생성 ]
- API Gateway 용 VPC 엔드포인드 생성이 필요
- 통신 하고자 하는 VPC 와 연결 필요
[ Execute api 서비스 엔드포인트 생성 ]
- 서비스 이름을 execute로 검색후 execute-api 선택
- VPC 항목에 연결하고자 하는 VPC ID 선택
AWS 콘솔에서 API Gateway 검색 후 신규 API 생성
[ API 생성 클릭 ]
[ Rest Api Private - 구축 클릭 ]
[ Private Rest Api 구성 ]
- API 이름 : 사용할 API 이름 정의
- 설명 : API 설명 작성
- 엔트포인트 유형 : Private
(Regional, Edge optimized, Private : 본 실습에서는 Private으로 구성) - VPC 종단점 ID (VPC Endpoint ID) : 위에서 생성한 API용 Endpoint ID 입력
AWS API Lambda 생성하기
[AWS Lambda 생성] [ Lambda VPC 설정 ]
- AWS Console에서 Lambda 검색후 생성하기 클릭
- 이번 실습에서는 Python3.7 로 구성하여 작업
- 다음과 같이 구성이 완료 됩니다
import json
def lambda_handler(event, context):
# TODO implement
# API Gateway 프록시 사용시 Responce Type으로 꼭 전달해줘야 됨 (중요!!!!!!)
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
API 콘솔 사용하여 Get , Post Rest Service 구현하기
[ 위에서 생성한 API Console ]
- API 리소스와 메소드 생성, 권한 등 API 컨트롤 및 관리 기능을 제공
[API 작업 설명]
- Create Method : Rest 함수 생성 (ex. Get, Post)
- Create Resource : 해당 API 리소스 기준으로 관리가 가능(Tree 구조로 서비스 관리 가능)
- Deploy API : 생성된 서비스들을 배포 작업진행
* 배포시 Stages에서 관리가 됨
리소스 생성하기
[ Create Resource ]
- Resource Name : 사용 리소스 명칭 정의
- Presource Path : 실제 구성되는 리소스의 경로 (Url 호출시 사용되는 Path)
메소드 생성하기 (Get Method)
[ Create Get Method ]
- 통합 유형 : 연결하고자 하는 서비스 유형 선택 (Lambda 함수로 실습)
- Lambda 프록시 통합 사용 : 사용을 해야 Request 정보를 전달 받을수 있음
- Lambda 리전 : 사용할 리전 선택
- Lambda 함수 : 연결 하고자하는 Lambda 선택
생성된 메소드 TEST
[ API Gate Way Get Method Test ]
Private API VPC 권한 설정 및 배포작업(API 권한 설정하기)
[ 리소스 정책 수정 ]
- 선택한 API → 리소스 정책 → 리소스 정책 추가
- 현재 실습을 위해 Resource 모든 접근 권한으로 설정 ( * )
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "*"
}
]
}
Private API VPC 권한 설정 및 배포작업(API 서비스 배포하기)
[API 배포하기]
- 배포 스테이지 : 없으면 신규 생성 , 있으면 배포 스테이지 선택
- 배포 완료시
[ 신규 생성된 Stage에 API 배포 ]
https://xxxxxxxxxx-vpce-xxxxxxxxxxxxxx.execute-api.ap-northeast-2.amazonaws.com/NewStage/my-resource
https://{ API ID }-{ VPC Endpoint Id }.execute-api.ap-northeast-2.amazonaws.com/NewStage/my-resource
[ API 적용 테스트 결과 ]
출처 : https://urame.tistory.com/entry/AWS-API-Gateway-Private-Rest-%EB%A7%8C%EB%93%A4%EA%B8%B0
728x90
'[AWS 기타]' 카테고리의 다른 글
Squid로 NAT 인스턴스에 DNS 필터링을 추가하는 방법 (0) | 2023.01.19 |
---|---|
AWS - Route53 (0) | 2023.01.19 |
Amazon API Gateway 기반 VPC Link 활용 방법 (0) | 2023.01.19 |
[AWS] VPC Peering과 Transit Gateway 비교 (0) | 2023.01.18 |
[추천] Set Up a Multi-Account AWS Environment that Uses Best Practices for AWS Organizations (0) | 2023.01.18 |