Docs Menu
Docs Home
/ /
Atlas App Services
/

VPC 비공개 엔드포인트 사용(미리 보기)

이 페이지의 내용

  • 시작하기 전에
  • 비공개 엔드포인트 추가
  • 일반 엔드포인트 추가
  • 동기화 엔드포인트 추가
  • 액세스 제한 변경
  • 비공개 엔드포인트가 IP 액세스 목록을 무시합니다.
  • 지원되는 SDK 버전
  • 비공개 엔드포인트 제한 사항

비공개 엔드포인트를 사용하여 가상 사설 클라우드(VPC) 내에서 Atlas App Services에 액세스할 수 있습니다. 이는 공용 Atlas App Services Go 인터넷을 통해 를 사용하지 않는 에 대한 비공개 연결입니다. VPC 외부의 요청은 404 오류를 반환합니다.

비공개 엔드포인트는 의 리전 에 로컬로 배포된 Atlas App Services 앱에만 사용할 수 있습니다.Amazon Web Services Amazon Web Services VPC 를 AWS PrivateLink 사용하여 에 연결합니다. 학습내용은 AWS PrivateLink 란 무엇인가요? 를 Amazon Web Services 참조하세요. 문서에서 확인 가능합니다.

App Services 비공개 엔드포인트에는 두 가지 종류가 있습니다.

  • 일반: 클라이언트 HTTP 요청에 services.cloud.mongodb.com 를 사용하는 엔드포인트입니다.

  • 동기화: 동기화 WebSocket 연결에 services.cloud.mongodb.com 을(를) 사용하는 엔드포인트입니다.

중요

사용자 지정 HTTPS endpoints데이터 API 엔드포인트 는 비공개 엔드포인트 에서 지원되지 않습니다.

다음 정보를 수집합니다.

  • VPC ID대시보드 에서 또는 Amazon Web Services VPC describe-vpc 를 실행 하여 찾을 수 있는 Amazon Web Services CLI 에서 명령을 실행합니다.

  • Amazon Web Services VPC 대시보드에서 또는 describe-subnets 를 실행하여 찾을 수 있는 서브넷 ID Amazon Web Services CLI 에서 명령을 실행합니다.

VPC 에 대한 비공개 호스팅 구역 을 설정합니다. 이를 위해서는 VPC ID 가 필요합니다. ModifyVpcAttribute 사용 다음 VPC 속성을 true로 설정하다 합니다.

  • EnableDnsHostnames

  • EnableDnsSupport

또한 Amazon Web Services CLI 를 설치하고 인증해야 합니다.

App Services UI 또는 관리자 API 를 사용하여 새 일반 엔드포인트 또는 동기화 엔드포인트를 추가할 수 있습니다.

1
  1. App Services UI 에서 App Settings 로 이동한 다음 Private Endpoints 탭 을 클릭합니다.

  2. Add Private Endpoint을(를) 클릭한 다음 General을(를) 클릭합니다.

  3. 별도의 필드에 VPC ID 와 서브넷 ID(쉼표로 구분된 목록)를 추가한 다음 Next 을(를) 클릭합니다.

  4. 생성된 VPC Interface Endpoint Command 을 복사합니다. 명령은 다음과 같이 표시되어야 합니다.

    aws ec2 create-vpc-endpoint \
    --vpc-endpoint-type Interface
    --service-name <App Services Endpoint Service Name> \
    --vpc-id <your-vpc-id> \
    --region <your-aws-deployment-region> \
    --subnet-ids <your-subnet-ids>
  5. 터미널에서 생성된 Amazon Web Services CLI 명령을 실행하여 VPC 엔드포인트를 생성합니다.

2

VPC에서 인터페이스 엔드포인트를 생성했으므로 이제 앱에 추가해야 합니다.

  1. 이전 단계에서 실행한 명령의 출력 또는 Amazon Web Services 대시보드의 엔드포인트 세부 VPC 정보 화면에서 엔드포인트 ID CLI VPC 를 찾습니다. 이 값은 vpce- 으로 시작합니다.

  2. 새 VPC 엔드포인트의 ID 를 복사하여 App Services UI 의 Your VPC Endpoint ID 필드 에 붙여넣은 다음 Next 을(를) 클릭합니다.

  3. 첫 번째 비공개 엔드포인트를 생성하는 경우, PrivateLink 연결 외부의 요청에 대한 모든 액세스를 제한하거나 개방하는 데 사용할 수 있는 토글이 표시됩니다. 기본적으로 Atlas App Services는 PrivateLink 연결 외부에서 들어오는 모든 요청을 차단합니다. 이 설정은 이 엔드포인트와 사용자가 생성하는 모든 추가 엔드 포인트에 적용됩니다. 자세한 내용은 액세스 제한 변경 을 참조하세요.

  4. Finish Endpoint Creation를 클릭합니다.

1
  1. List VPC Private Endpoint Services 엔드포인트를 호출합니다.

  2. 응답 객체 를 필터링하여 앱의 배포서버 리전 및 생성하려는 엔드포인트 유형에 대한 항목을 찾습니다.

    curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/security/private_endpoint_service_infos \
    -H "Authorization: Bearer <access_token>"
    [
    {
    "cloud_provider_region": "aws-us-east-1",
    "service_name": "com.amazonaws.vpce.us-east-1.vpce-svc-0718bec2c0bdeab5c",
    "endpoint_type": "general"
    },
    ...
    ]
  3. 이전 단계의 원하는 항목에서 service_name 필드 를 가져옵니다.

  4. VPC create-vpc-endpoint 를 사용하여 Amazon Web Services CLI 엔드포인트 생성 명령. App Services 엔드포인트 서비스 이름, VPC ID, 서브넷 ID 및 Amazon Web Services 배포서버 리전 이 필요합니다. 명령은 다음과 같이 표시되어야 합니다.

aws ec2 create-vpc-endpoint \
--vpc-endpoint-type Interface
--service-name <App Services Endpoint Service Name> \
--vpc-id <your-vpc-id> \
--region <your-aws-deployment-region> \
--subnet-ids <your-subnet-ids>
2

VPC에서 인터페이스 엔드포인트를 생성했으므로 이제 앱에 추가해야 합니다.

  1. 이전 단계에서 실행한 명령의 출력 또는 Amazon Web Services 대시보드의 엔드포인트 세부 VPC 정보 화면에서 엔드포인트 ID CLI VPC 를 찾습니다. 이 값은 vpce- 으로 시작합니다.

  2. VPC 엔드포인트의 ID 가 있는 경우 엔드포인트 ID, cloud 배포서버 리전 및 엔드포인트 유형을 사용 하여 VPC 비공개 엔드포인트 생성 을 호출합니다. 예를 예시 aws-us-east-1 을(를) 사용합니다.

curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/security/private_endpoints \
-X POST \
-H "Authorization: Bearer <accessToken>" \
-H "Content-Type: application/json" \
-d '{
"cloud_provider_region": "<your-cloud-deployment-region>",
"cloud_provider_endpoint_id": "<your-vpc-endpoint-id>",
"endpoint_type": "general",
"comment": "Optional: add a comment describing the endpoint."
}'

모든 동기화 엔드포인트는 일반 엔드포인트와 쌍을 이루어야 합니다.

1
  1. App Services UI 에서 App Settings (으)로 이동한 다음 Private Endpoints 탭 을 클릭합니다.

  2. Add Private Endpoint을(를) 클릭한 다음 Sync을(를) 클릭합니다.

  3. 별도의 필드에 VPC ID 와 서브넷 ID(쉼표로 구분된 목록)를 추가한 다음 Next 을(를) 클릭합니다.

  4. 생성된 VPC Interface Endpoint Command 을 복사합니다. 명령은 다음과 같이 표시되어야 합니다.

    aws ec2 create-vpc-endpoint \
    --vpc-endpoint-type Interface
    --service-name <App Services Endpoint Service Name> \
    --vpc-id <your-vpc-id> \
    --region <your-aws-deployment-region> \
    --subnet-ids <your-subnet-ids>
  5. 터미널에서 생성된 Amazon Web Services CLI 명령을 실행하여 VPC 엔드포인트를 생성합니다.

  6. 또한 App Services 에서 생성하는 명령을 사용하여 일반 엔드포인트를 만들어야 합니다.

2

이제 VPC에서 인터페이스 엔드포인트를 생성했으므로 이를 앱에 추가해야 합니다.

  1. 이전 VPC 단계에서 실행한 명령의 출력 CLI 또는 Amazon Web Services 대시보드의 엔드포인트 세부 정보 화면에서 동기화 및 일반 엔드포인트 ID VPC 를 찾을 수 있습니다. 이 값은 vpce- 으로 시작합니다.

  2. 새 VPC 엔드포인트 ID를 복사하여 App Services UI 의 해당 Your VPC Endpoint ID 필드 에 붙여넣은 다음 Next 를 클릭합니다.

  3. 첫 번째 비공개 엔드포인트를 생성하는 경우, PrivateLink 연결 외부의 요청에 대한 모든 액세스를 제한하거나 개방하는 데 사용할 수 있는 토글이 표시됩니다. 기본적으로 Atlas App Services는 PrivateLink 연결 외부에서 들어오는 모든 요청을 차단합니다. 이 설정은 이 엔드포인트와 사용자가 생성하는 모든 추가 엔드 포인트에 적용됩니다. 자세한 내용은 액세스 제한 변경 을 참조하세요.

  4. 이 페이지의 일반 비공개 엔드포인트 생성 단계에 따라 일반 비공개 엔드포인트도 생성해야 합니다.

  5. Finish Endpoint Creation를 클릭합니다.

1
  1. List VPC Private Endpoint Services 엔드포인트를 호출합니다.

  2. 응답 객체 를 필터링하여 앱의 배포서버 리전 및 생성하려는 엔드포인트 유형에 대한 항목을 찾습니다.

    curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/security/private_endpoint_service_infos \
    -H "Authorization: Bearer <access_token>"
    [
    {
    "cloud_provider_region": "aws-us-east-1",
    "service_name": "com.amazonaws.vpce.us-east-1.vpce-svc-0718bec2c0bdeab5c",
    "endpoint_type": "sync"
    },
    ...
    ]
  3. 이전 단계의 원하는 항목에서 service_name 필드 를 가져옵니다.

  4. VPC create-vpc-endpoint 를 사용하여 Amazon Web Services CLI 엔드포인트 생성 명령. App Services 엔드포인트 서비스 이름, VPC ID, 서브넷 ID 및 Amazon Web Services 배포서버 리전 이 필요합니다. 명령은 다음과 같이 표시되어야 합니다.

aws ec2 create-vpc-endpoint \
--vpc-endpoint-type Interface
--service-name <App Services Endpoint Service Name> \
--vpc-id <your-vpc-id> \
--region <your-aws-deployment-region> \
--subnet-ids <your-subnet-ids>
2

VPC에서 인터페이스 엔드포인트를 생성했으므로 이제 앱에 추가해야 합니다.

  1. 이전 단계에서 실행한 명령의 출력 또는 VPC 대시보드 의 엔드포인트 세부 정보 화면에서 동기화 엔드포인트 ID CLI Amazon Web Services VPC 를 찾습니다. 이 값은 vpce- 으로 시작합니다.

  2. 엔드포인트 ID, cloud 배포서버 리전 및 엔드포인트 유형 이 포함된 VPC 비공개 엔드포인트 생성 을 호출하여 동기화 비공개 엔드포인트를 생성합니다. 예를 예시 aws-us-east-1 을(를) 사용합니다.

    curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/security/private_endpoints \
    -X POST \
    -H "Authorization: Bearer <accessToken>" \
    -H "Content-Type: application/json" \
    -d '{
    "cloud_provider_region": "<your-cloud-deployment-region>",
    "cloud_provider_endpoint_id": "<your-vpc-endpoint-id>",
    "endpoint_type": "sync",
    "comment": "Optional: add a comment describing the endpoint."
    }'
  3. 이 페이지의 일반 비공개 엔드포인트 생성 단계에 따라 일반 비공개 엔드포인트도 생성해야 합니다.

기본적으로 모든 비공개 엔드포인트는 내부 요청만 처리합니다. PrivateLink 연결 외부의 모든 요청에서 액세스를 열도록 선택할 수 있습니다.

중요

이 설정은 모든 엔드포인트에 적용됩니다.

이 설정은 세 가지 방법으로 토글할 수 있습니다.

  • UI에서 Private Endpoints 탭의 엔드포인트 목록에서 Restrict Access 버튼을 클릭합니다.

  • UI에서는 첫 번째 비공개 엔드포인트를 생성할 때 Modify Your VPC Private DNS 단계에서 이 설정을 토글할 수 있는 옵션이 있습니다.

  • 관리자 API 에서 부울 값( 기본값 제한을 제거 하려면 true , 복원하려면 false )을 사용하여 Toggle Non- VPC Requests (비 VPC 요청 토글)를 호출하세요.

비공개 엔드포인트 를 활성화 한 경우에도 IP 액세스 목록에 공개 IP를 추가하는 등 다른 방법을 사용하여 App Services 애플리케이션 에 액세스 를 활성화 할 수 있습니다.

비공개 엔드포인트를 통한 요청은 IP 액세스 목록을 무시하므로 비공개 IP를 IP 액세스 목록에 추가할 필요가 없습니다.

Atlas Device SDK는 일반 엔드포인트 및 동기화 엔드포인트에 액세스 할 수 있습니다. 그러나 새 도메인을 지원하는 버전을 사용해야 합니다.

  • 비공개 엔드포인트는 전역적으로 배포된 앱 또는 Azure 또는 GCP에 배포된 로컬 앱과 함께 사용할 수 없습니다.

  • 비공개 엔드포인트를 활성화한 경우 공개 인터넷 연결을 사용하여 앱에 액세스 할 수 없습니다. 모든 요청은 비공개 엔드포인트를 통해 이루어져야 합니다.

  • 배포서버 모델을 변경 하는 경우 앱의 새 리전 에 대한 새 비공개 엔드포인트를 만들어야 합니다.

  • 비공개 엔드포인트를 사용하는 동시에 MongoDB 유선 프로토콜 을 통한 연결을 허용 할 수 없습니다. 둘 중 하나가 활성화 되면 다른 하나는 활성화할 수 없습니다.

  • 기본값 으로 비공개 엔드포인트는 VPC 내에서 발생하는 요청만 처리하다 합니다. 공용 인터넷의 요청도 수락하도록 앱을 구성할 수 있습니다. 방법을 학습 보려면 액세스 제한 변경을 참조하세요.

  • App Services 와 같은 모든 아웃바운드 trigger API요청은Go 공용 인터넷을 통해 외부 를 호출합니다.

돌아가기

개발자 액세스 관리