프라이빗 API는 Amazon VPC 내에서만 호출이 가능한 REST API입니다. VPC에서 생성하는 엔드포인트 네트워크 인터페이스인 인터페이스 VPC 엔드포인트를 사용하여 API에 액세스할 수 있습니다. 인터페이스 엔드포인트는 사설 IP 주소를 사용하여 비공개로 AWS PrivateLink 서비스에 액세스할 수 있게 해주는 AWS 기술을 통해 제공됩니다.
또한 AWS Direct Connect를 사용하여 온프레미스 네트워크에서 Amazon VPC에 연결한 다음 그 연결을 통해 프라이빗 API에 액세스할 수도 있습니다. 어떤 경우에든 프라이빗 API로 가는 트래픽은 보안 연결을 사용하고 퍼블릭 인터넷과 격리됩니다. 트래픽은 Amazon 네트워크를 벗어나지 않습니다.
프라이빗 API 관련 모범 사례
프라이빗 API를 생성할 때 다음 모범 사례를 따르는 것이 좋습니다.
-
VPC 엔드포인트 하나를 사용하여 여러 개의 프라이빗 API에 액세스합니다. 이렇게 하면 필요한 VPC 엔드포인트 수가 줄어듭니다.
-
VPC 엔드포인트를 API에 연결합니다. 이렇게 하면 Route 53 별칭 DNS 레코드가 생성되어 프라이빗 API 간접 호출이 간소화됩니다.
-
VPC의 프라이빗 DNS를 켭니다. VPC에 프라이빗 DNS를 켜면
Host
또는x-apigw-api-id
헤더를 전달하지 않고도 VPC 내에서 API를 간접적으로 호출할 수 있습니다.프라이빗 DNS를 켜면 퍼블릭 API의 기본 엔드포인트에 액세스할 수 없습니다. 퍼블릭 API의 기본 엔드포인트에 액세스하려면 프라이빗 DNS를 끄고 VPC에서 각 프라이빗 API에 대한 프라이빗 호스팅 영역을 만든 다음 Route 53에서 필요한 레코드를 프로비저닝하면 됩니다. 이렇게 하면 프라이빗 API를 확인하는 동시에 VPC에서 퍼블릭 기본 엔드포인트를 간접적으로 호출할 수 있습니다. 자세한 내용은 프라이빗 호스팅 영역 생성을 참조하세요.
-
프라이빗 API에 대한 액세스를 특정 VPC 또는 VPC 엔드포인트로 제한합니다. API의 리소스 정책에
aws:SourceVpc
또는aws:SourceVpce
조건을 추가하여 액세스를 제한합니다. -
가장 안전한 데이터 경계를 위해 VPC 엔드포인트 정책을 생성할 수 있습니다. 이는 프라이빗 API를 간접적으로 호출할 수 있는 VPC 엔드포인트에 대한 액세스를 제어합니다.
프라이빗 API 관련 고려 사항
다음 고려 사항은 프라이빗 API 사용에 영향을 미칠 수 있습니다.
-
REST API만 지원됩니다.
그러나 프라이빗 API를 엣지 최적화된 API로 전환할 수는 없습니다.
-
프라이빗 API는 TLS 1.2만 지원합니다. 이전 버전의 TLS는 지원되지 않습니다.
-
HTTP/2 프로토콜을 사용하여 요청하는 경우 HTTP/1.1 프로토콜을 사용하도록 요청이 적용됩니다.
-
Amazon VPC에서 지원하는 모든 IP 주소 유형을 사용하여 트래픽을 전송할 수 있습니다. VPC 엔드포인트에서 설정을 구성하여 듀얼 스택 및 IPv6 트래픽을 전송할 수 있습니다. API Gateway를 사용하여 이를 수정할 수 없습니다. 자세한 내용은 VPC에 대한 IPv6 지원 추가를 참조하세요.
-
프라이빗 API를 위한 VPC 엔드포인트에도 다른 인터페이스 VPC 엔드포인트와 동일한 제한이 적용됩니다. 자세한 내용은 AWS PrivateLink 설명서의 인터페이스 VPC 엔드포인트를 사용하여 AWS 서비스에 액세스를 참조하세요. 공유 VPC 및 공유 서브넷에서 API Gateway를 사용하는 방법에 대한 자세한 내용은 AWS PrivateLink 가이드의 공유 서브넷을 참조하세요.
프라이빗 API 관련 다음 단계
프라이빗 API를 생성하고 VPC 엔드포인트를 연결하는 방법을 알아보려면 프라이빗 API 생성 섹션을 참조하세요. AWS CloudFormation에서 종속성을 생성하고 AWS Management Console에서 프라이빗 API를 생성하는 튜토리얼을 따르려면 자습서: 프라이빗 REST API 생성 섹션을 참조하세요.