Atlas의 비공개 엔드포인트에 대해 알아보기
이 페이지의 내용
참고
이 기능 M0
무료 클러스터 및 Flex 클러스터에서는 사용할 수 없습니다. 사용할 수 없는 기능에 대해 자세히 학습 Atlas M(무료0 클러스터), M2 및 M5 한도를 참조하세요.
MongoDB Atlas 는 전용 클러스터에서 비공개 엔드포인트 를 지원합니다. 클러스터 유형을 선택하여 Atlas 가 지원하는 cloud 제공자를 학습 보세요.
를 사용하는Amazon Web Services AWS PrivateLink 기능.
- Azure Azure Azure Private Link 를 사용하는 Azure Azure Private Link
- 기능.
- GCP GCP PrivateGoogle Cloud Platform Service Connect를 사용하는 Google Cloud Platform
- 기능.
Online Archive에 비공개 엔드포인트를 설정할 수도 있습니다. 자세한 사항은 Online Archive용 비공개 엔드포인트 설정을 참조하십시오.
비공개 엔드포인트 개념
AWS에서 PrivateLink를 허용하고 Atlas에서 비공개 엔드포인트를 허용하면 AWS와 Atlas가 다음 리소스를 생성하여 VPC를 통한 보안 연결을 지원합니다.
Resource | 크리에이터 | 설명 |
---|---|---|
비공개 엔드포인트 서비스 | Atlas | 네트워크 로드 밸런서 뒤의 지역 내에 클러스터를 배치하는 Atlas VPC 내의 프라이빗 엔드포인트 리소스 모음입니다. AWS에서는 엔드포인트 서비스를 VPC endpoint service라고 합니다. |
인터페이스 엔드포인트 | AWS | AWS AWS PrivateLink를 통해 비공개 엔드포인트 서비스로 트래픽을 전송하는 비공개 IP 주소가 있는VPC 엔드포인트입니다. AWS는 인터페이스 엔드포인트를 VPC endpoint라고 합니다. |
비공개 엔드포인트 | AWS 와 Atlas가 함께 | Atlas와 클라우드 공급자 간에 설정된 비공개 연결에 대한 일반적인 용어입니다. AWS의 경우 해당 연결은 PrivateLink를 사용하여 설정됩니다. |
비공개 엔드포인트를 사용하여 Atlas 클러스터에 연결하면 다른 네트워크 액세스 관리 옵션에 비해 다음과 같은 이점이 있습니다.
비공개 엔드포인트를 사용한 연결은 단방향입니다. Atlas VPC는 VPC에대한 연결을 다시 시작할 수 없습니다. 이렇게 하면 인식된 네트워크 신뢰 경계가 확장되지 않습니다.
VPC 내 비공개 엔드포인트에 대한 연결은 다음을 통해 이전적으로 이루어질 수 있습니다.
다른 VPC가 비공개 엔드포인트에 연결된 VPC를 피어링했습니다.
DirectConnect 로 연결된 온프레미스 데이터 센터가 비공개 엔드포인트에 연결된 VPC에 연결됩니다. 이렇게 하면 Atlas IP IP 액세스 목록에 공개 IP주소를 추가하지 않고도 온프레미스 데이터 센터에서 직접 Atlas에 연결할 수 있습니다.
비공개 엔드포인트 개념
이 기능을 활성화하면 Azure와 Atlas는 VNet을 통한 보안 연결을 지원하기 위해 다음 리소스를 만듭니다.
Resource | 크리에이터 | 설명 |
---|---|---|
비공개 엔드포인트 서비스 | Atlas | 네트워크 로드 밸런서 뒤의 리전 내에 클러스터를 배치하는 Atlas VNet 내의 비공개 엔드포인트 리소스입니다. |
비공개 엔드포인트 | Azure와 Atlas가 함께 | Atlas와 클라우드 공급자 간에 설정된 비공개 연결에 대한 일반적인 텀입니다. Azure의 경우 해당 연결은 Private Link를 사용하여 설정됩니다. |
Atlas는 Private Link 서비스를 생성하고 Atlas VNet의 로드 밸런서 뒤에 리전 내 클러스터를 배치합니다.
그런 다음 Atlas VNet에서 비공개 엔드포인트를 사용하여 Private Link 서비스로 단방향 연결을 설정하는 리소스를 만듭니다. Private Link 서비스는 Atlas VNet에서 클러스터 앞에 있는 로드 밸런서로 트래픽을 라우팅합니다.
비공개 엔드포인트를 사용하여 Atlas 클러스터에 연결하면 다른 네트워크 액세스 관리 옵션에 비해 다음과 같은 이점이 있습니다.
비공개 엔드포인트를 사용한 연결은 단방향입니다. Atlas VNet은 VNet에 대한 연결을 다시 시작할 수 없습니다. 이렇게 하면 인식된 네트워크 신뢰 경계가 확장되지 않습니다.
VNet 내 비공개 엔드포인트에 대한 연결은 다음을 통해 이전적으로 이루어질 수 있습니다.
다른 VNetdl 비공개 엔드포인트에 연결된 VNetdmf 피어링했습니다.
ExpressRoute를 사용하여 비공개 엔드포인트에 연결된 VNet에 연결된 온프레미스 데이터 센터입니다. 이렇게 하면 Atlas IP IP 액세스 목록에 공개 IP주소를 추가하지 않고도 온프레미스 데이터 센터에서 직접 Atlas에 연결할 수 있습니다.
비공개 엔드포인트 개념
이 기능을 활성화하면 Google Cloud와 Atlas가 다음과 같은 리소스를 생성하여 VPC를 통한 보안 연결을 지원합니다.
Resource | 크리에이터 | 설명 |
---|---|---|
비공개 엔드포인트 서비스 | Atlas | 네트워크 로드 밸런서 뒤의 리전 내에 클러스터를 배치하는 Atlas VPC 내의 비공개 엔드포인트 리소스 컬렉션입니다. |
비공개 엔드포인트 | Google Cloud와 Atlas를 함께 사용 | Atlas와 클라우드 공급자 간에 설정된 비공개 연결에 대한 일반적인 용어입니다. Google Cloud의 경우 이러한 연결은 비공개 서비스 연결을 사용하여 설정됩니다. |
Google Cloud에서 GCP Private Service Connect를 사용 설정하면 Atlas는 서비스 연결 및 로드 밸런서를 사용하여 비공개 엔드포인트 서비스를 만듭니다.
다음으로, 비공개 엔드포인트를 사용하여 VPC에서 Atlas의 비공개 엔드포인트 서비스로 단방향 연결을 설정하는 리소스를 생성합니다. 비공개 엔드포인트 서비스는 Atlas VPC에 있는 클러스터의 로드 밸런서로 트래픽을 라우팅합니다.
현재 및 향후 클러스터 모두에 대한 리소스의 가용성을 보장하기 위해 이 기능을 활성화하면 Atlas는 다음 조치를 수행합니다.
해당 리전에 대한 50 로드 밸런서와 서비스 연결을 생성합니다. 그런 다음 Atlas는 해당 리전의 기존 클러스터를 Atlas VPC 내의 로드 밸런서 뒤에 배치합니다. GCP Private Service Connect는 각 클러스터 내의 각 노드에 대해 별도의 로드 밸런서를 필요로 합니다.
남은 로드 밸런서 및 서비스 연결을 해당 리전 내의 향후 클러스터를 위해 예약합니다.
다음 다이어그램은 GCP Private Service Connect가 한 리전에 클러스터가 하나 있을 때 연결을 설정하는 방법을 보여줍니다.
다음 다이어그램은 두 개의 클러스터가 한 리전에 있을 때 GCP Private Service Connect가 연결을 설정하는 방법을 보여줍니다.
다음 다이어그램은 여러 리전에 하나의 클러스터 가 있는 경우 GCP Private Service Connect가 연결을 설정하는 방법을 보여줍니다.
비공개 엔드포인트를 사용하여 Atlas 클러스터에 연결하면 다른 네트워크 액세스 관리 옵션에 비해 다음과 같은 이점이 있습니다.
- 비공개 엔드포인트에 대한 연결은 단방향입니다. Atlas
- VPCVPC Google Cloud Platform 는 Google Cloud Platform VPC 에 대한 연결을 다시 시작할 수 없습니다.VPC 이렇게 하면 인식된 네트워크 신뢰 경계가 확장되지 않습니다.
- VPC 내비공개 엔드포인트 에 연결할 수 있습니다.
- Google Cloud Platform VPN으로 연결된 온프레미스 데이터 Google Cloud Platform VPC 센터 에서 비공개 엔드포인트에 연결된 VPC 로 전이합니다. 이를 통해 Atlas 액세스 목록에 공용 IP 주소를 추가하지 않고도 온프레미스 데이터 센터 에서 직접 Atlas 에 연결할 수 있습니다.
Online Archive에 비공개 엔드포인트를 설정할 수도 있습니다. 자세한 사항은 Online Archive용 비공개 엔드포인트 설정을 참조하십시오.
비공개 엔드포인트를 사용하여 Atlas 클러스터에 연결하면 다른 네트워크 액세스 관리 옵션에 비해 다음과 같은 이점이 있습니다.
비공개 엔드포인트를 사용한 연결은 단방향입니다. Atlas VPC는 VPC에대한 연결을 다시 시작할 수 없습니다. 이렇게 하면 인식된 네트워크 신뢰 경계가 확장되지 않습니다.
VPC 내 비공개 엔드포인트에 대한 연결은 다음을 통해 이전적으로 이루어질 수 있습니다.
다른 VPC가 비공개 엔드포인트에 연결된 VPC를 피어링했습니다.
DirectConnect 로 연결된 온프레미스 데이터 센터가 비공개 엔드포인트에 연결된 VPC에 연결됩니다. 이렇게 하면 Atlas IP IP 액세스 목록에 공개 IP주소를 추가하지 않고도 온프레미스 데이터 센터에서 직접 Atlas에 연결할 수 있습니다.
비공개 엔드포인트를 사용하여 Atlas 클러스터에 연결하면 다른 네트워크 액세스 관리 옵션에 비해 다음과 같은 이점이 있습니다.
비공개 엔드포인트를 사용한 연결은 단방향입니다. Atlas VNet은 VNet에 대한 연결을 다시 시작할 수 없습니다. 이렇게 하면 인식된 네트워크 신뢰 경계가 확장되지 않습니다.
VNet 내 비공개 엔드포인트에 대한 연결은 다음을 통해 이전적으로 이루어질 수 있습니다.
다른 VNetdl 비공개 엔드포인트에 연결된 VNetdmf 피어링했습니다.
ExpressRoute를 사용하여 비공개 엔드포인트에 연결된 VNet에 연결된 온프레미스 데이터 센터입니다. 이렇게 하면 Atlas IP IP 액세스 목록에 공개 IP주소를 추가하지 않고도 온프레미스 데이터 센터에서 직접 Atlas에 연결할 수 있습니다.
필요한 액세스 권한
비공개 엔드포인트를 설정하려면 프로젝트에 대한 Organization Owner
또는 Project Owner
액세스 권한이 있어야 합니다.
고려 사항
고가용성
Atlas에 대한 비공개 엔드포인트 연결이 가용성 구역 중단을 견딜 수 있도록 하려면 서브넷을 리전의 여러 가용성 구역에 배포해야 합니다.
Atlas에 대한 Azure 비공개 엔드포인트 연결이 가용성 영역 중단을 견딜 수 있는지 확인하기 위해 추가 조치를 취할 필요가 없습니다.
Atlas에 대한 Google Cloud 비공개 엔드포인트 연결이 가용영역 장애를 견딜 수 있도록 추가 조치를 취할 필요가 없습니다.
멀티 리전 지원
GCP Private Service Connect에서 이제 Atlas 클러스터에 대한 멀티 리전 지원을 제공합니다. 글로벌 액세스를 구성하여 다른 Google Cloud 리전의 비공개 엔드포인트에 연결할 수 있습니다. 글로벌 액세스를 사용하면 멀티 리전 클러스터, 사용자 리전이 아닌 다른 리전에서 호스팅되는 단일 리전 배포, 멀티 클라우드 배포의 Google Cloud 노드에 대한 높은 가용성을 보장할 수 있습니다.
자세한 내용은 MongoDB Atlas용 PSC 인터커넥트 및 글로벌 액세스 소개를 참조하세요.
비공개 엔드포인트에 사용되는 포트 범위
AWS PrivateLink는 주소 지정 가능한 대상 50개를 지원하고, Atlas는 포트 65535를 통해 포트 1024를 사용할 수 있습니다. 그러나 일반적으로 포트 1024로 시작합니다. 포트는 클러스터 변경을 포함한 특정 상황에서 변경될 수 있습니다(이에 국한되지는 않음).
중요
MongoDB는 DNS 시드 목록 비공개 엔드포인트 인식 연결 문자열을 사용할 것을 강력히 권장합니다. 이렇게 하면 DNS가 변경하는 경우 AWS PrivateLink에서 사용하는 포트를 자동으로 업데이트합니다. 같은 이유로 MongoDB는 특정 포트 대신 전체 포트 범위를 허용 목록에 추가할 것을 강력히 권장합니다.
Azure Private Link는 150개의 주소 지정 가능한 대상을 지원합니다. Atlas는 포트 2524를 통해 포트 1024를 사용할 수 있습니다. 그러나 일반적으로 포트 1024로 시작합니다. 포트는 클러스터 변경을 포함한 특정 상황에서 변경될 수 있습니다(이에 국한되지는 않음).
중요
MongoDB는 DNS 시드 목록 비공개 엔드포인트 인식 연결 문자열을 사용할 것을 강력히 권장합니다. 이렇게 하면 DNS가 포트에 변경 사항이 있는 경우 Azure Private Link에서 사용하는 포트를 자동으로 업데이트합니다. 같은 이유로 MongoDB는 특정 포트 대신 전체 포트 범위를 허용 목록에 추가할 것을 강력히 권장합니다.
Atlas 서비스는 GCP Private Service Connect 엔드포인트를 통해 포트 27015에서 27017까지 액세스할 수 있습니다. 포트는 클러스터 변경을 포함한 특정 상황에서 변경될 수 있습니다(이에 국한되지는 않음).
중요
MongoDB는 DNS 시드 목록 비공개 엔드포인트 인식 연결 문자열을 사용할 것을 강력히 권장합니다. 이렇게 하면 DNS가 변경하는 경우 GCP Private Service Connect에서 사용하는 포트를 자동으로 업데이트합니다. 같은 이유로 MongoDB는 특정 포트 대신 전체 포트 범위를 허용 목록에 추가할 것을 강력히 권장합니다.
비공개 엔드포인트 인식 연결 문자열
비공개 엔드포인트를 구성하면 Atlas는 DNS 시드 목록과 표준 비공개 엔드포인트 인식 연결 문자열을 생성합니다.
DNS 시드 목록 연결
mongodb+srv://cluster0-pl-0-k45tj.mongodb.net 표준 연결 문자열
mongodb://pl-0-us-east-1-k45tj.mongodb.net:1024,pl-0-us-east-1-k45tj.mongodb.net:1025,pl-0-us-east-1-k45tj.mongodb.net:1026/?ssl=true&authSource=admin&replicaSet=Cluster0-shard-0-shard-0
VPC의 클라이언트가 이러한 비공개 엔드포인트 인식 연결 문자열 중 하나를 사용하여 Atlas 클러스터에 연결하면 클라이언트는 인터페이스 엔드포인트 중 하나를 통해 Atlas VPC의 로드 밸런서에 연결을 설정하려고 시도합니다. 클라이언트의 DNS 확인 메커니즘은 호스트 이름이 어떤 인터페이스 엔드포인트로 확인되는지 처리합니다. 한 인터페이스 엔드포인트를 사용할 수 없는 경우 다음 인터페이스 엔드포인트가 사용됩니다. 이것은 드라이버 또는 다른 연결 메커니즘에 불투명합니다. 드라이버는 SRV 기록 또는 연결 문자열의 호스트 이름만 인식합니다.
DNS 시드 목록 비공개 엔드포인트 인식 연결 문자열에 대한 SRV 레코드
다음 예시는 AWS PrivateLink 허용 단일 리전 클러스터에 대한 SRV 기록으로, pl-0-us-east-1-k45tj.mongodb.net
에 대해 정의된 세 개의 고유 포트를 표시합니다.
nslookup -type=SRV _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1026 pl-0-us-east-1-k45tj.mongodb.net. _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1024 pl-0-us-east-1-k45tj.mongodb.net. _mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net service = 0 0 1025 pl-0-us-east-1-k45tj.mongodb.net.
앞의 예시에서
_mongodb._tcp.cluster0-pl-0-k45tj.mongodb.net
mongodb+srv://cluster0-pl-0-k45tj.mongodb.net
연결 문자열이 참조하는 SRV 레코드입니다.pl-0-us-east-1-k45tj.mongodb.net
한 리전의 Atlas 클러스터에 있는 각 노드에 대한 호스트 이름에 대해 AWS PrivateLink를 구성했습니다.1024
1025
및1026
는 AWS PrivateLink를 허용한 리전의 각 Atlas 복제본 세트 노드에 대해 Atlas가 로드 밸런서에서 할당하는 고유 포트입니다. Atlas 복제본 세트의 모든 노드는 동일한 호스트 이름을 통해 액세스할 수 있으며, 로드 밸런서는 개별 노드를 고유 포트로 확인합니다.
비공개 엔드포인트 인식 연결 문자열 및 SRV 레코드의 호스트 이름 DNS 확인
SRV 기록의 호스트 이름과 표준 연결 문자열은 AWS가 인터페이스 엔드포인트에 대해 생성하는 엔드포인트별 DNS 이름으로 확인되는 DNS Canonical Name(CNAME
) 기록입니다. 인터페이스 엔드포인트를 배포한 VPC의 각 서브넷에 대해 DNS ALIAS
기록이 존재합니다. 각 ALIAS
기록에는 해당 서브넷에 대한 인터페이스 엔드포인트의 개인 IP 주소가 포함되어 있습니다.
다음 예는 인터페이스 엔드포인트와 해당 DNS 기록에 대한 엔드포인트별 리전 DNS 이름을 포함하여 SRV 기록 및 표준 연결 문자열에서 호스트 이름에 대한 DNS ALIAS
기록을 보여줍니다.
nslookup pl-0-us-east-1-k45tj.mongodb.net Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: pl-0-us-east-1-k45tj.mongodb.net canonical name = vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com. Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com Address: 10.0.30.194 Name: vpce-024f5b57108c8d3ed-ypwbxwll.vpce-svc-02863655456245e5c.us-east-1.vpce.amazonaws.com Address: 10.0.20.54
비공개 엔드포인트를 구성할 때 Atlas는 DNS 시드 목록 연결 문자열을 생성합니다.
DNS 시드 목록 연결
mongodb+srv://serverlessinstance0-pl-0-k45tj.mongodb.net
VPC의 클라이언트가 이러한 비공개 엔드포인트 인식 연결 문자열 중 하나를 사용하여 Atlas 클러스터에 연결하면 클라이언트는 인터페이스 엔드포인트 중 하나를 통해 Atlas VPC의 로드 밸런서에 연결을 설정하려고 시도합니다. 클라이언트의 DNS 확인 메커니즘은 호스트 이름이 어떤 인터페이스 엔드포인트로 확인되는지 처리합니다. 한 인터페이스 엔드포인트를 사용할 수 없는 경우 다음 인터페이스 엔드포인트가 사용됩니다. 이것은 드라이버 또는 다른 연결 메커니즘에 불투명합니다. 드라이버는 SRV 기록 또는 연결 문자열의 호스트 이름만 인식합니다.
DNS 시드 목록 비공개 엔드포인트 인식 연결 문자열에 대한 SRV 레코드
다음 예시는 AWS PrivateLink 지원 서버리스 인스턴스의 SRV 레코드를 보여주며, serverlessinstance0-pe-1.oqg5v.mongodb.net
에 대해 정의된 포트 하나를 나타냅니다.
nslookup -type=SRV _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net service = 0 0 27017 pe-1-serverlessinstance0.oqg5v.mongodb.net.
앞의 예시에서
_mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net
mongodb+srv://serverlessinstance0-pe-1.oqg5v.mongodb.net
연결 문자열이 참조하는 SRV 레코드입니다.serverlessinstance0-pe-1.oqg5v.mongodb.net
AWS Private Link를 구성한 Atlas 서버리스 인스턴스의 호스트 이름입니다.27017
AWS PrivateLink를 사용하도록 설정한 Atlas 서버리스 인스턴스의 로드밸런서에 할당하는 고유 포트입니다.
비공개 엔드포인트 인식 연결 문자열 및 SRV 레코드의 호스트 이름 DNS 확인
SRV 기록의 호스트 이름과 표준 연결 문자열은 AWS가 인터페이스 엔드포인트에 대해 생성하는 엔드포인트별 DNS 이름으로 확인되는 DNS Canonical Name(CNAME
) 기록입니다. 인터페이스 엔드포인트를 배포한 VPC의 각 서브넷에 대해 DNS ALIAS
기록이 존재합니다. 각 ALIAS
기록에는 해당 서브넷에 대한 인터페이스 엔드포인트의 개인 IP 주소가 포함되어 있습니다.
비공개 엔드포인트를 구성하면 Atlas는 DNS 시드 목록과 표준 비공개 엔드포인트 인식 연결 문자열을 생성합니다.
DNS 시드 목록 연결
mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net 표준 연결 문자열
mongodb://pl-0-eastus2.uzgh6.mongodb.net:1024,pl-0-eastus2.uzgh6.mongodb.net:1025,pl-0-eastus2.uzgh6.mongodb.net:1026/?ssl=truereplicaSet=atlas-18bndf-shard-0
VNet의 클라이언트가 이러한 사설 엔드포인트 인식 연결 문자열 중 하나를 사용하여 Atlas 클러스터에 연결하면 클라이언트는 사설 엔드포인트의 네트워크 인터페이스를 통해 Atlas VNet의 사설 링크 서비스에 대한 연결을 설정하려고 시도합니다. Private Link 서비스는 Azure 표준 밸런서를 통해 해당 리전에 배포된 Atlas 클러스터로 트래픽을 보냅니다. 클라이언트의 DNS 확인 메커니즘은 네트워크 인터페이스의 비공개 IP 주소로 호스트 이름 확인을 처리합니다. 드라이버는 연결 문자열의 호스트 이름만 인식하며 클러스터의 복제본 세트에 있는 각 노드에 대해 1개의 포트에서 수신 대기합니다.
DNS 시드 목록 비공개 엔드포인트 인식 연결 문자열에 대한 SRV 레코드
다음 예시는 Azure Private Link 허용 단일 리전 클러스터에 대한 SRV 기록으로, pl-0-eastus2.uzgh6.mongodb.net
에 대해 정의된 세 개의 고유 포트를 표시합니다.
nslookup -type=SRV _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1024 pl-0-eastus2.uzgh6.mongodb.net. _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1025 pl-0-eastus2.uzgh6.mongodb.net. _mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net service = 0 0 1026 pl-0-eastus2.uzgh6.mongodb.net.
앞의 예시에서
_mongodb._tcp.cluster0-pl-0.uzgh6.mongodb.net
입니다- 연결 문자열이 참조하는 SRV 레코드입니다.
pl-0-eastus2.uzgh6.mongodb.net
호스트 이름입니다.- Azure Private Link를 구성한 리전의 한 Atlas 클러스터에 있는 각 노드.
1024
,1025
및1026
은 다음과 같은 고유한 포트입니다.- Atlas는 Azure Private Link를 사용하도록 설정한 리전의 각 Atlas 복제 세트 노드에 대해 로드 밸런서에 할당합니다. Atlas 복제본 세트의 모든 노드는 동일한 호스트 이름을 통해 액세스할 수 있으며, 로드 밸런서는 개별 노드를 고유 포트로 확인합니다.
비공개 엔드포인트 인식 연결 문자열 및 SRV 레코드의 호스트 이름 DNS 확인
SRV 레코드의 호스트 이름과 표준 연결 문자열은 비공개 엔드포인트 네트워크 인터페이스의 개인 IP 주소를 확인하는 DNS A
레코드입니다.
다음 예에서는 SRV 레코드 및 표준 연결 문자열에서 호스트 이름에 대한 DNS 조회를 보여줍니다.
nslookup pl-0-eastus2.uzgh6.mongodb.net Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: Name: pl-0-eastus2.uzgh6.mongodb.net Address: 10.0.0.4
프라이빗 엔드포인트를 구성할 때 Atlas는 DNS 시드 목록 연결 문자열을 생성합니다.
DNS 시드 목록 연결
mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net
VNet의 클라이언트가 비공개 엔드포인트 인식 연결 문자열을 사용하여 Atlas 클러스터에 연결하면 클라이언트는 비공개 엔드포인트의 네트워크 인터페이스를 통해 Atlas VNet의 비공개 링크 서비스에 대한 연결을 설정하려고 시도합니다. 비공개 링크 서비스는 Azure 표준 밸런서를 통해 해당 리전에 배포된 Atlas 클러스터로 트래픽을 보냅니다. 클라이언트의 DNS 확인 메커니즘은 네트워크 인터페이스의 비공개 IP 주소로 호스트 이름 확인을 처리합니다. 드라이버는 연결 문자열의 호스트 이름만 인식합니다.
DNS 시드 목록 비공개 엔드포인트 인식 연결 문자열에 대한 SRV 레코드
다음 예시는 Azure Private Link가 활성화된 서버리스 인스턴스의 SRV 레코드를 보여주며, pl-0-eastus2.uzgh6.mongodb.net
에 대해 정의된 하나의 포트를 보여줍니다.
nslookup -type=SRV _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: _mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net service = 0 0 27017 serverlessinstance0-pe-1.oqg5v.mongodb.net.
앞의 예시에서
_mongodb._tcp.serverlessinstance0-pe-1.oqg5v.mongodb.net
은 연결 문자열이 참조하는 SRV 레코드입니다.serverlessinstance0-pe-1.oqg5v.mongodb.net
Azure Private Link를 구성한 Atlas 서버리스 인스턴스의 호스트 이름입니다.27017
Azure Private Link를 사용하도록 설정한 Atlas 서버리스 인스턴스의 부하 분산 장치에 Atlas가 할당하는 고유 포트입니다.
비공개 엔드포인트 인식 연결 문자열 및 SRV 레코드의 호스트 이름 DNS 확인
SRV 레코드의 호스트 이름과 표준 연결 문자열은 비공개 엔드포인트 네트워크 인터페이스의 개인 IP 주소를 확인하는 DNS A
레코드입니다.
비공개 엔드포인트를 구성하면 Atlas는 DNS 시드 목록과 표준 비공개 엔드포인트 인식 연결 문자열을 생성합니다.
DNS 시드 목록 연결
mongodb+srv://cluster0-pl-0.uzgh6.mongodb.net 표준 연결 문자열
mongodb://pl-00-000-eastus2.uzgh6.mongodb.net:27017,pl-00-001-eastus2.uzgh6.mongodb.net:27017,pl-00-002-eastus2.uzgh6.mongodb.net:27017/?ssl=truereplicaSet=atlas-18bndf-shard-0
네트워크의 클라이언트가 이러한 비공개 엔드포인트 인식 연결 문자열 중 하나를 사용하여 Atlas 클러스터에 연결하면 클라이언트는 비공개 엔드포인트를 통해 Atlas VPC의 서비스 연결에 대한 연결 설정을 시도합니다. 서비스 연결은 Google Cloud 내부 로드 밸런서를 통해 해당 리전에 배포한 Atlas 클러스터 노드로 트래픽을 전송합니다. 클라이언트의 DNS 확인 메커니즘은 엔드포인트의 비공개 IP 주소로 호스트 이름 확인을 처리합니다.
팁
다음도 참조하세요.
IP 액세스 목록 및 비공개 엔드포인트와의 네트워크 피어링 연결
비공개 엔드포인트를 활성화하면 IP 액세스 목록에 공용 IP를 추가하거나 네트워크 피어링을 통해 Atlas 클러스터에 대한 액세스를 다른 방법으로도 활성화할 수 있습니다.
다른 방법을 사용하여 Atlas 클러스터에 연결하는 클라이언트는 표준 연결 문자열을 사용합니다. 클라이언트는 비공개 엔드포인트 인식 연결 문자열과 표준 연결 문자열을 사용할 시기를 식별할 수도 있습니다.
(선택 사항) 멀티 리전 샤딩된 클러스터를 위한 리전화된 비공개 엔드포인트
멀티 리전 및 글로벌 샤딩된 클러스터의 경우 서로 피어링할 수 없는 네트워크의 비공개 엔드포인트를 사용하여 Atlas에 연결하려면 여러 개의 비공개 엔드포인트를 리전에 배포할 수 있습니다.
클러스터를 배포한 리전에는 비공개 엔드포인트를 원하는 만큼 배포할 수 있습니다. 각 리전 비공개 엔드포인트는 해당 리전의 mongos
인스턴스에 연결됩니다.
경고: 이 설정을 활성화하면 기존 멀티 리전 및 글로벌 샤딩된 클러스터에 대한 연결 문자열이 변경됩니다.
새 연결 문자열을 사용하려면 애플리케이션을 업데이트해야 합니다. 이로 인해 다운타임이 발생할 수 있습니다.
Atlas 프로젝트에 비샤드 복제본 세트가 없는 경우에만 이 설정을 활성화할 수 있습니다.
다음의 경우 비활성화할 수 없습니다.
둘 이상의 리전에 둘 이상의 비공개 엔드포인트가 있는 경우, 또는
한 리전에 두 개 이상의 비공개 엔드포인트와 하나 이상의 리전에 있는 하나의 비공개 엔드포인트.
리전화된 비공개 엔드포인트 설정을 활성화하면 샤딩된 클러스터만 생성할 수 있습니다. 복제본 세트는 생성할 수 없습니다.
이 기능을 사용하려면 리전화된 비공개 엔드포인트 설정을 활성화해야 합니다.
리전화된 비공개 엔드포인트 설정을 활성화하거나 비활성화하려면 다음을 수행합니다.
리전화된 비공개 엔드포인트 활성화
Atlas CLI를 사용하여 프로젝트에 대한 리전화된 비공개 엔드포인트 설정을 활성화하려면 다음 명령어를 실행합니다.
atlas privateEndpoints regionalModes enable [options]
명령 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas privateEndpoints regionalModes 활성화를 참조하세요.
리전화된 비공개 엔드포인트 비활성화
Atlas CLI를 사용하여 프로젝트에 대한 리전화된 비공개 엔드포인트 설정을 비활성화하려면 다음 명령어를 실행합니다.
atlas privateEndpoints regionalModes disable [options]
명령 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas 비공개 엔드포인트 AWS 리전 모드 비활성화를 참조하십시오.
리전화된 비공개 엔드포인트 설정 보기
Atlas CLI를 사용하여 프로젝트에 대한 리전화된 비공개 엔드포인트 설정을 반환하려면 다음 명령어를 실행합니다.
atlas privateEndpoints regionalModes describe [options]
명령 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas privateEndpoints regionalModes 설명을 참조하세요.
리전화된 비공개 엔드포인트 활성화
Atlas에서 Project Settings 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
Projects 메뉴 옆에 있는 Options 메뉴를 펼친 다음 Project Settings 를 클릭합니다.
프로젝트 설정 페이지가 표시됩니다.
리전화된 비공개 엔드포인트 비활성화
Atlas에서 Project Settings 페이지로 이동합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.
아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.
Projects 메뉴 옆에 있는 Options 메뉴를 펼친 다음 Project Settings 를 클릭합니다.
프로젝트 설정 페이지가 표시됩니다.
(선택 사항) 비공개 엔드포인트를 통한 샤딩된 클러스터에 대한 연결 성능을 향상합니다
Atlas는 비공개 엔드포인트 서비스의 로드 밸런서를 사용하여 샤딩된 클러스터에 대해 최적화된 SRV 연결 문자열을 생성할 수 있습니다. 최적화된 연결 문자열을 사용하는 경우 Atlas는 애플리케이션과 샤딩된 클러스터 간의 mongos
당 연결 수를 제한합니다. mongos
당 제한된 연결은 연결 수가 급증하는 동안 성능을 향상시킵니다.
Atlas Google Cloud 또는 Azure 에서 실행 클러스터에 대해 최적화된 연결 문자열을 지원 하지 않습니다. 비공개 엔드포인트 샤딩된 클러스터에 대해 최적화된 연결 문자열에 대해 자세히 학습 비공개 엔드포인트 샤드 클러스터에 대한 연결 성능 향상을 참조하세요.
지역화된 비공개 엔드포인트 없이 멀티 리전 클러스터에 연결
AWS PrivateLink를 사용하고 서로 다른 리전에 엔드포인트가 있지만 리전화된 비공개 엔드포인트를 사용하지 않는 멀티 리전 클러스터에 연결하는 애플리케이션이 있는 경우, 해당 애플리케이션이 다른 리전의 엔드포인트에 도달할 수 있는지 확인하세요. 예를 예시,AWS로 이 작업을 수행하려면 해당 측의 엔드포인트가 포함된 VPC를 피어링할 수 있습니다.
청구
전용 클러스터의 비공개 엔드포인트에 대한 청구에 관한 자세한 사항은 전용 클러스터용 비공개 엔드포인트를 참조하십시오.
제한 사항
멀티 리전 클러스터를 배포하는 모든 리전에서 AWS PrivateLink가 활성화되어야 합니다. AWS PrivateLink가 대상 리전 중 일부(전부는 아님)에서 활성 상태인 경우 오류가 발생합니다. AWS 또는 Azure에서 멀티 클라우드 클러스터를 사용하는 경우, 각 제공자 또는 리전에서 엔드포인트를 프로비저닝하고 사이트 간 VPN을 설정해야 합니다.
다음 중 하나만 수행할 수 있습니다.
둘 이상의 리전 에 노드를 배포하고 리전당 하나 리전 비공개 엔드포인트를 갖습니다.
한 리전 에 여러 비공개 엔드포인트 가 있고 다른 비공개 엔드포인트 는 없습니다.
중요
이 제한은 모든 cloud 제공자에 적용됩니다. 예를 예시 Amazon Web Services 의 단일 리전 에서 둘 이상의 비공개 엔드포인트를 생성하는 경우, Azure 또는 Amazon Web Services Azure 다른 Amazon Web Services 리전 Amazon Web Services 에서는 비공개 엔드포인트 를 생성할 수 없습니다.
멀티 리전 및 글로벌 샤딩된 클러스터에 대한 예외는 멀티 리전 샤딩된 클러스터에 멀티 리전 샤딩된 클러스터용으로 리전화된 (선택적) 비공개 엔드포인트를 참조하십시오.
비공개 엔드포인트 연결을 배포하지 않은 리전에서 AWS PrivateLink를 사용하여 Atlas 클러스터에 연결하려면 해당 리전의 VPC를 비공개 엔드포인트 연결을 배포한 리전의 VPC에 피어링해야 합니다.
리전 간 VPC 피어링에 대해 자세히 알아보려면 AWS 문서를 참조하세요.
리전당 최대 50개의 주소 지정 가능한 타깃이 있는 Atlas 프로젝트에서 AWS PrivateLink를 사용할 수 있습니다. 한 리전에 50개 이상의 주소 지정 가능한 대상이 필요한 경우 다음을 수행합니다.
MongoDB 지원팀에 문의하거나
이 한도를 초과하는 주소 지정 가능한 대상에 연결하려면 추가 프로젝트 또는 리전을 사용합니다.
주소 지정이 가능한 대상에는 다음이 포함됩니다.
복제본 세트 배포의 각
mongod
인스턴스(샤딩된 클러스터는 제외)입니다.최적화된 연결 문자열을사용하는 각 샤딩된 클러스터의 배포
프로젝트에 있는 모든 전용 클러스터의 Atlas 인스턴스에 대한 각 BI Connector.
참고
Atlas 프로젝트당 최대 100개의 주소 지정 가능한 타깃으로 AWS PrivateLink를 사용할 수 있도록 일회성 증설을 요청하려면 MongoDB 지원팀에 문의하십시오.
중요
10/16/2020 이전에 생성된 Azure의 일부 Atlas 클러스터는 Azure Private Link와 호환되지 않는 Azure 네트워킹 하드웨어를 사용합니다. 이러한 클러스터가 포함된 Atlas 프로젝트용 Azure Private Link를 프로젝트에서 지원되는 클러스터와 함께 사용하도록 계속 구성할 수 있지만 Azure Private Link를 통해 호환되지 않는 클러스터에 연결할 수는 없습니다.
모든 새로운 Atlas 클러스터는 Azure Private Link와 호환됩니다. Azure Private Link만 사용하여 클러스터에 연결해야 하는 경우 동일한 Atlas 프로젝트에서 새 클러스터를 만들고 데이터를 마이그레이션할 수 있습니다.
Azure Private Link는 멀티 리전 클러스터를 배포하는 모든 리전에서 활성화되어야 합니다. Azure Private Link가 대상 리전 중 일부(전부는 아님)에서 활성 상태인 경우 오류가 발생합니다. AWS 또는 Azure에서 멀티 클라우드 클러스터를 사용하는 경우, 각 제공자 또는 리전에서 엔드포인트를 프로비저닝하고 사이트 간 VPN을 설정해야 합니다.
다음 중 하나만 수행할 수 있습니다.
둘 이상의 리전 에 노드를 배포하고 리전당 하나 리전 비공개 엔드포인트를 갖습니다.
한 리전 에 여러 비공개 엔드포인트 가 있고 다른 비공개 엔드포인트 는 없습니다.
중요
이 제한은 모든 cloud 제공자에 적용됩니다. 예를 예시 Azure 의 단일 리전 에서 둘 이상의 비공개 엔드포인트를 생성하는 경우, Amazon Web Services 또는 다른 Amazon Web Services Azure 리전 에서는 비공개 Azure Azure 엔드포인트 를 생성할 수 없습니다.
멀티 리전 및 글로벌 샤딩된 클러스터에 대한 예외는 멀티 리전 샤딩된 클러스터에 멀티 리전 샤딩된 클러스터용으로 리전화된 (선택적) 비공개 엔드포인트를 참조하십시오.
Azure Private Link를 사용하여 비공개 엔드포인트 연결을 배포하지 않은 리전에서 Atlas 클러스터에 연결하려면 해당 리전의 VNet을 비공개 엔드포인트 연결을 배포한 리전의 VNet에 피어링해야 합니다.
글로벌 VNet 피어링에 대해 알아보려면 Azure 문서를 참조하세요.
리전당 최대 150개의 주소 지정 가능한 대상이 있는 Atlas 프로젝트에서 Azure Private Link를 사용할 수 있습니다. 한 리전에 150개를 초과하는 주소 지정 가능한 대상이 필요한 경우 다음을 수행합니다.
MongoDB 지원팀에 문의하거나
이 한도를 초과하는 주소 지정 가능한 대상에 연결하려면 추가 프로젝트 또는 리전을 사용합니다.
주소 지정이 가능한 대상에는 다음이 포함됩니다.
Azure Private Link는 대상당 64k 이상의 TCP 연결을 허용하지 않으며, 이는 클러스터가 유지할 수 있는 최대 연결 수보다 적을 수 있습니다.
멀티 리전 클러스터를 배포하려면 모든 지역에서 GCP Private Service Connect가 활성화되어 있어야 합니다. 대상 리전 중 일부에서만 GCP Private Service Connect가 활성화되어 있는 경우 오류가 발생합니다.
다음 중 하나만 수행할 수 있습니다.
둘 이상의 리전 에 노드를 배포하고 리전당 하나 리전 비공개 엔드포인트를 갖습니다.
한 리전 에 여러 비공개 엔드포인트 가 있고 다른 비공개 엔드포인트 는 없습니다.
중요
이 제한은 모든 cloud 제공자에 적용됩니다. 예를 예시 Google Cloud Platform 의 단일 리전 에서 둘 이상의 비공개 엔드포인트를 생성하는 경우,Google Cloud Platform Amazon Web Amazon Web Services Services 또는 다른 Google Cloud Google Cloud Platform Platform 리전 에서는 비공개 엔드포인트 를 생성할 수 없습니다.
멀티 리전 및 글로벌 샤딩된 클러스터에 대한 예외는 멀티 리전 샤딩된 클러스터에 멀티 리전 샤딩된 클러스터용으로 리전화된 (선택적) 비공개 엔드포인트를 참조하십시오.
Atlas는 각각 하위 집합 마스크 값이 27인 50 서비스 연결을 생성합니다. 1개의 프로젝트 제한 설정 Atlas Administration API 엔드포인트를 사용하여 다음 제한을 설정하여 Atlas가 생성하는 서비스 연결 수와 하위 집합 마스크 수를 변경할 수 있습니다.
atlas.project.deployment.privateServiceConnectionsPerRegionGroup
제한을 설정하여 서비스 연결 수를 변경하세요.각 서비스 연결의 하위 집합 마스크를 변경하려면
atlas.project.deployment.privateServiceConnectionsSubnetMask
제한을 설정하세요.
자세한 내용은 1개의 프로젝트 제한 설정을 참조하세요.
단일 리전에서 GCP Private Service Connect를 사용하는 Atlas 프로젝트를 생성할 때 최대 50개의 노드를 가질 수 있습니다. 노드 수를 변경해야 하는 경우 다음 작업 중 하나를 수행하세요.
기존 비공개 엔드포인트를 제거한 다음 1개의 프로젝트 제한 설정 Atlas Administration API 엔드포인트를 사용하여 제한을 변경합니다.
MongoDB 지원팀에 문의하세요.
이 한도를 초과하는 노드에 연결하려면 추가 프로젝트 또는 리전을 사용합니다.
Google Cloud의 각 비공개 엔드포인트는 Google Cloud VPC 내의 IP 주소를 예약하고 엔드포인트의 IP 주소에서 서비스 연결로 트래픽을 전달합니다. 서비스 연결 수와 동일한 수의 비공개 엔드포인트를 만들어야 합니다. 서비스 연결 수는 기본적으로 50입니다.
주소 지정이 가능한 대상에는 다음이 포함됩니다.
Google Cloud 리전의
M10+
클러스터에 대해 전용 검색 노드를 구성하는 경우 Atlas는 주소 지정 가능한 대상의 총 수에 해당 노드를 계산하지 않습니다.GCP Private Service Connect를 사용하여 Atlas 프로젝트당 최대 100 개의 노드를 사용할 수 있도록 일회성 증설을 요청하려면 MongoDB 지원팀에 문의하세요.
여러 리전에서 GCP Private Service Connect를 사용하는 Atlas 프로젝트를 생성하는 경우 최대 40개의 노드를 보유할 수 있습니다. 이 합계는 다음 경우를 제외합니다.
서로 통신하는 Google Cloud 리전
무료 클러스터 또는 공유 크러스터
Google Cloud 비공개 서비스 연결은 가상 머신당 최대 1024 발신 연결을 지원합니다. 따라서 단일 Google Cloud 가상 머신에서 Atlas 클러스터로의 연결은 1024를 초과할 수 없습니다.
자세한 내용은 Google 클라우드 클라우드 NAT 문서를 참조하세요.
Google Cloud Private Service Connect는 리전별로 다릅니다. 그러나 글로벌 액세스를 구성하여 다른 리전의 비공개 엔드포인트에 액세스할 수 있습니다.
자세한 내용은 멀티 리전 지원을 참조하세요.
참고
VPC 피어링을 사용하여 다른 리전의 비공개 엔드포인트에 액세스할 수 없습니다.
비공개 서비스 연결을 사용하여 여러 리전 클러스터에 연결하는 경우, 비공개 엔드포인트와 같은 리전에 있는 클러스터 노드에만 연결할 수 있습니다. 엔드포인트와 프라이머리 노드가 서로 다른 리전에 있는 경우 반드시 다음을 수행해야 합니다.
세컨더리 노드로부터의 연결을 허용하도록 애플리케이션의 읽기 설정을 설정합니다.
예를 들어, 애플리케이션의 읽기 설정을 secondPreferred로 설정할 수 있습니다.
적어도 1개의 세컨더리 노드가 엔드포인트와 같은 리전에 있는지 확인합니다.
해당 리전에 배포된 노드가 포함된 프로젝트에서 일시 중지된 클러스터를 먼저 다시 시작해야 비공개 엔드포인트를 리전에 배포할 수 있습니다.
전제 조건
비공개 엔드포인트를 활성화하여 Atlas에 연결하려면 다음 조건이 필요합니다.
조직에 유효한 결제 수단이 이미 구성되어 있어야 합니다.
연결하려는 Atlas 클러스터와 동일한 리전 에서 비공개 엔드포인트를 구성하세요.
Atlas에서
Project Owner
개 또는Organization Owner
개의 역할이 있습니다.엔드포인트를 생성, 수정, 설명 및 삭제할 수 있는 권한을 부여하는 IAM 사용자 정책을 가진 Amazon Web Services 사용자 계정이 있어야 합니다. 인터페이스 엔드포인트 사용 제어에 대한 자세한 내용은 AWS 문서를 참조하세요.
(권장): AWS CLI를 설치합니다.
아직 생성하지 않았다면 Amazon Web Services에서 VPC 및 EC2 인스턴스를 생성하세요. 지침은 Amazon Web Services 문서를 참조하세요.
Atlas에서
Project Owner
개 또는Organization Owner
개의 역할이 있습니다.Azure CLI를 설치합니다.
아직 수행하지 않은 경우 Azure에서 VNet 및 컴퓨팅 인스턴스를 생성합니다. 지침은 Azure 문서를 참조하세요.
Atlas에서
Project Owner
개 또는Organization Owner
개의 역할이 있습니다.IAM 사용자 정책이 포함된 Google Cloud 사용자 계정과 컴퓨팅 네트워크 관리자 역할이 있어야 합니다. 이 역할은 네트워킹 리소스를 생성, 수정, 삭제할 수 있는 권한을 부여합니다. 비공개 엔드포인트 및 연결 관리에 대한 자세한 내용은 GCP 문서를 참조하세요.
아직 생성하지 않았다면 Google Cloud에서 VPC 및 컴퓨팅 인스턴스를 만드세요. 지침은 GCP 문서를 참조하세요.
GCP 비공개 서비스 연결 엔드포인트의 내부 IP 주소에 대한 트래픽을 송신 방화벽 규칙이 허용하는지 확인합니다.
(선택 사항) VPC 서비스 제어(VPC-SC)를 사용하여 보안 경계를 적용하는 경우 수신 및 송신 규칙을 생성하여 GCP Private Service Connect 엔드포인트와 Atlas 클러스터 간의 연결을 설정해야 합니다. 지침은 GCP 문서를 참조하세요.
글로벌 액세스를 활성화하여, 비공개 서비스 연결을 통해 다양한 리전의 Atlas 클러스터에 연결합니다.