Docs Menu
Docs Home
/
MongoDB Atlas
/ /

FAQ: 연결 문자열 옵션

이 페이지의 내용

Atlas는 여러 연결 문자열을 제공합니다. 이러한 문자열을 사용하면 공개(public) 컨텍스트와 비공개(private) 컨텍스트 모두에서 클러스터에 연결할 수 있습니다. Atlas는 항상 클러스터에 고유한 연결 문자열을 할당하여 Atlas 전체에서 배포된 두 클러스터가 호스트 이름 또는 연결 문자열을 공유하지 않도록 합니다.

Atlas에 연결하려면 애플리케이션이 클러스터와 통신할 수 있는 URI를 가리키도록 하세요. Atlas는 둘 이상의 노드 또는 호스트로 클러스터를 생성합니다. 각 노드에는 IP 주소로 확인되는 고유한 호스트 이름이 있습니다. Atlas가 연결하는 연결 문자열로 알려진 URI에는 호스트 이름이 두 개 이상 있을 수 있습니다. 허용된 IP 주소에서 클러스터 호스트에 대한 연결을 허용하도록 Atlas를 구성합니다.

Atlas는 인증 및 TLS를 통해 공용 IP 주소로부터 연결을 보호합니다. 비공개 IP 주소로 연결하려는 경우 다음을 사용할 수 있습니다.

  • AWS 및 GCP VPC 피어링

  • Azure VNet 피어링

  • AWS PrivateLink 및 Azure Private Link

이러한 기능은 모두 보안 네트워크 내에서 내부 IP 주소를 통한 통신을 관리합니다.

Atlas는 보안 네트워크를 사용할 때 연결 문자열을 둘 이상 제공합니다. 각 네트워크는 서로 다른 IP 주소로 확인되는 문자열을 제공합니다.

모든 클러스터에 표준 연결 문자열이 있습니다. 이것은 클러스터의 것으로 해결됩니다:

  • 인터넷 연결을 위한 공용 IP 주소 및

  • 피어링된 VPC에서 확인된 AWS 클러스터의 VPC 프라이빗 IP 주소입니다.

인터넷을 통해 연결하거나 AWS의 피어링된 클러스터에 연결하는 애플리케이션에 이 문자열을 사용합니다.

피어링 네트워크가 있는 클러스터에는 피어링 연결 문자열용 프라이빗 IP가 있습니다. 이 문자열은 다음에서 사용할 수 있는 IP 주소로 확인됩니다.

  • Azure 또는 Google Cloud의 피어링된 네트워크

  • 사용자 지정 DNS 서비스를 사용하는 AWS 피어링 클러스터.

연결하는 애플리케이션에 이 연결 문자열을 사용합니다.

  • Azure 또는 Google Cloud 피어링 네트워크 내

  • 사용자 지정 DNS 서비스와 함께 AWS를 사용하는 경우 AWS 클러스터로.

비공개 엔드포인트가 구성된 리전의 AWS 또는 Azure 클러스터에는 하나 이상의 연결 문자열이 있습니다. 각 문자열은 Atlas VPC 또는 VNet의 로드 밸런서에 직접 연결되는 VPC 또는 VNet의 네트워크 인터페이스의 비공개 IP 주소로 확인됩니다. 비공개 엔드포인트와 연결하는 애플리케이션에 이 연결 문자열을 사용합니다.

2020년 3월 31일 이전에는 피어 네트워크 Azure 또는 Google Cloud 클러스터의 데이터베이스에 연결하기 위해 피어링 전용 모드를 활성화해야 했습니다. 이 모드는 다음과 같습니다.

  • 영향을 받는 글로벌 DNS 확인 및

  • 피어링된 네트워크 외부의 모든 데이터베이스 연결을 제한합니다.

다중 호라이즌(Multiple horizon)은 이러한 제한을 해제하고 다음과 같은 추가 기능을 제공합니다.

다중 호라이즌(multiple horizon)을 활용하려면 다음 작업을 완료합니다.

참고

현재 기존의 피어링 지원 연결 문자열을 사용하여 클러스터에 계속 연결할 수 있습니다. 피어링 전용 모드는 향상된 기능에 대한 액세스를 방지하고 다중 지평의 제한을 줄입니다. 새 기능을 사용하고 레거시 제한을 제거하려면 MongoDB를 사용하려면 새 연결 문자열을 사용해야 합니다.

예.

피어링용 프라이빗 IP 연결 문자열을 사용하여 연결하도록 애플리케이션을 변경하세요. 이 변경을 통해 애플리케이션이 UI 또는 API를 사용하여 피어링된 네트워크에서 연결할 수 있습니다.

더 많은 리전으로 확장하려면 먼저 기존 Azure 클러스터에서 피어링 전용 모드를 비활성화합니다.

다음을 사용하여 피어링 전용 모드를 비활성화합니다:

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

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. Clusters 페이지가 아직 표시되지 않은 경우 사이드바에서 Database를 클릭합니다.

    클러스터 페이지가 표시됩니다.

2

Atlas 클러스터를 사용하는 애플리케이션 에서 피어링 연결 문자열에 비공개 IP 를 사용하도록 URL 을 변경합니다.

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

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. Projects 메뉴 옆에 있는 Options 메뉴를 펼친 다음 Project Settings 를 클릭합니다.

    프로젝트 설정 페이지가 표시됩니다.

4

Connect via Peering Only (GCP and Azure)을 끄기로 토글합니다.

1

get all API 엔드포인트를 호출하여 모든 클러스터와 해당 MongoDB 버전을 반환합니다.

예제

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/clusters?pretty=true"

성공하면 응답에 다음이 포함되어야 합니다.

{
"results": [{
...
"mongoDBMajorVersion": "5.0",
"mongoDBVersion": "5.0.14",
...
},{
...
"mongoDBMajorVersion": "5.0",
"mongoDBVersion": "5.0.12",
... }
]
}
2

Atlas 클러스터를 사용하는 애플리케이션 에서 피어링 연결 문자열에 비공개 IP 를 사용하도록 URL 을 변경합니다.

3

API 엔드포인트를 호출하여 비공개 IP 모드 비활성화를 실행합니다.

예제

curl 을(를) 사용하여 이 명령을 호출합니다.

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--include \
--request PATCH "https://cloud.mongodb.com/api/atlas/v1.0/groups/{GROUP-ID}/privateIpMode?pretty=true" \
--data '
{
"enabled" : false
}'

{GROUP-ID} 을(를) 프로젝트의 프로젝트 ID로 변경합니다.

성공하면 응답이 표시됩니다.

1{
2 "enabled" : false
3}

2020년 3월 31일 이전에는 사용자 지정 DNS 서비스를 사용하고 Atlas로 VPC 피어링된 AWS에 배포된 애플리케이션은 비공개 IP 주소를 통해 연결할 수 없었습니다.

  • 공개 IP 주소로 사용자 지정 DNS가 확인됩니다.

  • AWS 내부 DNS가 비공개 IP 주소로 확인됩니다.

AWS 에서 사용자 지정 DNS 서비스와 함께 배포된 애플리케이션 은 피어링 연결 문자열에 비공개 IP를사용해야 합니다.

이러한 문자열을 표시하려면 다음을 수행합니다.

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

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. Projects 메뉴 옆에 있는 Options 메뉴를 펼친 다음 Project Settings 를 클릭합니다.

    프로젝트 설정 페이지가 표시됩니다.

2
  1. Using Custom DNS on AWS with VPC PeeringOn로 전환합니다.

  2. AWS 클러스터의 connect 모달을 확인합니다.

  3. Private IP for Peering 연결 문자열을 선택합니다.

연결 문자열의 URI 구조는 문자열의 유형을 나타냅니다. 피어링 연결 또는 프라이빗 엔드포인트를 생성한 경우 Atlas는 이러한 옵션 중 하나 이상을 사용할 수 있도록 표시합니다.

표준 연결 문자열은 다음 형식을 따릅니다:

mongodb://xyz456-shard-00-00.ab123.mongodb.net:27017
mongodb+srv://xyz456.ab123.mongodb.net

ab123 앞의 점이 중요합니다. 이 형식을 사용하는URIVPC 피어링이 구성된 AWS 내부에서 연결하는 경우를 제외하고 공용 IP 주소로 확인됩니다.

중요

이 형식은 레거시 연결 문자열에서 한 문자를 변경합니다. 클러스터 이름 뒤에 위치하는 하이픈(-)이 마침표(.)로 바뀝니다.

예를 들어 다음과 같은 레거시 연결 문자열입니다.

mongodb+srv://xyx456-ab123.mongodb.net

표준 연결 문자열로 작성됩니다.

mongodb+srv://xyx456.ab123.mongodb.net

새 클러스터의 경우 복제본 세트 및 샤드는 클러스터 이름에서 이름을 파생하지 않습니다. 새 이름은 6개의 영숫자 문자 ID를 사용합니다.

비공개 연결 문자열은 이 형식을 따릅니다.

mongodb://xyx456-shard-00-00-pri.ab123.mongodb.net:27017
mongodb+srv://xyx456-pri.ab123.mongodb.net

ab123 앞의 -pri중요합니다. 이 형식을 사용하는 URI는 피어링된 네트워크 내에서 연결할 수 있는 비공개 IP 주소로 확인됩니다. 클러스터에 네트워크 피어링을 구성하는 경우 클러스터에 연결 시 새 호스트 이름을 사용해야 피어링을 사용할 수 있습니다.

중요

새 클러스터에서 복제본 세트와 샤드는 클러스터 이름에서 이름을 파생하지 않습니다. 새 이름에는 6개의 영숫자 ID가 사용됩니다.

AWS PrivateLink 연결 문자열은 다음 형식을 따릅니다.

mongodb://pl-0-us-east-1a.ab123.mongodb.net:1024
mongodb+srv://pl-0-us-east-1a.ab123.mongodb.net

지역화된 비공개 엔드포인트 설정을 활성화하는 경우 AWS PrivateLink 연결 문자열은 다음 형식을 따릅니다:

mongodb://pl-0-us-west-1.ab123.mongodb.net:1024
mongodb+srv://cluster0-pl-0-us-west-1.ab123.mongodb.net

이 형식을 사용하는 URI는 누군가 PrivateLink를 구성한 AWS VPC를 통해 연결할 수 있지만, 차례로 피어링된 다른 VPC에서 액세스할 수도 있습니다.

Azure Private Link 연결 문자열은 다음 형식을 따릅니다.

mongodb://pl-0-eastus2.ab123.mongodb.net:1024
mongodb+srv://pl-0-eastus2.ab123.mongodb.net

지역화된 비공개 엔드포인트 설정을 사용하도록 설정하는 경우 Azure Private Link 연결 문자열은 다음 형식을 따릅니다.

mongodb://pl-0-eastus2.ab123.mongodb.net:1024
mongodb+srv://cluster0-pl-0-eastus2.ab123.mongodb.net

이 형식을 사용하는 URI는 누군가 비공개 링크를 구성한 Azure VNet을 통해 연결할 수 있지만, 차례로 피어링된 다른 VNet에서 액세스할 수도 있습니다.

2020년 3월 31일 이전에 Atlas 연결 문자열을 다음과 같이 작성했습니다.

AWS

foo-shard-00-00-ab123.mongodb.net
foo-ab123.mongodb.net

Azure

foo-shard-00-00-ab123.azure.mongodb.net
foo-ab123.azure.mongodb.net

Google Cloud

foo-shard-00-00-ab123.gcp.mongodb.net
foo-ab123.gcp.mongodb.net

프라이빗 전용 모드를 활성화한 경우 이러한 호스트 이름은 피어링된 네트워크 IP 주소로 확인됩니다. 해당 모드를 비활성화하면 호스트 이름이 공용 IP 주소로 확인됩니다.

애플리케이션이 피어링 전용 모드에서 레거시 연결 문자열을 사용하는 경우 피어링 연결 문자열용 프라이빗 IP로 전환하세요.

레거시 연결 문자열이 있고 클라우드 공급자를 변경하려는 경우 연결 문자열에 .gcp 또는 .azure가 포함되어야 하며 다음 중 하나를 수행해야 합니다.

  • Google Cloud 또는 Azure 이동

  • Google Cloud 또는 Azure에서 이동

    참고

    두 작업 모두 연결 문자열을 변경할 수 있습니다. Atlas UI에서 업그레이드가 완료된 후 클러스터에서 Connect를 클릭하여 업데이트된 연결 문자열을 확인합니다.

이는 다음에 따라 달라집니다.

  • 현재 클러스터에서 사용하는 클라우드 공급자

  • 클러스터를 생성한 경우

2020년 11월 3일, 멀티클라우드 클러스터가 도입되기 전에 클러스터를 만들었고 동시에 클러스터가 Google Cloud 또는 Azure에서 실행 중이라면:

  1. 클러스터 빌더를 엽니다.

  2. 클러스터를 편집합니다.

  3. 대상 클라우드 제공자에서 읽기 전용 노드를 추가합니다.

    참고

    레거시 백업을 사용하는 경우 현재 클라우드 제공자에 노드 하나를 유지하고 나머지는 대상 클라우드 제공자로 이동합니다.

  4. 변경 사항을 검토하고 제출합니다.

  5. 쉼표로 구분된 결과 URI 연결 문자열을 복사합니다.

  6. 애플리케이션의 연결 문자열을 새 표준 연결 문자열로 바꿉니다.

    이를 통해 애플리케이션을 여러 클라우드 제공자의 노드에 연결할 수 있습니다.

  7. 애플리케이션을 다시 시작합니다.

  8. 애플리케이션이 Atlas에 연결할 수 있는지 확인합니다.

  9. 첫 번째 변경이 완료되면 클러스터를 재구성합니다.

    • 원래 클라우드 공급자를 사용하여 선택 가능한 모든 노드를 제거합니다.

    • 대상 클라우드 공급자에 대한 읽기 전용 노드를 제거합니다.

    • 대상 클라우드 공급자를 사용하여 동일한 수의 선택 가능한 노드를 추가합니다.

    참고

    레거시 백업을 사용하는 경우 새 백업이 생성될 때까지 기다린 다음 나머지 노드를 대상 클라우드 제공자로 이동합니다.

  10. 변경 사항을 검토하고 제출합니다.

  11. 쉼표로 구분된 결과 URI 연결 문자열을 복사합니다.

  12. 애플리케이션의 URI 연결 문자열을 새 URI 연결 문자열로 바꿉니다.

  13. 애플리케이션을 다시 시작합니다.

  14. 애플리케이션이 Atlas에 연결할 수 있는지 확인합니다.

클러스터가 AWS에서 실행되거나 또는 모든 공급자에서 실행되고 2020년 11월 2일 이후에 생성된 경우 연결 문자열이 변경되지 않으며 클러스터 다운타임이 발생하지 않습니다.

  1. 클러스터 빌더를 엽니다.

  2. 클러스터를 편집합니다.

  3. 클라우드 공급자를 변경합니다.

  4. 변경 사항을 검토하고 제출합니다.

돌아가기

FAQ: 청구