이번 글에서는 Client VPN을 사용하여 local에서 Private API Gateway Access 하려고자 합니다. Private API Gateway는 AWS API Gateway가 제공하는 API 유형 중 하나로, API를 인터넷에 공개하지 않고 특정 VPC 내부에서만 접근 가능하도록 제한하는 방식입니다. 이를 통해 안전하고 제한적인 네트워크 환경에서 API를 운영할 수 있습니다.
1. Endpoint 생성
Private API Gateway는 여러 방법으로 사용할 수 있지만, 이번 글에서는 특정 VPC 내에 접근이 가능하게 구성해보겠습니다. 먼저 VPC Endpoint를 생성해야 합니다.

2. Private API Gateway 생성
이제 Private API Gateway를 생성할 수 있습니다. Private API Gateway를 생성하기 위해선 REST API으로 생성해야 하며, API endpoint type을 Private으로 생성해야 합니다.

Private API Gateway를 생성한 후, 테스트 목적으로 동작하는 API 엔드포인트를 설정해야 합니다.


설정 후 API Gateway를 배포하기 위해선 Resouce policy를 생성해야 합니다.


{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "execute-api:Invoke",
"Resource": "arn:aws:execute-api:ap-northeast-2:<account-id>:<api-id>/*",
"Condition": {
"StringEquals": {
"aws:SourceVpce": "vpce-xxxxxxxxxxxxxxxxx"
}
}
}
]
}
Resouce Policy 설정까지 마쳤다면 이제 API Gateway를 배포할 수 있습니다.


3. Client VPN 생성
API Gateway 배포까지 마쳤다면 Client VPN을 생성해야 합니다.
Client VPN에 대한 인증서는 간단하게 EasyRSA를 사용하여 구성할 수 있습니다. 아래 글을 참고하여 생성합니다.
AWS Client VPN에 대한 상호 인증 활성화 - AWS Client VPN
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
인증서 구성까지 마쳤다면 client vpn을 생성합니다. Client vpn 구성은 아래 글에 나와있으니 참고하여 생성합니다.
2025.01.03 - [AWS Service] - [AWS Service] Openssl을 사용해서 Client VPN 연결
4. 동작 테스트
Client VPN을 연결하시고, 정상적으로 연결이 되었다면 Private API Gateway에 curl 요청을 보내면 아래와 요청이 정상적으로 가게 됩니다.

curl <API Gateway URL>

마무리
이번 글에서는 Private API Gateway를 Client VPN을 통해 로컬 환경에서 접근해보았습니다. API Gateway는 다양한 기능을 지원하기 때문에 학습해야 할 내용도 많습니다. 그중 이번에는 Private API 기능을 활용해보았습니다. 이번 글은 여기서 마치겠습니다 읽어주셔서 감사합니다.
'AWS Service' 카테고리의 다른 글
| [AWS Service] 생성한 EC2에 EBS 마운트하는 방법 (1) | 2025.06.12 |
|---|---|
| [AWS Service] MWAA와 Glue를 연동하여 데이터 파이프라인 구축하기 (0) | 2025.02.15 |
| [AWS Service] Amazon Macie를 사용하여 S3 데이터 분석 (0) | 2025.01.21 |
| [AWS Service] S3에 저장된 log Athena로 분석 (0) | 2025.01.21 |
| [AWS Service] Fluent-Bit로 Cloudwatch에 Log 전송 (0) | 2025.01.21 |