다음을 통해 공유


Azure DocumentDB의 일반적인 문제 해결

이 가이드는 Azure DocumentDB를 사용할 때 발생할 수 있는 문제를 해결하는 데 도움이 되도록 조정되었습니다. 이 가이드에서는 연결 문제, 오류 시나리오 및 최적화 문제에 대한 솔루션을 제공하여 환경을 개선하기 위한 실질적인 인사이트를 제공합니다.

비고

이러한 솔루션은 일반적인 지침이며 개별 상황에 따라 특정 구성이 필요할 수 있습니다. 가장 정확하고 최신의 정보를 얻으려면 항상 공식 문서 및 지원 자료를 참조하세요.

일반 오류 및 해결 방법

Azure DocumentDB에 연결할 수 없음 - 시간 제한 오류

이 문제는 클러스터에 올바른 방화벽 규칙을 사용하도록 설정하지 않은 경우에 발생할 수 있습니다. 비 Azure IP 범위에서 클러스터에 액세스하려는 경우 추가 방화벽 규칙을 추가해야 합니다. 자세한 단계는 보안 옵션 및 기능 - Azure DocumentDB 를 참조하세요. 방화벽 규칙은 클러스터에 대한 포털의 네트워킹 설정에서 구성할 수 있습니다. 옵션에는 알려진 IP 주소/범위를 추가하거나 공용 IP 액세스를 사용하도록 설정하는 것이 포함됩니다.

Azure DocumentDB에 대한 시간 제한 오류 솔루션의 스크린샷.

DNSClient.DnsResponseException 오류로 연결할 수 없음

연결 디버깅 문제:

Windows 사용자:
PsPing이 작동하지 않습니다. nslookup을 사용하면 클러스터 연결 가능성 및 검색 가능성이 확인되어 네트워크 문제가 발생할 가능성이 낮음을 나타냅니다.

Unix 사용자:
소켓/네트워크 관련 예외의 경우 잠재적인 네트워크 연결 문제로 인해 애플리케이션이 Azure DocumentDB Mongo API 엔드포인트와의 연결을 설정하지 못할 수 있습니다.

연결을 확인하려면 다음 단계를 수행합니다.

nc -v <accountName>.mongocluster.cosmos.azure.com 10260

포트 10260에 대한 TCP 연결이 실패하면 환경 방화벽이 Azure DocumentDB 연결을 차단할 수 있습니다. 지원 티켓을 제출하려면 페이지 아래쪽으로 스크롤하세요.

연결 문자열을 확인합니다.

Azure Portal에 제공된 연결 문자열만 사용합니다. 적절한 연결에 필요하므로 mongodb+srv:// 프로토콜이 포함되어 있는지 확인합니다. c.과 같은 변형 또는 접두사는 사용하지 마세요. 연결에 문제가 발생하는 경우 지원 티켓을 제출하여 디버깅을 위한 애플리케이션 또는 클라이언트 쪽 드라이버 로그를 공유합니다.

오류 코드

이 표에는 문제를 식별하고 해결하는 데 도움이 되는 Azure DocumentDB에서 반환된 오류 코드가 나열되어 있습니다. 진단 로그를 사용하여 문제를 해결하는 데에도 유용합니다.

오류 코드 오류 이름
1 내부 오류
2 BadValue
5 GraphContainsCycle
9 파싱 실패
14 타입 불일치
15 오버플로
20 불법 작업
23 AlreadyInitialized
26 NamespaceNotFound
27 찾을 수 없는 인덱스
28 경로가 유효하지 않음
31 RoleNotFound (역할을 찾을 수 없음)
34 배열을 백필할 수 없음
40 ConflictingUpdateOperators
43 CursorNotFound
48 NamespaceExists
52 DollarPrefixedFieldName
53 CanNotBeTypeArray
54 NotSingleValueField (단일 값 필드가 아님)
56 빈 필드 이름
57 DottedFieldName
61 분할 키를 찾을 수 없음
66 변경할 수 없는 필드
67 CannotCreateIndex (색인 생성 불가)
68 인덱스가 이미 존재합니다
72 잘못된 옵션
73 InvalidNamespace (잘못된 네임스페이스)
85 색인 옵션 충돌
86 IndexKeySpecsConflict
111 정확하지 않은 값 필드
115 지원되지 않는 명령
118 NamespaceNotSharded
146 메모리 한도 초과
159 DurationOverflow
165 뷰 깊이 제한 초과 (ViewDepthLimitExceeded)
166 CommandNotSupportedOnView (뷰에서 지원되지 않는 명령)
167 뷰에서 지원되지 않는 옵션
181 모호한인덱스키패턴
197 InvalidIndexSpecificationOption
224 쿼리 기능 허용 안 됨
232 MaxSubPipelineDepthExceeded (최대 하위 파이프라인 깊이 초과)
241 ConversionFailure (변환 실패)
263 트랜잭션에서 지원되지 않는 작업
276 인덱스 빌드 중단됨
291 인덱스를 찾을 수 없음
361 CollectionUUIDMismatch (컬렉션 UUID 불일치)
10334 BsonObjectTooLarge (Bson 객체가 너무 큼)
11000 중복 키
12587 백그라운드 작업 진행 중 (BackgroundOperationInProgressForNamespace)
13113 일치하는 문서가 없는 병합 단계
13297 데이터베이스 이미 존재합니다

다음 단계