Docs Menu
Docs Home
/
MongoDB Atlas
/ /

전용 클러스터를 위한 비공개 엔드포인트 설정하기

이 페이지의 내용

  • 필요한 액세스 권한
  • 전제 조건, 고려 사항, 제한 사항
  • 다음 단계를 따르세요.
  • 다음 단계로 넘어갑니다.

참고

이 기능 은 M0 무료 클러스터, M2M5 클러스터에서는 사용할 수 없습니다. 사용할 수 없는 기능에 학습 보려면 Atlas M0 (무료 클러스터), M2 및 M5 제한을 참조하세요.

클라이언트가 비공개 엔드포인트를 사용하는 Atlas 전용 클러스터에 연결할 수 있도록 하려면 다음 단계를 따르세요.

Atlas에서 비공개 엔드포인트를 사용하는 방법에 대해 자세히 알아보려면 Atlas에서 비공개 엔드포인트에 대해 알아보기를 참조하세요.

To set up a private endpoint for a Serverless instance, see Set Up a Private Endpoint for a Serverless Instance.

전용 클러스터에 대한 비공개 엔드포인트를 설정하려면 프로젝트에 대한 Organization Owner 또는 Project Owner 액세스 권한이 있어야 합니다.

비공개 엔드포인트 설정에 대한 전제 조건, 고려 사항, 제한 사항을 알아보려면 다음 리소스를 참조하세요.

Atlas CLI를 통해 AWS PrivateLink를 설정하려면 Atlas CLI를 설치하고 Atlas CLI에서 연결합니다. 그러고 나서 다음 단계를 완료합니다.

1
  1. Atlas CLI 명령을 실행하여 Atlas에서 AWS PrivateLink 설정을 시작합니다. Atlas는 이러한 리소스를 비공개 엔드포인트 서비스의 형태로 제공합니다. --region 의 값이 클러스터를 배포한 리전과 일치하는지 확인하세요.

    atlas privateEndpoints aws create [options]

    명령 구문 및 매개변수에 관한 자세한 사항은 Atlas privateEndpoints AWS 생성을 참조하세요.

    멀티 리전 또는 멀티 클라우드 클러스터가 있고 리전화된 비공개 엔드포인트를 허용하지 않는 경우, 각 제공자와 리전에 대해 엔드포인트를 프로비저닝해야 합니다.

  2. 응답에서 비공개 엔드포인트 서비스의 ID를 확인합니다. 이 예시에서 ID는 6344ac8f51b94c6356527881입니다.

    Private endpoint '6344ac8f51b94c6356527881' created.
2

참고

Atlas가 비공개 엔드포인트를 프로비저닝하는 데 시간이 다소 걸릴 수 있습니다. 이 단계를 완료하기 전에 1~2분 정도 기다리세요.

  1. Atlas CLI 명령을 실행하여 ID를 사용하여 비공개 엔드포인트를 설명합니다.

    atlas privateEndpoints aws describe <privateEndpointId> [options]

    명령 구문 및 매개 변수에 대한 자세한 내용은 Atlas CLI 문서에서 Atlas privateEndpoints AWS 설명을 참조하세요.

  2. 비공개 엔드 포인트와 연결된 비공개 엔드포인트 서비스의 이름이 표시된 응답에서 ENDPOINT SERVICE 값을 확인하십시오. 이 예시에서 엔드포인트 서비스 이름은 com.amazonaws.vpce.us-east-1.vpce-svc-0705499aae25ac77c입니다.

    ID ENDPOINT SERVICE STATUS ERROR
    6344ac8f51b94c6356527881 com.amazonaws.vpce.us-east-1.vpce-svc-0705499aae25ac77c AVAILABLE

    STATUS 값이 INITIATING인 경우 Atlas가 비공개 엔드포인트를 프로비저닝할 때까지 1~2분 더 기다립니다. 그런 다음 이 단계를 다시 시도하십시오.

3
  1. AWS CLI에서 명령을 실행하고 다음 자리 표시자를 해당 값으로 바꿉니다.

    자리 표시자
    설명
    {VPC-ID}
    피어링 AWS VPC를 식별하는 고유 문자열입니다. 이 값은 AWS 계정의 VPC 대시보드에서 찾을 수 있습니다.
    {REGION}
    클러스터가 상주하는 AWS 리전입니다.
    {SUBNET-IDS}

    AWS VPC가 사용하는 서브넷을 식별하는 고유 문자열입니다. AWS 계정의 Subnet 대시보드에서 이 값을 찾을 수 있습니다.

    중요: 서브넷을 하나 이상 지정해야 합니다. 그렇지 않으면Amazon Web Services VPC에 인터페이스 엔드포인트 를 프로비저닝하지 않습니다. VPC 의 클라이언트가 비공개 엔드포인트로 트래픽을 전송하려면 인터페이스 엔드포인트 가 필요합니다.

    {SERVICE-NAME}
    이전에 조회한 비공개 엔드포인트 서비스를 식별하는 고유 문자열입니다.
    aws ec2 create-vpc-endpoint --vpc-id {VPC-ID} \
    --region {REGION} --service-name {SERVICE-NAME} \
    --vpc-endpoint-type Interface --subnet-ids {SUBNET-IDS}

    AWS CLI에 대해 자세히 알아보려면 인터페이스 엔드포인트 생성을 참조하세요.

  2. 필드 VpcEndpointId 에 대한 응답의 값을 확인합니다. 비공개 엔드포인트를 식별하는 22자의 영숫자 string 입니다. Amazon Web Services VPC 대시보드의 Endpoints > VPC ID 아래에서도 이 값을 찾을 수 있습니다.

4
  1. Atlas CLI 명령을 실행하여 Atlas 엔드포인트 서비스 ID와 VPC 엔드포인트 ID를 사용하여 인터페이스 엔드포인트 정보를 Atlas에 제공하세요. 이 예시에서는 다음과 같은 매개변수를 설정합니다.

    Parameter
    유형
    예시 값
    endpointServiceId
    Argument
    6344ac8f51b94c6356527881
    privateEndpointId
    옵션
    vpce-00713b5e644e830a3
    atlas privateEndpoints aws interfaces create <endpointServiceId> [options]

    명령 구문 및 매개 변수에 대한 자세한 내용은 Atlas CLI 문서에서 Atlas privateEndpoints AWS 인터페이스 생성을 참조하세요.

5

AWS PrivateLink를 사용하여 Atlas 클러스터에 연결해야 하는 각 리소스에 대해, 리소스의 보안 그룹은 모든 포트에서 인터페이스 엔드포인트의 비공개 IP 주소로 아웃바운드 트래픽을 허용해야 합니다.

자세한 사항은 보안 그룹에 규칙 추가하기 를 참조하십시오.

6

이 보안 그룹은 AWS PrivateLink를 사용하여 Atlas cluster에 연결해야 하는 각 리소스의 모든 포트에서 인바운드 트래픽을 허용해야 합니다.

  1. Amazon Web Services 콘솔에서 VPC Dashboard로 이동합니다.

  2. Security Groups을(를) 클릭한 다음 Create security group을(를) 클릭합니다.

  3. 마법사를 사용하여 보안 그룹을 생성합니다. VPC 목록에서 VPC를 선택했는지 VPC 확인합니다.

  4. 방금 생성한 보안 그룹을 선택한 다음 Inbound Rules 탭을 클릭합니다.

  5. Edit Rules를 클릭합니다.

  6. Atlas 클러스터에 연결하고자 하는 VPC에 있는 각 리소스의 모든 인바운드 트래픽을 허용하는 규칙을 추가합니다.

  7. Save Rules를 클릭합니다.

  8. 0}을 클릭한 다음 VPC의 엔드포인트를 클릭합니다.Endpoints

  9. Security Groups탭을 클릭한 다음 Edit Security Groups을 클릭합니다.

  10. 방금 생성한 보안 그룹을 Save 추가하고 Save(저장)를 클릭합니다.

VPC 보안 그룹 에 학습 보기 Amazon Web Services 설명서를 참조하세요.

7

Atlas가 모든 리소스 구성을 완료하고 프라이빗 엔드포인트를 사용할 수 있게 되면 AWS PrivateLink 프라이빗 엔드포인트를 사용하여 클러스터에 연결할 수 있습니다.

AWS 비공개 엔드포인트를 사용할 수 있는지 확인하려면,

  1. Atlas CLI 명령어를 실행하여 해당 ID를 통해 인터페이스 엔드포인트를 설명합니다. 이 예에서는 다음과 같은 매개변수를 설정합니다.

    Parameter
    유형
    예시 값
    interfaceEndpointId
    Argument
    vpce-00713b5e644e830a3
    endpointServiceId
    옵션
    6344ac8f51b94c6356527881
    atlas privateEndpoints aws interfaces describe <interfaceEndpointId> [options]

    명령 구문 및 매개 변수에 대한 자세한 내용은 Atlas CLI 문서에서 Atlas privateEndpoints AWS 인터페이스 설명을 참조하세요.

  2. 필드 STATUS 값이 AVAILABLE 다음 예에서 표시된 것처럼 인지 확인합니다.

    ID STATUS ERROR
    vpce-00713b5e644e830a3 AVAILABLE

Atlas UI를 통해 AWS PrivateLink를 설정하려면 다음을 수행합니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Network Access를 클릭합니다.

    네트워크 액세스 페이지가 표시됩니다.

2

전용 Atlas 클러스터의 비공개 엔드포인트를 보려면 Dedicated Cluster을(를) 클릭하세요. (기본값)

3

Add Private Endpoint 버튼을 클릭합니다.

참고

조직에 대해 결제 방법이 아직 구성되어 있지 않은 경우 Edit Payment Method 양식에 결제 정보를 제공해야 합니다.

4

Amazon Web Services 로고를 클릭한 다음 Next를 클릭합니다.

5
  1. Atlas Region 목록에서 비공개 엔드포인트를 만들려는 지역을 선택합니다.

  2. Next를 클릭합니다.

참고

조직에 저장된 결제 정보가 없는 경우 Atlas는 계속하기 전에 해당 정보를 추가하라는 메시지를 표시합니다.

6
  1. AWS VPC에 대한 다음 세부 정보를 입력합니다.

    Your VPC ID
    피어 AWS VPC의 고유 식별자입니다. 이 값은 AWS 계정의 VPC 대시보드에서 찾을 수 있습니다.
    Your Subnet IDs

    AWS VPC가 사용하는 서브넷의 고유 식별자입니다.

    이 값은 AWS 계정의 Subnet 대시보드에서 찾을 수 있습니다.

    중요: 최소한 하나의 서브넷을 지정해야 합니다. 지정하지 않으면 AWSVPC인터페이스 엔드포인트를 프로비저닝하지 않습니다. 인터페이스 엔드포인트는 VPC의 클라이언트가 비공개 엔드포인트로 트래픽을 전송하는 데 필요합니다.

  2. 대화 상자에 표시되는 명령을 복사하고 AWS CLI를 사용하여 실행합니다.

    참고

    Atlas가 백그라운드에서 VPC 리소스 생성을 완료할 때까지는 명령을 복사할 수 없습니다.

    AWSCLI를 사용하여 이 작업을 수행하려면 인터페이스 엔드포인트 생성을 참조하세요.

  3. Next를 클릭합니다.

7
  1. VPC Endpoint ID 을(를) 입력합니다. 비공개 엔드포인트를 식별하는 22자의 영숫자 string 입니다. Amazon Web Services VPC 대시보드의 Endpoints > VPC ID에서 이 값을 찾습니다.

  2. Create를 클릭합니다.

8

AWS PrivateLink를 사용하여 Atlas 클러스터에 연결해야 하는 각 리소스에 대해, 리소스의 보안 그룹은 모든 포트에서 인터페이스 엔드포인트의 비공개 IP 주소로 아웃바운드 트래픽을 허용해야 합니다.

자세한 사항은 보안 그룹에 규칙 추가하기 를 참조하십시오.

9

이 보안 그룹은 AWS PrivateLink를 사용하여 Atlas cluster에 연결해야 하는 각 리소스의 모든 포트에서 인바운드 트래픽을 허용해야 합니다.

  1. Amazon Web Services 콘솔에서 VPC Dashboard로 이동합니다.

  2. Security Groups을(를) 클릭한 다음 Create security group을(를) 클릭합니다.

  3. 마법사를 사용하여 보안 그룹을 생성합니다. VPC 목록에서 VPC를 선택했는지 VPC 확인합니다.

  4. 방금 생성한 보안 그룹을 선택한 다음 Inbound Rules 탭을 클릭합니다.

  5. Edit Rules를 클릭합니다.

  6. Atlas 클러스터에 연결하고자 하는 VPC에 있는 각 리소스의 모든 인바운드 트래픽을 허용하는 규칙을 추가합니다.

  7. Save Rules를 클릭합니다.

  8. 0}을 클릭한 다음 VPC의 엔드포인트를 클릭합니다.Endpoints

  9. Security Groups탭을 클릭한 다음 Edit Security Groups을 클릭합니다.

  10. 방금 생성한 보안 그룹을 Save 추가하고 Save(저장)를 클릭합니다.

VPC 보안 그룹 에 학습 보기 Amazon Web Services 설명서를 참조하세요.

10
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Network Access를 클릭합니다.

    네트워크 액세스 페이지가 표시됩니다.

11

모든 리소스가 구성되고 비공개 엔드포인트를 사용할 수 있게 되면 AWS PrivateLink 비공개 엔드포인트를 사용하여 Atlas 클러스터에 연결할 수 있습니다.

AWS PrivateLink 비공개 엔드포인트를 사용할 수 있는지 확인하려면 다음을 수행합니다.

Private Endpoint 탭에서 클러스터 유형을 선택하고 AWS PrivateLink를 사용하여 연결하려는 클러스터가 포함된 리전에 대해 다음 상태를 확인합니다.

Atlas Endpoint Service Status
사용 가능
Endpoint Status
사용 가능

가능한 상태 값에 대해 자세히 알아보려면 비공개 엔드포인트 연결 문제 해결하기를 참조하세요.

이러한 상태가 표시되지 않는 경우 자세한 내용은 비공개 엔드포인트 연결 문제 해결하기를 참조하세요.

Atlas CLI를 통해 AWS PrivateLink를 설정하려면 Atlas CLI를 설치하고 Atlas CLI 에서 연결합니다. 그러고 나서 다음 단계를 완료합니다.

1
  1. Atlas CLI 명령어를 실행하여 비공개 엔드포인트 및 비공개 엔드포인트 서비스를 Atlas에 생성합니다. --region의 값이 클러스터를 배포한 리전과 일치하도록 합니다.

    atlas privateEndpoints azure create [options]

    명령 구문 및 매개변수에 관한 자세한 사항은 Atlas 비공개 엔드포인트 Azure 만들기를 참조하세요.

    멀티 리전 또는 멀티 클라우드 클러스터가 있고 리전화된 비공개 엔드포인트를 허용하지 않는 경우, 각 제공자와 리전에 대해 엔드포인트를 프로비저닝해야 합니다.

  2. 응답에서 비공개 엔드포인트 서비스의 ID를 확인합니다. 이 예시에서 ID는 6344ac8f51b94c6356527881입니다.

    Private endpoint '6344ac8f51b94c6356527881' created.
2

참고

Atlas가 비공개 엔드포인트를 프로비저닝하는 데 시간이 다소 걸릴 수 있습니다. 이 단계를 완료하기 전에 1~2분 정도 기다리세요.

  1. Atlas CLI 명령어를 실행하여 서비스 ID를 사용하여 비공개 엔드포인트를 설명합니다.

    atlas privateEndpoints azure describe <privateEndpointId> [options]

    명령 구문 및 매개변수에 관한 자세한 사항은 Atlas 비공개 엔드포인트 Azure 설명을 참조하세요.

  2. 엔드포인트 서비스 이름을 표시하는 응답의 ENDPOINT SERVICE 값을 참고하세요. 이 예시에서 엔드포인트 서비스 이름은 pls_6344ac8f51b94c6356527881입니다.

    ID ENDPOINT SERVICE STATUS ERROR
    6344ac8f51b94c6356527881 pls_6344ac8f51b94c6356527881 AVAILABLE

    STATUS 값이 INITIATING인 경우 Atlas가 비공개 엔드포인트를 프로비저닝할 때까지 1~2분 더 기다립니다. 그런 다음 이 단계를 다시 시도하십시오.

3
  1. Azure CLI에서 az network private-endpoint create 명령을 실행하고 다음 자리 표시자를 해당 값으로 바꿉니다.

    자리 표시자
    설명
    {RESOURCE-GROUP-NAME}
    Atlas에 연결하는 데 사용하려는 VNet이 포함된 Azure 리소스 그룹의 이름입니다. Azure 대시보드의 Resource Group Properties 페이지에서 이 값을 찾을 수 있습니다.
    {VIRTUAL-NETWORK-NAME}
    Atlas에 연결하는 데 사용하려는 VNet의 이름입니다. Azure 대시보드의 Virtual Network 페이지에서 이 값을 찾을 수 있습니다.
    {SUBNET-NAME}
    Azure VNet의 하위 집합 이름입니다. Azure 대시보드의 Virtual Network Subnets 페이지에서 이 값을 찾을 수 있습니다.
    {PRIVATE-ENDPOINT-NAME}
    Azure 리소스 그룹 내의 비공개 엔드포인트를 식별하는 사람이 읽을 수 있는 레이블입니다.
    {SUBSCRIPTION-ID}
    Azure에서 구독을 식별하는 고유 문자열입니다. AzureSubscriptions 페이지에서 이 값을 찾을 수 있습니다.
    {RESOURCE-GROUP-ID}

    Atlas에서 Azure 리소스 그룹을 식별하는 고유한 문자열입니다. 이 값은 Atlas UI의 Network Access 페이지에 있는 Private Endpoint 탭에서 찾을 수 있습니다.

    이 값은 rg_로 시작하며 rg_65c66a56a3a43...과 유사한 문자와 숫자의 조합을 포함합니다.

    {ENDPOINT-SERVICE-NAME}
    엔드포인트 서비스를 식별하는 고유 문자열입니다. 이는 이전 단계에서 반환된 엔드포인트 서비스 이름입니다.
    az network private-endpoint create --resource-group {RESOURCE-GROUP-NAME} --name {PRIVATE-ENDPOINT-NAME} --vnet-name {VIRTUAL-NETWORK-NAME} --subnet {SUBNET-NAME} --private-connection-resource-id /subscriptions/{SUBSCRIPTION-ID}/resourceGroups/{RESOURCE-GROUP-ID}/providers/Microsoft.Network/privateLinkServices/{ENDPOINT-SERVICE-NAME} --connection-name {ENDPOINT-SERVICE-NAME} --manual-request true

    Azure CLI에 대해 자세히 알아보려면 Azure CLI를 사용하여 비공개 엔드포인트 만들기를 참조하세요.

  2. 다음 값을 복사하고 저장합니다.

    Resource ID

    Azure VNet에서 비공개 엔드포인트를 식별하는 고유 문자열입니다. 이 값은 다음 방법 중 하나로 찾을 수 있습니다.

    • 이 값을 검색하려면 Azure 대시보드를 사용하세요. Azure 대시보드의 비공개 엔드포인트에 대한 Properties 페이지는 Resource ID 필드에 이 속성을 표시합니다.

    • id 필드에서 강조 표시된 값을 반환하는 다음 명령의 출력을 사용합니다.

      1azure network private-endpoint create
      1{
      2 "customDnsConfigs": [],
      3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
      4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
      5 "location": "eastus2",
      6 "manualPrivateLinkServiceConnections": [
      7 {
      8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
      9 "groupIds": null,
      10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e",
      11 "name": "pls_5f860388d432510d5a6e1a3e",
      12 "privateLinkServiceConnectionState": {
      13 "actionsRequired": "None",
      14 "description": "Connection deleted by service provider",
      15 "status": "Disconnected"
      16 },
      17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice",
      18 "provisioningState": "Succeeded",
      19 "requestMessage": null,
      20 "resourceGroup": "privatelink",
      21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections"
      22 }
      23 ],
      24 "name": "privatelink",
      25 "networkInterfaces": [
      26 {
      27 "dnsSettings": null,
      28 "dscpConfiguration": null,
      29 "enableAcceleratedNetworking": null,
      30 "enableIpForwarding": null,
      31 "etag": null,
      32 "hostedWorkloads": null,
      33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
      34 "ipConfigurations": null,
      35 "location": null,
      36 "macAddress": null,
      37 "name": null,
      38 "networkSecurityGroup": null,
      39 "primary": null,
      40 "privateEndpoint": null,
      41 "provisioningState": null,
      42 "resourceGroup": "privatelink",
      43 "resourceGuid": null,
      44 "tags": null,
      45 "tapConfigurations": null,
      46 "type": null,
      47 "virtualMachine": null
      48 }
      49 ],
      50 "privateLinkServiceConnections": [],
      51 "provisioningState": "Succeeded",
      52 "resourceGroup": "privatelink",
      53 "subnet": {
      54 "addressPrefix": null,
      55 "addressPrefixes": null,
      56 "delegations": null,
      57 "etag": null,
      58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
      59 "ipAllocations": null,
      60 "ipConfigurationProfiles": null,
      61 "ipConfigurations": null,
      62 "name": null,
      63 "natGateway": null,
      64 "networkSecurityGroup": null,
      65 "privateEndpointNetworkPolicies": null,
      66 "privateEndpoints": null,
      67 "privateLinkServiceNetworkPolicies": null,
      68 "provisioningState": null,
      69 "purpose": null,
      70 "resourceGroup": "privatelink",
      71 "resourceNavigationLinks": null,
      72 "routeTable": null,
      73 "serviceAssociationLinks": null,
      74 "serviceEndpointPolicies": null,
      75 "serviceEndpoints": null
      76 },
      77 "tags": null,
      78 "type": "Microsoft.Network/privateEndpoints"
      79}

      Azure 네트워크 비공개 엔드포인트 목록 CLI 명령을 사용하여 이 값을 반환할 수도 있습니다.

    Private IP

    Azure VNet에서 만든 비공개 엔드포인트 네트워크 인터페이스의 비공개 IP 주소입니다. 이 값은 다음 방법 중 하나로 찾을 수 있습니다.

    • 이 값을 검색하려면 Azure 대시보드를 사용하세요. Azure 대시보드의 비공개 엔드포인트에 대한 Overview 페이지는 Private IP 필드에 이 속성을 표시합니다.

    • Azure CLI를 사용하여 이 값을 검색합니다.

      1. 다음 명령의 출력을 사용하면 강조 표시된 networkInterfaces.id 필드에 네트워크 인터페이스의 ID가 반환됩니다.

        1azure network private-endpoint create
        1{
        2 "customDnsConfigs": [],
        3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
        5 "location": "eastus2",
        6 "manualPrivateLinkServiceConnections": [
        7 {
        8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        9 "groupIds": null,
        10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e",
        11 "name": "pls_5f860388d432510d5a6e1a3e",
        12 "privateLinkServiceConnectionState": {
        13 "actionsRequired": "None",
        14 "description": "Connection deleted by service provider",
        15 "status": "Disconnected"
        16 },
        17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice",
        18 "provisioningState": "Succeeded",
        19 "requestMessage": null,
        20 "resourceGroup": "privatelink",
        21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections"
        22 }
        23 ],
        24 "name": "privatelink",
        25 "networkInterfaces": [
        26 {
        27 "dnsSettings": null,
        28 "dscpConfiguration": null,
        29 "enableAcceleratedNetworking": null,
        30 "enableIpForwarding": null,
        31 "etag": null,
        32 "hostedWorkloads": null,
        33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
        34 "ipConfigurations": null,
        35 "location": null,
        36 "macAddress": null,
        37 "name": null,
        38 "networkSecurityGroup": null,
        39 "primary": null,
        40 "privateEndpoint": null,
        41 "provisioningState": null,
        42 "resourceGroup": "privatelink",
        43 "resourceGuid": null,
        44 "tags": null,
        45 "tapConfigurations": null,
        46 "type": null,
        47 "virtualMachine": null
        48 }
        49 ],
        50 "privateLinkServiceConnections": [],
        51 "provisioningState": "Succeeded",
        52 "resourceGroup": "privatelink",
        53 "subnet": {
        54 "addressPrefix": null,
        55 "addressPrefixes": null,
        56 "delegations": null,
        57 "etag": null,
        58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
        59 "ipAllocations": null,
        60 "ipConfigurationProfiles": null,
        61 "ipConfigurations": null,
        62 "name": null,
        63 "natGateway": null,
        64 "networkSecurityGroup": null,
        65 "privateEndpointNetworkPolicies": null,
        66 "privateEndpoints": null,
        67 "privateLinkServiceNetworkPolicies": null,
        68 "provisioningState": null,
        69 "purpose": null,
        70 "resourceGroup": "privatelink",
        71 "resourceNavigationLinks": null,
        72 "routeTable": null,
        73 "serviceAssociationLinks": null,
        74 "serviceEndpointPolicies": null,
        75 "serviceEndpoints": null
        76 },
        77 "tags": null,
        78 "type": "Microsoft.Network/privateEndpoints"
        79}
      2. az network nic show --id {networkInterface.id}를 실행합니다. 비공개 엔드포인트 네트워크 인터페이스에 대한 ipConfigurations.privateIPAddress를 조회하기 위해 networkInterfaces.id 필드의 값을 사용하는 Azure CLI 명령입니다. 이 필드의 값은 Private IP입니다. 입력과 출력은 다음과 비슷하게 표시되어야 합니다. Private Endpoint IP Address 필드의 강조표시된 값을 확인하세요.

        1az network nic show --id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000
        1{
        2 "dnsSettings": {
        3 "appliedDnsServers": [],
        4 "dnsServers": [],
        5 "internalDnsNameLabel": null,
        6 "internalDomainNameSuffix": "<>.cx.internal.cloudapp.net",
        7 "internalFqdn": null
        8 },
        9 "dscpConfiguration": null,
        10 "enableAcceleratedNetworking": false,
        11 "enableIpForwarding": false,
        12 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        13 "hostedWorkloads": [],
        14 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
        15 "ipConfigurations": [
        16 {
        17 "applicationGatewayBackendAddressPools": null,
        18 "applicationSecurityGroups": null,
        19 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        20 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000/ipConfigurations/privateEndpointIpConfig",
        21 "loadBalancerBackendAddressPools": null,
        22 "loadBalancerInboundNatRules": null,
        23 "name": "privateEndpointIpConfig",
        24 "primary": true,
        25 "privateIpAddress": "10.0.0.4",
        26 "privateIpAddressVersion": "IPv4",
        27 "privateIpAllocationMethod": "Dynamic",
        28 "privateLinkConnectionProperties": {
        29 "fqdns": [],
        30 "groupId": "",
        31 "requiredMemberName": ""
        32 },
        33 "provisioningState": "Succeeded",
        34 "publicIpAddress": null,
        35 "resourceGroup": "privatelink",
        36 "subnet": {
        37 "addressPrefix": null,
        38 "addressPrefixes": null,
        39 "delegations": null,
        40 "etag": null,
        41 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
        42 "ipAllocations": null,
        43 "ipConfigurationProfiles": null,
        44 "ipConfigurations": null,
        45 "name": null,
        46 "natGateway": null,
        47 "networkSecurityGroup": null,
        48 "privateEndpointNetworkPolicies": null,
        49 "privateEndpoints": null,
        50 "privateLinkServiceNetworkPolicies": null,
        51 "provisioningState": null,
        52 "purpose": null,
        53 "resourceGroup": "privatelink",
        54 "resourceNavigationLinks": null,
        55 "routeTable": null,
        56 "serviceAssociationLinks": null,
        57 "serviceEndpointPolicies": null,
        58 "serviceEndpoints": null
        59 },
        60 "type": "Microsoft.Network/networkInterfaces/ipConfigurations",
        61 "virtualNetworkTaps": null
        62 }
        63 ],
        64 "location": "eastus2",
        65 "macAddress": "",
        66 "name": "privatelink.nic.00000000-0000-0000-0000-000000000000",
        67 "networkSecurityGroup": null,
        68 "primary": null,
        69 "privateEndpoint": {
        70 "customDnsConfigs": null,
        71 "etag": null,
        72 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
        73 "location": null,
        74 "manualPrivateLinkServiceConnections": null,
        75 "name": null,
        76 "networkInterfaces": null,
        77 "privateLinkServiceConnections": null,
        78 "provisioningState": null,
        79 "resourceGroup": "privatelink",
        80 "subnet": null,
        81 "tags": null,
        82 "type": null
        83 },
        84 "provisioningState": "Succeeded",
        85 "resourceGroup": "privatelink",
        86 "resourceGuid": "00000000-0000-0000-0000-000000000000",
        87 "tags": null,
        88 "tapConfigurations": [],
        89 "type": "Microsoft.Network/networkInterfaces",
        90 "virtualMachine": null
        91}
4
  1. Atlas CLI 명령을 실행하여 Atlas 엔드포인트 서비스 ID, Azure 리소스 ID 및 Azure 비공개 IP를 사용하여 Atlas에서 인터페이스 엔드포인트를 생성합니다. 이 예시에서는 다음과 같은 매개변수를 설정합니다.

    Parameter
    유형
    예시 값
    endpointServiceId
    Argument
    6344ac8f51b94c6356527881
    privateEndpointId
    옵션
    /subscriptions/4e133d35-e734-4385-a565-c0945567ae346/ resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/ providers/Microsoft.Network/privateEndpoints/ test-endpoint
    privateEndpointIpAddress
    옵션
    10.0.0.4
    atlas privateEndpoints azure interfaces create <endpointServiceId> [options]

    명령 구문 및 매개변수에 관한 자세한 사항은 Atlas 비공개 엔드포인트 Azure 인터페이스 만들기를 참조하세요.

  2. 응답에서 비공개 엔드포인트의 인터페이스 엔드포인트 ID를 확인합니다. 이 예시에서 ID는 /subscriptions/ 4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/ rg_95847a959b876e255dbb9b33_dfragd7w/providers/ Microsoft.Network/privateEndpoints/cli-test입니다.

    Interface endpoint '/subscriptions/4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/providers/Microsoft.Network/privateEndpoints/cli-test' created.
5

Atlas가 리소스 구성을 모두 완료하고 비공개 엔드포인트를 사용할 수 있게 된 후 Azure Private Link 비공개 엔드포인트를 사용하여 클러스터에 연결할 수 있습니다.

Azure 비공개 엔드포인트를 사용할 수 있는지 확인하려면 다음을 수행하세요.

  1. Atlas CLI 명령을 실행하여 해당 ID와 이전 단계에서 검색한 인터페이스 엔드포인트 ID를 사용하여 인터페이스 엔드포인트를 설명합니다. 이 예시에서는 다음과 같은 매개변수를 설정합니다.

    Parameter
    유형
    예시 값
    privateEndpointResourceId
    Argument
    /subscriptions/4e133d35-e734-4385-a565-c0945567ae346/ resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/ providers/Microsoft.Network/privateEndpoints/cli-test
    endpointServiceId
    옵션
    6344ac8f51b94c6356527881
    atlas privateEndpoints azure interfaces describe <privateEndpointResourceId> [options]

    명령 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas 비공개 엔드포인트 Azure 인터페이스 설명을 참조하세요.

  2. 필드 STATUS 값이 AVAILABLE 다음 예에서 표시된 것처럼 인지 확인합니다.

    ID STATUS ERROR
    pls_6344ac8f51b94c6356527881 AVAILABLE

Atlas UI를 통해 Azure Private Link를 설정하려면 다음을 수행합니다.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Network Access를 클릭합니다.

    네트워크 액세스 페이지가 표시됩니다.

2

전용 Atlas 클러스터의 비공개 엔드포인트를 보려면 Dedicated Cluster을(를) 클릭하세요. (기본값)

3

Add Private Endpoint 버튼을 클릭합니다.

참고

조직에 대해 결제 방법이 아직 구성되어 있지 않은 경우 Edit Payment Method 양식에 결제 정보를 제공해야 합니다.

4

Azure 로고를 클릭한 후 Next를 클릭합니다.

5
  1. Atlas Region 목록에서 비공개 엔드포인트를 만들려는 지역을 선택합니다.

  2. Next를 클릭합니다.

참고

조직에 저장된 결제 정보가 없는 경우 Atlas는 계속하기 전에 해당 정보를 추가하라는 메시지를 표시합니다.

6
  1. Azure VNet에 대한 다음 세부 정보를 입력합니다.

    Resource Group Name
    Atlas에 연결하는 데 사용하려는 VNet이 포함된 리소스 그룹의 이름입니다. Azure 대시보드의 Resource Group Properties 페이지에서 이 값을 찾을 수 있습니다.
    Virtual Network Name
    Atlas에 연결하는 데 사용하려는 VNet의 이름입니다. Azure 대시보드의 Virtual Network 페이지에서 이 값을 찾을 수 있습니다.
    Subnet Name
    Azure VNet의 서브넷 이름입니다. Azure 대시보드의 Virtual Network Subnets 페이지에서 이 값을 찾을 수 있습니다.
  2. Private Endpoint Name 필드에 비공개 엔드포인트의 고유한 이름을 입력합니다.

  3. 대화 상자에 표시되는 az network private-endpoint create 명령을 복사하고 Azure CLI로 실행하여 VNet에서 비공개 엔드포인트를 만듭니다.

    참고

    Atlas가 배경에서 VNet 리소스 생성을 완료할 때까지는 명령을 복사할 수 없습니다.

    이 명령에 대한 자세한 내용은 Azure 설명서를 참조하세요.

  4. 비공개 엔드포인트를 생성할 때 다음과 같은 오류가 발생할 수 있습니다.

    ServiceError: code: LinkedAuthorizationFailed - , The client has permission to perform action 'Microsoft.Network/privateLinkServices/PrivateEndpointConnectionsApproval/action' on scope '/subscriptions/<subscription-id>/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink', however the current tenant '<tenant-id>' is not authorized to access linked subscription '<tenant-id>'.

    이 오류가 발생하면 비공개 엔드포인트를 만드는 데 사용한 Azure CLI 명령에 --manual-request true 매개 변수를 추가한 다음 명령을 다시 실행해야 합니다.

  5. Next를 클릭합니다.

7
  1. 비공개 엔드포인트에 대해 다음 세부 정보를 입력합니다.

    Private Endpoint Resource ID

    Azure VNet에서 만든 비공개 엔드포인트의 고유 식별자입니다. 이 값은 다음 방법 중 하나로 찾을 수 있습니다.

    • Azure 대시보드의 비공개 엔드포인트에 대한 Properties 페이지는 Resource ID 필드에 이 속성을 표시합니다.

    • 비공개 엔드포인트를 생성하기 위해 이전에 실행한 다음 명령의 출력은 id 필드에 강조 표시된 값을 반환합니다.

      1azure network private-endpoint create
      1{
      2 "customDnsConfigs": [],
      3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
      4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
      5 "location": "eastus2",
      6 "manualPrivateLinkServiceConnections": [
      7 {
      8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
      9 "groupIds": null,
      10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e",
      11 "name": "pls_5f860388d432510d5a6e1a3e",
      12 "privateLinkServiceConnectionState": {
      13 "actionsRequired": "None",
      14 "description": "Connection deleted by service provider",
      15 "status": "Disconnected"
      16 },
      17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice",
      18 "provisioningState": "Succeeded",
      19 "requestMessage": null,
      20 "resourceGroup": "privatelink",
      21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections"
      22 }
      23 ],
      24 "name": "privatelink",
      25 "networkInterfaces": [
      26 {
      27 "dnsSettings": null,
      28 "dscpConfiguration": null,
      29 "enableAcceleratedNetworking": null,
      30 "enableIpForwarding": null,
      31 "etag": null,
      32 "hostedWorkloads": null,
      33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
      34 "ipConfigurations": null,
      35 "location": null,
      36 "macAddress": null,
      37 "name": null,
      38 "networkSecurityGroup": null,
      39 "primary": null,
      40 "privateEndpoint": null,
      41 "provisioningState": null,
      42 "resourceGroup": "privatelink",
      43 "resourceGuid": null,
      44 "tags": null,
      45 "tapConfigurations": null,
      46 "type": null,
      47 "virtualMachine": null
      48 }
      49 ],
      50 "privateLinkServiceConnections": [],
      51 "provisioningState": "Succeeded",
      52 "resourceGroup": "privatelink",
      53 "subnet": {
      54 "addressPrefix": null,
      55 "addressPrefixes": null,
      56 "delegations": null,
      57 "etag": null,
      58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
      59 "ipAllocations": null,
      60 "ipConfigurationProfiles": null,
      61 "ipConfigurations": null,
      62 "name": null,
      63 "natGateway": null,
      64 "networkSecurityGroup": null,
      65 "privateEndpointNetworkPolicies": null,
      66 "privateEndpoints": null,
      67 "privateLinkServiceNetworkPolicies": null,
      68 "provisioningState": null,
      69 "purpose": null,
      70 "resourceGroup": "privatelink",
      71 "resourceNavigationLinks": null,
      72 "routeTable": null,
      73 "serviceAssociationLinks": null,
      74 "serviceEndpointPolicies": null,
      75 "serviceEndpoints": null
      76 },
      77 "tags": null,
      78 "type": "Microsoft.Network/privateEndpoints"
      79}
    Private Endpoint IP Address

    Azure VNet에서 만든 비공개 엔드포인트 네트워크 인터페이스의 비공개 IP 주소입니다. 이 값은 다음 방법 중 하나로 찾을 수 있습니다.

    • 이 값을 검색하려면 Azure 대시보드를 사용하세요. Azure 대시보드의 비공개 엔드포인트에 대한 Overview 페이지는 Private IP 필드에 이 속성을 표시합니다.

    • Azure CLI를 사용하여 이 값을 검색합니다.

      1. 앞서 비공개 엔드포인트를 만들기 위해 실행한 다음 명령의 출력에는 강조 표시된 networkInterfaces.id 필드에 네트워크 인터페이스의 ID가 포함되어 있습니다.

        1azure network private-endpoint create
        1{
        2 "customDnsConfigs": [],
        3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
        5 "location": "eastus2",
        6 "manualPrivateLinkServiceConnections": [
        7 {
        8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        9 "groupIds": null,
        10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e",
        11 "name": "pls_5f860388d432510d5a6e1a3e",
        12 "privateLinkServiceConnectionState": {
        13 "actionsRequired": "None",
        14 "description": "Connection deleted by service provider",
        15 "status": "Disconnected"
        16 },
        17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice",
        18 "provisioningState": "Succeeded",
        19 "requestMessage": null,
        20 "resourceGroup": "privatelink",
        21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections"
        22 }
        23 ],
        24 "name": "privatelink",
        25 "networkInterfaces": [
        26 {
        27 "dnsSettings": null,
        28 "dscpConfiguration": null,
        29 "enableAcceleratedNetworking": null,
        30 "enableIpForwarding": null,
        31 "etag": null,
        32 "hostedWorkloads": null,
        33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
        34 "ipConfigurations": null,
        35 "location": null,
        36 "macAddress": null,
        37 "name": null,
        38 "networkSecurityGroup": null,
        39 "primary": null,
        40 "privateEndpoint": null,
        41 "provisioningState": null,
        42 "resourceGroup": "privatelink",
        43 "resourceGuid": null,
        44 "tags": null,
        45 "tapConfigurations": null,
        46 "type": null,
        47 "virtualMachine": null
        48 }
        49 ],
        50 "privateLinkServiceConnections": [],
        51 "provisioningState": "Succeeded",
        52 "resourceGroup": "privatelink",
        53 "subnet": {
        54 "addressPrefix": null,
        55 "addressPrefixes": null,
        56 "delegations": null,
        57 "etag": null,
        58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
        59 "ipAllocations": null,
        60 "ipConfigurationProfiles": null,
        61 "ipConfigurations": null,
        62 "name": null,
        63 "natGateway": null,
        64 "networkSecurityGroup": null,
        65 "privateEndpointNetworkPolicies": null,
        66 "privateEndpoints": null,
        67 "privateLinkServiceNetworkPolicies": null,
        68 "provisioningState": null,
        69 "purpose": null,
        70 "resourceGroup": "privatelink",
        71 "resourceNavigationLinks": null,
        72 "routeTable": null,
        73 "serviceAssociationLinks": null,
        74 "serviceEndpointPolicies": null,
        75 "serviceEndpoints": null
        76 },
        77 "tags": null,
        78 "type": "Microsoft.Network/privateEndpoints"
        79}
      2. az network nic show --id {networkInterface.id}를 실행합니다. 비공개 엔드포인트 네트워크 인터페이스에 대한 ipConfigurations.privateIPAddress를 조회하기 위해 networkInterfaces.id 필드의 값을 사용하는 Azure CLI 명령입니다. 이 필드의 값은 Private Endpoint IP Address입니다. 입력과 출력은 다음과 비슷하게 표시되어야 합니다. Private Endpoint IP Address 필드의 강조표시된 값을 확인하세요.

        1az network nic show --id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000
        1{
        2 "dnsSettings": {
        3 "appliedDnsServers": [],
        4 "dnsServers": [],
        5 "internalDnsNameLabel": null,
        6 "internalDomainNameSuffix": "<>.cx.internal.cloudapp.net",
        7 "internalFqdn": null
        8 },
        9 "dscpConfiguration": null,
        10 "enableAcceleratedNetworking": false,
        11 "enableIpForwarding": false,
        12 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        13 "hostedWorkloads": [],
        14 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
        15 "ipConfigurations": [
        16 {
        17 "applicationGatewayBackendAddressPools": null,
        18 "applicationSecurityGroups": null,
        19 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        20 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000/ipConfigurations/privateEndpointIpConfig",
        21 "loadBalancerBackendAddressPools": null,
        22 "loadBalancerInboundNatRules": null,
        23 "name": "privateEndpointIpConfig",
        24 "primary": true,
        25 "privateIpAddress": "10.0.0.4",
        26 "privateIpAddressVersion": "IPv4",
        27 "privateIpAllocationMethod": "Dynamic",
        28 "privateLinkConnectionProperties": {
        29 "fqdns": [],
        30 "groupId": "",
        31 "requiredMemberName": ""
        32 },
        33 "provisioningState": "Succeeded",
        34 "publicIpAddress": null,
        35 "resourceGroup": "privatelink",
        36 "subnet": {
        37 "addressPrefix": null,
        38 "addressPrefixes": null,
        39 "delegations": null,
        40 "etag": null,
        41 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
        42 "ipAllocations": null,
        43 "ipConfigurationProfiles": null,
        44 "ipConfigurations": null,
        45 "name": null,
        46 "natGateway": null,
        47 "networkSecurityGroup": null,
        48 "privateEndpointNetworkPolicies": null,
        49 "privateEndpoints": null,
        50 "privateLinkServiceNetworkPolicies": null,
        51 "provisioningState": null,
        52 "purpose": null,
        53 "resourceGroup": "privatelink",
        54 "resourceNavigationLinks": null,
        55 "routeTable": null,
        56 "serviceAssociationLinks": null,
        57 "serviceEndpointPolicies": null,
        58 "serviceEndpoints": null
        59 },
        60 "type": "Microsoft.Network/networkInterfaces/ipConfigurations",
        61 "virtualNetworkTaps": null
        62 }
        63 ],
        64 "location": "eastus2",
        65 "macAddress": "",
        66 "name": "privatelink.nic.00000000-0000-0000-0000-000000000000",
        67 "networkSecurityGroup": null,
        68 "primary": null,
        69 "privateEndpoint": {
        70 "customDnsConfigs": null,
        71 "etag": null,
        72 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
        73 "location": null,
        74 "manualPrivateLinkServiceConnections": null,
        75 "name": null,
        76 "networkInterfaces": null,
        77 "privateLinkServiceConnections": null,
        78 "provisioningState": null,
        79 "resourceGroup": "privatelink",
        80 "subnet": null,
        81 "tags": null,
        82 "type": null
        83 },
        84 "provisioningState": "Succeeded",
        85 "resourceGroup": "privatelink",
        86 "resourceGuid": "00000000-0000-0000-0000-000000000000",
        87 "tags": null,
        88 "tapConfigurations": [],
        89 "type": "Microsoft.Network/networkInterfaces",
        90 "virtualMachine": null
        91}
  2. 엔드포인트에 대한 설명을 입력(선택 사항)합니다.

  3. Create를 클릭합니다.

8
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Network Access를 클릭합니다.

    네트워크 액세스 페이지가 표시됩니다.

9

Azure Private Link 비공개 엔드포인트를 사용하여 모든 리소스가 구성되고 비공개 엔드포인트를 사용할 수 있게 되면 Atlas 클러스터에 연결할 수 있습니다.

Azure Private Link 비공개 엔드포인트를 사용할 수 있는지 확인하려면:

Private Endpoint 탭에서 클러스터 유형을 선택하고 Azure Private Link를 사용하여 연결하려는 클러스터가 포함된 리전에 대해 다음 상태를 확인합니다.

Atlas Endpoint Service Status
사용 가능
Endpoint Status
사용 가능

가능한 상태 값에 대해 자세히 알아보려면 비공개 엔드포인트 연결 문제 해결하기를 참조하세요.

이러한 상태가 표시되지 않는 경우 자세한 내용은 비공개 엔드포인트 연결 문제 해결하기를 참조하세요.

Atlas CLI를 통해 Google Cloud에 GCP Private Service Connect를 설정하려면 Atlas CLI를 설치하고 Atlas CLI에서 연결합니다. 그러고 나서 다음 단계를 완료합니다.

1
  1. Atlas CLI 명령을 실행하여 Atlas에서 비공개 엔드포인트를 생성합니다. --region의 값이 클러스터를 배포한 리전과 일치하도록 합니다.

    atlas privateEndpoints gcp create [options]

    명령 구문과 파라미터에 대해 자세히 알아보려면 atlas privateEndpoints gcp 생성에 관한 Atlas CLI문서를 참조하세요.

    멀티 리전 또는 멀티 클라우드 클러스터가 있고 리전화된 비공개 엔드포인트를 허용하지 않는 경우, 각 제공자와 리전에 대해 엔드포인트를 프로비저닝해야 합니다.

  2. 응답에서 비공개 엔드포인트의 ID를 확인합니다. 이 예시에서 ID는 6344ac8f51b94c6356527881입니다.

    Private endpoint '6344ac8f51b94c6356527881' created.
2

참고

Atlas가 비공개 엔드포인트를 프로비저닝하는 데 시간이 다소 걸릴 수 있습니다. 이 단계를 완료하기 전에 1~2분 정도 기다리세요.

Atlas CLI 명령을 실행하여 ID를 사용하여 비공개 엔드포인트를 설명합니다.

atlas privateEndpoints gcp describe <privateEndpointId> [options]

명령 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas 비공개 엔드포인트 GCP 설명을 참조하세요.

다음은 샘플 출력입니다.

ID GROUP NAME REGION STATUS ERROR
6344ac8f51b94c6356527881 N/A CENTRAL_US AVAILABLE

STATUS 값이 INITIATING인 경우 Atlas가 비공개 엔드포인트를 프로비저닝할 때까지 1~2분 더 기다립니다. 그런 다음 이 단계를 다시 시도하십시오.

3
  1. setup_psc.sh라는 이름의 셸 스크립트 파일을 만듭니다.

  2. 다음 코드를 setup_psc.sh 파일에 복사하여 붙여넣고 다음 자리 표시자를 자신의 값으로 대체하세요.

    자리 표시자
    설명
    {GCP-PROJECT- ID}
    Google Cloud에서 Google Cloud 프로젝트를 식별하는 고유한 문자열입니다.
    {ATLAS-GCP-PROJECT-ID}
    Atlas가 리소스를 배포하는 Google Cloud 프로젝트를 식별하는 고유 문자열입니다.
    {ENDPOINT}
    비공개 엔드포인트를 식별하는 고유한 문자열입니다. 이 접두사는 생성하는 모든 전달 규칙에 대한 접두사입니다.
    {REGION}
    클러스터가 상주하는 Google Cloud 리전입니다.
    {SUBNET}
    비공개 서비스 연결 엔드포인트를 만들 때 VPC 네트워크에서 서브넷을 지정하는데, 엔드포인트를 캡슐화하기 위해 새 서브넷을 만들거나 기존 서브넷을 사용할 수 있습니다. 이 서브넷에는 할당되지 않은 IP 주소가 최소 50개 있어야 합니다.
    {VPC-NAME}
    Atlas에 연결하는 데 사용하려는 VNet의 이름입니다. Google Cloud 대시보드의 VPC 네트워크 페이지에서 이 값을 찾을 수 있습니다.
    {GROUP- ID}
    Atlas에서 프로젝트를 식별하는 고유한 24문자 16진수 문자열입니다.
    #!/bin/bash
    gcloud config set project {GCP-PROJECT-ID}
    for i in {0..49}
    do
    gcloud compute addresses create {ENDPOINT}-ip-$i --region={REGION} --subnet={SUBNET}
    done
    for i in {0..49}
    do
    if [ $(gcloud compute addresses describe {ENDPOINT}-ip-$i --region={REGION} --format="value(status)") != "RESERVED" ]; then
    echo "{ENDPOINT}-ip-$i is not RESERVED";
    exit 1;
    fi
    done
    for i in {0..49}
    do
    gcloud compute forwarding-rules create {ENDPOINT}-$i --region={REGION} --network={VPC-NAME} --address={ENDPOINT}-ip-$i --target-service-attachment=projects/{ATLAS-GCP-PROJECT-ID}/regions/{REGION}/serviceAttachments/sa-{REGION}-{GROUP-ID}-$i
    done
  3. 셸 파일 실행

    sh setup_psc.sh
    Created [https://www.googleapis.com/compute/v1/projects/<PROJECT-ID>/regions/<REGION>/addresses/-ip-0].,
    Created [https://www.googleapis.com/compute/v1/projects/<PROJECT-ID>/regions/<REGION>/addresses/-ip-1].,
    ...
    Created [https://www.googleapis.com/compute/v1/projects/<PROJECT-ID>/regions/<REGION>/addresses/-ip-49].,
    Created [https://www.googleapis.com/compute/v1/projects/<PROJECT-ID>/regions/<REGION>/forwardingRules/-ip-0].,
    Created [https://www.googleapis.com/compute/v1/projects/<PROJECT-ID>/regions/<REGION>/forwardingRules/-ip-1].,
    ...
    Created [https://www.googleapis.com/compute/v1/projects/<PROJECT-ID>/regions/<REGION>/forwardingRules/-ip-49].
  4. 다음 명령을 실행하여 Google Cloud 전달 주소 목록을 생성하고 atlasEndpoints.txt 파일에 저장하며, 이전 단계에서 사용한 다음 자리 표시자를 대체합니다.

    자리 표시자
    설명
    {REGION}
    클러스터가 상주하는 Google Cloud 리전입니다.
    {ENDPOINT}
    비공개 엔드포인트를 식별하는 고유한 문자열입니다. 이 접두사는 생성하는 모든 전달 규칙에 대한 접두사입니다.
    gcloud compute forwarding-rules list --regions={REGION} --format="csv(name,IPAddress)" --filter="name:({ENDPOINT}*)" > atlasEndpoints.txt
4

다음 명령을 실행하여 atlasEndpoints.txt의 콘텐츠를 다시 포맷합니다.

sed -i '' '1d' atlasEndpoints.txt
tr -s ',' '@' <atlasEndpoints.txt>atlasEndpoints2.txt
tr -s '\n' ',' <atlasEndpoints2.txt>atlasEndpoints.txt
sed -i '' '$ s/.$//' atlasEndpoints.txt
rm atlasEndpoints2.txt

참고

다음 단계에서 atlasEndpoints.txt의 콘텐츠를 endpoint 매개변수의 값으로 사용합니다.

5
  1. Atlas 엔드포인트 ID와 VPC 엔드포인트 ID를 사용하여 Atlas에서 인터페이스 엔드포인트를 생성하려면 Atlas CLI 명령을 실행합니다. 이 예시에서는 다음과 같은 매개변수를 설정합니다.

    Parameter
    유형
    예시 값
    endpointGroupId
    Argument
    tester-1
    endpointServiceId
    옵션
    6344ac8f51b94c6356527881
    gcpProjectId
    옵션
    atlascli-private-endpoints
    endpoint
    옵션

    tester-1@10.142.0.1,tester-2@10.142.0.2, ... , tester-49@10.142.0.49, tester-50@10.142.0.50

    ...는 그 사이의 다른 엔드포인트 46개를 나타냅니다.

    Atlas CLI를 사용하여 Google Cloud 비공개 엔드포인트에 대한 새 인터페이스를 추가하려면 다음 명령을 실행합니다.

    atlas privateEndpoints gcp interfaces create <endpointGroupId> [options]

    명령 구문 및 매개변수에 관한 자세한 내용은 Atlas CLI 문서에서 atlas privateEndpoints gcp interfaces create를 참조하세요.

6

Atlas가 모든 리소스 구성을 완료하고 비공개 엔드포인트를 사용할 수 있게 된 후 GCP Private Service Connect 비공개 엔드포인트를 사용하여 클러스터에 연결할 수 있습니다.

Google Cloud 비공개 엔드포인트를 사용할 수 있는지 확인하려면 다음을 수행합니다.

  1. Atlas CLI 명령어를 실행하여 해당 ID를 통해 인터페이스 엔드포인트를 설명합니다. 이 예시 에서는 이전 단계의 다음 매개변수를 사용합니다.

    Parameter
    유형
    예시 값
    id
    Argument
    tester-1
    endpointServiceId
    옵션
    6344ac8f51b94c6356527881

    지정한 Google Cloud Platform 비공개 엔드포인트 인터페이스를 반환합니다. Atlas CLI 를 사용하여 다음 명령을 실행 합니다.

    atlas privateEndpoints gcp interfaces describe <id> [options]

    명령 구문 및 매개변수에 관한 Atlas CLI 학습 사항은 Atlas 비공개 Atlas 엔드포인트 인터페이스 GCP 에 대한 문서를 참조하십시오.

  2. 필드 STATUS 값이 AVAILABLE 다음 예에서 표시된 것처럼 인지 확인합니다.

    ENDPOINT STATUS DELETE REQUESTED
    tester-1 AVAILABLE false

    STATUS 값이 VERIFIED인 경우 Atlas에서 비공개 엔드포인트를 사용할 수 있을 때까지 1-2분 정도 더 기다리세요.

Atlas UI를 통해 Google Cloud에서 GCP Private Service Connect를 설정하려면:

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Network Access를 클릭합니다.

    네트워크 액세스 페이지가 표시됩니다.

2
3

Google Cloud 로고를 클릭한 다음 Next를 클릭합니다.

4
  1. Atlas Region 목록에서 비공개 엔드포인트를 만들려는 지역을 선택합니다.

  2. Next를 클릭합니다.

참고

조직에 저장된 결제 정보가 없는 경우 Atlas는 계속하기 전에 해당 정보를 추가하라는 메시지를 표시합니다.

5
  1. Google Cloud VPC에 대한 다음 세부 정보를 입력하세요.

    Google Cloud Project ID
    프로젝트의 고유 ID입니다. Google Cloud 플랫폼의 Dashboard 페이지에서 이 값을 찾으세요.
    VPC Name
    Atlas에 연결하는 데 사용하려는 VPC의 이름입니다. Google Cloud 대시보드의 VPC Networks 페이지에서 이 값을 찾을 수 있습니다.
    Subnet Name
    Google Cloud VPC의 서브넷 이름입니다. Google Cloud 대시보드의 VPC Networks 페이지에서 이 값을 찾을 수 있습니다.
  2. Private Service Connect Endpoint Prefix 필드에 비공개 엔드포인트의 고유한 이름을 입력합니다. 이 접두사는 생성된 모든 엔드포인트의 접두사와 엔드포인트 그룹의 이름이 됩니다. Next를 클릭합니다.

  3. 셸 스크립트를 다운로드하고 gcloud CLI로 실행하여 Google Cloud VPC에서 전달 규칙을 만드세요. 그러면 다음 단계에서 필요한 IP 주소 및 엔드포인트 이름 목록이 포함된 JSON 파일이 출력됩니다. Next를 클릭합니다.

  4. Upload JSON File을 클릭하여 출력된 JSON 파일을 선택하고 업로드하세요.

  5. Create Private Endpoint를 클릭합니다.

6
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Network Access를 클릭합니다.

    네트워크 액세스 페이지가 표시됩니다.

7

모든 리소스가 구성되고 비공개 엔드포인트를 사용할 수 있게 되면 GCP Private Service Connect 비공개 엔드포인트를 사용하여 Atlas 클러스터에 연결할 수 있습니다.

GCP Private Service Connect 비공개 엔드포인트를 사용할 수 있는지 확인하려면 다음을 수행하세요.

Private Endpoint 탭에서 GCP 비공개 서비스 연결을 사용하여 연결하려는 클러스터가 포함된 리전의 다음 상태를 확인합니다.

Atlas Endpoint Service Status
사용 가능
Endpoint Status
사용 가능

가능한 상태 값에 대해 자세히 알아보려면 비공개 엔드포인트 연결 문제 해결하기를 참조하세요.

이러한 상태가 표시되지 않는 경우 자세한 내용은 비공개 엔드포인트 연결 문제 해결하기를 참조하세요.

돌아가기

개요