다음을 통해 공유


Azure Portal을 사용하여 Azure DocumentDB에 연결

MongoDB 셸(mongosh)은 MongoDB 배포와 상호 작용하기 위한 JavaScript 및 Node.js 환경입니다. 쿼리를 테스트하고 Azure DocumentDB 클러스터의 데이터와 상호 작용하는 데 널리 사용되는 커뮤니티 도구입니다. Azure Portal에는 Azure Cloud Shell을 포함하여 MongoDB 데이터를 쿼리하는 여러 도구가 포함되어 있습니다. Azure Cloud Shell은 Azure 리소스를 관리하기 위해 브라우저에서 액세스할 수 있는 인증된 대화형 터미널입니다. 이 문서에서는 Azure Cloud Shell 내에서 MongoDB 셸을 사용하여 Azure DocumentDB 클러스터에 연결하는 방법을 설명합니다.

필수 조건

  • Azure 구독

  • 기존 Azure DocumentDB 클러스터

  • 네트워크 내의 클라이언트가 클러스터에 연결할 수 있도록 허용하는 방화벽 규칙입니다. 자세한 내용은 방화벽 구성을 참조하세요.

  • (선택 사항) 이러한 필수 구성 요소는 Azure DocumentDB와 동일하거나 피어된 가상 네트워크 내에서 Azure Cloud Shell을 사용하는 경우에만 필요합니다.

    • Azure Cloud Shell 및 Azure DocumentDB 배포를 위한 서브넷이 있는 하나 이상의 기존 Azure Virtual Network.

    • Azure DocumentDB 클러스터에 대한 프라이빗 엔드포인트입니다. 자세한 내용은 프라이빗 링크 구성을 참조하세요.

    • Azure Cloud Shell은 Azure DocumentDB 프라이빗 엔드포인트에 대한 연결성을 가지고 동일한 가상 네트워크 또는 피어된 가상 네트워크에 배포됩니다. 자세한 내용은 가상 네트워크에 Cloud Shell 배포를 참조하세요.

Azure Cloud Shell에서 클러스터에 대한 액세스 사용

먼저 Azure Cloud Shell이 방화벽에서 해당 IP 주소를 허용하여 Azure DocumentDB 클러스터에 액세스할 수 있는지 확인합니다.

  1. Azure Portal에 로그인합니다(https://portal.azure.com).

  2. Azure DocumentDB 클러스터로 이동합니다.

  3. 탐색 메뉴에서 네트워킹 을 선택합니다.

  4. 공용 액세스 섹션 내의 네트워킹 페이지에서 + Azure Cloud Shell IP 추가 옵션을 선택하여 허용된 목록에 현재 IP 주소를 자동으로 추가합니다.

  5. 변경 내용을 적용하려면 저장을 선택합니다.

비고

연결을 보장하려면 해당 지역의 특정 IP 주소가 허용되는지 확인합니다. 자세한 내용은 Azure DocumentDB의 IP 주소를 참조하세요.

빠른 시작에서 Azure Cloud Shell을 사용하여 연결

MongoDB 셸을 사용하여 Azure DocumentDB에 직접 연결하려면 Azure Portal의 리소스 페이지에서 사용할 수 있는 빠른 시작 환경을 사용합니다.

  1. 클러스터 리소스 페이지의 탐색 메뉴에서 빠른 시작(미리 보기) 을 선택합니다.

  2. 그런 다음 MongoDB 셸 열기를 선택합니다.

  3. MongoDB 셸 환경이 시작될 때까지 기다립니다.

  4. 환경이 준비되면 Y 를 입력하여 알림을 수락합니다.

    비고

    알림을 수락한 후 MongoDB Shell을 사용하여 연결하는 데 문제가 발생하는 경우 Azure Cloud Shell에서 클러스터에 액세스할 수 있는지 확인합니다.

  5. 이제 암호를 입력하여 클러스터를 Cloud Shell에 연결합니다.

클러스터 자격 증명 가져오기

이 클러스터에 연결하는 데 필요한 연결 문자열을 가져옵니다.

  1. Azure Portal(https://portal.azure.com)에 로그인합니다.

  2. 기존 Azure DocumentDB 클러스터로 이동합니다.

클러스터에 연결하는 데 사용하는 자격 증명을 가져옵니다.

  1. 클러스터 페이지의 리소스 메뉴에서 연결 문자열 옵션을 선택합니다.

  2. 연결 문자열 섹션에서 연결 문자열 필드의 값을 복사하거나 기록합니다.

연결 문자열 옵션을 보여 주는 스크린샷

중요합니다

포털의 연결 문자열에는 암호 값이 포함되지 않습니다. 자리 표시자를 클러스터를 <password> 만들 때 입력한 자격 증명으로 바꾸거나 대화형으로 암호를 입력해야 합니다.

Azure Cloud Shell에서 수동으로 MongoDB 셸 구성

Npm(mongosh노드 패키지 관리자)을 사용하여 Azure Cloud Shell 인스턴스에 MongoDB Shell() 클라이언트를 설치합니다.

  1. Bash 스크립팅 환경으로 구성된 Azure Cloud Shell을 엽니다.

  2. 사용자 디렉터리에 MongoDB Shell 버전 1 을 로컬로 설치합니다.

    npm install mongosh@1
    
  3. 설치가 완료되기를 기다립니다.

  4. mongosh 도구의 버전을 확인하여 설치가 성공적으로 완료되었는지 확인합니다.

    npx mongosh --version
    

클러스터에 연결

암호를 포함하지 않는 연결 문자열과 함께 MongoDB 셸을 사용하여 클러스터에 연결합니다. 대화형 암호 프롬프트를 사용하여 연결 단계의 일부로 암호를 입력합니다.

  1. MongoDB 셸 프롬프트에 암호를 입력하여 연결합니다. 이 단계에서는 암호 없이 연결 문자열을 사용합니다.

    npx mongosh "mongodb+srv://<username>@<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    
  2. 암호를 입력하고 성공적으로 인증되면 표시되는 경고를 관찰합니다.

    ------
       Warning: Non-Genuine MongoDB Detected
       This server or service appears to be an emulation of MongoDB rather than an official MongoDB product.
    ------
    

    팁 (조언)

    이 경고는 무시해도 됩니다. 연결 문자열에 .가 포함되어 있으므로 이 경고가 생성됩니다 cosmos.azure. Azure DocumentDB는 네이티브 Azure PaaS(Platform as a Service) 제품입니다.

테스트 쿼리 수행

일련의 테스트 명령 및 쿼리를 수행하여 클러스터에 성공적으로 연결되었는지 확인합니다.

  1. 명령을 실행하여 연결 상태를 확인합니다 connectionStatus .

    db.runCommand({connectionStatus: 1})
    
    {
      ...
      ok: 1
    }
    
  2. 클러스터의 데이터베이스를 나열합니다.

    show dbs
    
  3. 특정 데이터베이스로 전환합니다. <database-name> 자리 표시자를 클러스터에 있는 모든 데이터베이스의 이름으로 바꿉 있습니다.

    use <database-name>
    

    팁 (조언)

    예를 들어 데이터베이스 이름이 inventory면 명령 use inventory이 됩니다.

  4. 데이터베이스 내의 컬렉션을 나열합니다.

    show collections
    
  5. 특정 컬렉션 내에서 처음 5개 항목을 찾습니다. <collection-name> 자리 표시자를 클러스터의 컬렉션 이름으로 대체하세요.

    db.<collection-name>.find().limit(5)
    

    팁 (조언)

    예를 들어 컬렉션 이름이 equipment면 명령 db.equipment.find().limit(5)이 됩니다.