문서 메뉴
문서 홈
/
MongoDB Atlas

프로덕션 정보

이 페이지의 내용

  • 개요
  • 역할 및 책임
  • 클러스터 관리
  • 조직 수준
  • 프로젝트 레벨
  • 클러스터 이름 지정 규칙
  • 단일 리전 및 멀티 리전 클러스터
  • 민감한 정보
  • 애플리케이션 관리
  • 클러스터 규모 조정
  • 다중 테넌시
  • 아카이브된 데이터 오프로드 및 쿼리
  • 데이터 레이크 및 쿼리 페더레이션이 있는 ETL
  • 임시 데이터베이스 사용자 감사
  • 감사를 위한 사용자 지정 역할을 만듭니다.
  • 데이터베이스 감사를 사용 설정합니다.
  • 임시 사용자를 만듭니다.
  • 임시 IP 액세스 목록 항목을 추가합니다.
  • 로그를 다운로드합니다.
  • 선택적 모니터링 & 로깅 통합
  • 클러스터 데이터 볼륨 관리
  • Support

데이터 플랫폼으로 MongoDB Atlas를 사용하면 데이터베이스 인프라를 구축하고 유지 관리하는 데 필요한 일상적인 운영 작업과 워크플로우에서 벗어나 엔지니어가 비즈니스에 가치를 더할 수 있도록 지원하는 데 집중할 수 있습니다. 엔지니어는 하드웨어를 유지 관리하고 운영 체제 수준의 소프트웨어 패치를 따라잡는 대신 기업의 현재와 미래의 요구 사항을 충족하는 데이터 모델을 개발하는 데 시간과 에너지를 쏟을 수 있습니다.

이 문서에서는 MongoDB Atlas cluster를 사용하여 성공적인 MongoDB 프로덕션 배포서버를 설정하고 유지 관리하기 위한 몇 가지 권장사항을 간략하게 설명합니다.

다음도 참조하세요.

MongoDB는 고객에게 MongoDB 데이터베이스 서비스를 제공하기 위해 필요한 인프라를 관리하고 운영합니다. MongoDB의 책임은 다음과 같습니다.

  • 데이터베이스 클러스터와 기본 인프라를 관리하여 99 지원하는 MongoDB의 가용성, 안정성, 성능을 보장합니다.995% 크기 M10 이상의 클러스터에 대한가동 시간 서비스 수준 계약(SLA) 입니다.

  • 기본 컴퓨팅 노드의 상태를 확인합니다. 가동 시간 SLA를 유지하기 위해 실행 중이고, 네트워크에 연결되어 있으며, 권장되는 모든 OS 수준 패치가 있는지 확인합니다.

  • Atlas 사용자 인터페이스 또는 REST API를 통해 고객이 선택한 특정 설계를 기반으로 MongoDB 데이터베이스 구성을 관리합니다.

  • 제품에 대한 최신 버그 수정이 사용되도록 모든 MongoDB 유지 관리 업그레이드를 자동으로 적용합니다.

  • 역할 기반 액세스 제어, IP 액세스 목록에 IP 주소 추가, 피어링을 포함한 보안 프로필을 관리하여 고객의 지시에 따라 클러스터 보안을 극대화할 수 있습니다.

  • 백업 및 복원 서비스를 제공합니다.

고객은 기본 데이터베이스 리소스 및 인프라를 직접 관리할 필요 없이 MongoDB에 액세스하는 애플리케이션을 계속 개발하고 배포합니다.

중요

Atlas는 한 프로젝트에서 다른 프로젝트로 클러스터를 이동하는 것을 지원하지 않습니다. 대신 실시간 마이그레이션을 수행하세요.

MongoDB Atlas는 데이터베이스 작업을 추상화하여 사용자가 높은 수준의 가치 있는 관리 의사 결정에 집중할 수 있도록 합니다.Atlas 사용자 역할 을 사용하여 Atlas 클러스터에 대한 액세스를 관리할 수 있습니다. 이러한 권한 은 조직 수준 또는 프로젝트 수준 에서만 적용할 수 있습니다. 따라서 조직과 프로젝트의 계층 구조를 신중하게 계획해야 합니다.

Atlas 조직 제한인 250개 프로젝트보다 더 많이 생성해야 하는 경우 더 많은 조직을 생성하여 저장하세요. 자세히 알아보려면 Atlas 조직 및 프로젝트 제한을 참조하세요.

Atlas 내에서 잘 설계된 조직 및 프로젝트 계층 구조를 만들려면 클러스터를 사용 사례에 적합한 프로젝트로 나누세요. 이를 통해 운영상의 마찰을 최소화하면서 기업의 효율성을 극대화할 수 있습니다.

조직 간 청구를 사용하여 여러 Atlas 조직을 연결하고 모든 조직에 대한 단일 청구서를 받을 수 있습니다. 자세히 알아보려면 조직 간 청구 사용 사례를 참조하세요.

조직 수준에서 보안 제어를 구현하고 하나 이상의 프로젝트에서 작업하는 사용자를 만들 수 있습니다. Atlas 청구는 조직 수준에서 발생합니다.

사용자 액세스 및 권한을 효율적으로 제어하기 위해 조직 수준에서 사용자를 으로 그룹화할 수 있습니다.

프로젝트는 보안 격리 및 권한 부여 경계를 제공하므로 일반적으로 애플리케이션 팀과 애플리케이션 환경에 의해 할당됩니다. 예를 들어, 두 개의 애플리케이션 팀 내에 개발, 스테이징, 프로덕션 환경의 각 팀에 하나씩 총 6개의 프로젝트가 있을 수 있습니다.

다양한 프로덕션 및 개발 애플리케이션 환경에 대한 적절한 액세스 권한을 가진 프로젝트 수준의 Atlas 사용자 및 역할을 만들 수 있습니다.

  • Project Read Only 역할이 있는 사용자는 컬렉션 데이터나 관리 작업에 대한 액세스 권한 없이 프로젝트 수준 모니터링 및 시스템 상태 메타데이터에 액세스할 수 있습니다.

  • Project Cluster Manager 역할이 있는 사용자는 클러스터를 확장하고 기타 관리 작업을 수행할 수 있지만 데이터 수준 액세스 권한은 없습니다.

중요

서버리스 인스턴스에서는 사용할 수 없는 기능

서버리스 인스턴스는 다음 책임 대부분을 지원하지 않습니다. 자세한 내용은 서버리스 인스턴스 제한 사항을 참조하세요.

기타 프로젝트 수준 책임은 다음과 같습니다.

Atlas 클러스터에 적합한 명명 규칙을 선택하는 것은 성공적인 프로덕션 환경을 운영하기 위한 좋은 첫 단계입니다. 클러스터에 이름을 지정한 후에는 이름을 바꿀 수 없으므로 처음부터 올바르게 지정하는 것이 중요합니다. 다음 제안 사항을 사용하면 로그를 더 쉽게 구문 분석하고 클러스터를 구별할 수 있습니다.

  • 설명이 포함된 소문자 이름을 사용합니다.

  • 특수 문자는 피합니다.

  • 하이픈 또는 밑줄로 단어를 연결합니다. 단어 사이에 공백을 두지 마세요.

  • 클러스터가 프로덕션, 스테이징, 개발 목적인지 명확하게 하는 규칙을 사용하십시오.

  • 클러스터 이름민감한 정보 를 포함하지 마세요.

다음은 좋은 클러스터 이름의 몇 가지 예입니다.

  • prod-aws-website

  • staging-gcp-internal

  • dev-azure-analytics

고가용성과 클러스터 내구성은 클러스터의 지리적 배포 구성에 따라 달라집니다. 단일 리전 내에 배포된 클러스터는 해당 리전 내의 가용 구역에 분산되어 있으므로 읽기 또는 쓰기 가용성의 중단 없이 부분적인 리전 중단을 견딜 수 있습니다.

선택적으로 클러스터를 두 개 이상의 지역에 분산하여 복원력과 워크로드 격리를 강화할 수 있습니다.

리전 순서에 따라 프라이머리 노드 위치의 우선순위가 결정됩니다. 따라서 해당 리전을 사용할 수 있을 때 특정 리전에 데이터베이스 쓰기 작업을 지시하려면 먼저 해당 리전을 나열해야 합니다. 목록의 두 번째 리전은 첫 번째 리전을 사용할 수 없는 경우 쓰기를 이동할 위치로 두 번째 선택해야 합니다.

Atlass 클러스터 만들기 UI의 다음 예는 세 개의 서로 다른 리전에서 선택 가능한 노드가 있는 멀티 리전 클러스터를 우선순위가 가장 높은 것부터 낮은 것까지 정렬하여 보여줍니다.

세 리전에 걸친 투표 선택 가능 노드의 스크린샷
클릭하여 확대

us-east-1 리전을 사용할 수 없게 되면 us-west-1 리전에서 새로운 프라이머리 리전이 결정됩니다.

참고

프라이머리 선택 가능성을 보장하려면 클러스터에 홀수의 노드가 있어야 합니다. 자세한 내용은 복제본 세트 투표를 참조하세요.

두 리전에 클러스터를 배포하면 데이터 사본이 항상 둘 이상의 리전에서 유지 관리됩니다. 그러나 클러스터의 노드 대부분을 포함하는 리전이 손실되면 관리자가 개입하거나 원래 리전을 사용할 수 있게 될 때까지 두 번째 리전은 읽기 전용 상태로 남게 됩니다.

클러스터를 3개 이상의 리전에 배포하면 애플리케이션 계층에 내결함성이 있는 경우 클러스터가 전체 리전 수준의 운영 중단을 견디면서 읽기 및 쓰기 가용성을 유지할 수 있습니다.

선호하는 리전에서 쓰기 작업을 항상 유지하는 것이 최우선 순위인 경우, 선호하는 리전 내 최소 2개의 데이터 센터에 최소 2개의 투표 선택 가능 멤버 가 있도록 클러스터를 배포하는 것이 좋습니다.

전 세계 배포서버에서 최상의 데이터베이스 성능을 위해, 사용자는 위치 인식 샤딩을 사용하여 읽기 및 쓰기 지연 시간을 최소화하는 글로벌 클러스터를 구성할 수 있습니다. 지리적 저장 요구 사항이 있는 사용자는 데이터가 특정 지리적 영역에 저장되도록 할 수도 있습니다.

다음 항목에 대해서는 개인 식별 정보(PII) 또는 보호 대상 건강 정보(PHI) 와 같은 민감한 정보를 제공하지 마십시오.

애플리케이션 수준의 책임은 다음과 같습니다.

MongoDB Atlas는 수직 및 수평의 두 가지 확장 방법을 제공합니다.

수직 확장에는 cluster 저장 용량, 컴퓨팅 성능 및/또는 IOPS 속도를 높이는 작업이 포함됩니다. 수직 확장은 빠르게 수행할 수 있으며 사용량이 많은 기간에 유용합니다. 공유 클러스터(M2M5)에서 수직으로 확장하려면 몇 분의 다운타임이 필요한 반면, 전용 클러스터(M10 이상) 간에는 다운타임 없이 확장할 수 있습니다.

수직으로 확장하는 경우 프로덕션 환경에는 M30 이상의 클러스터가 권장됩니다. 다음 클러스터 티어는 트래픽이 적은 애플리케이션을 위한 프로덕션 환경으로 사용할 수 있지만, 개발 환경에는 이러한 티어를 사용하는 것이 좋습니다.

  • M2M5 공유 클러스터

  • M10M20 전용 클러스터

수평적 확장 에는 샤딩 을 구현하거나 기존 샤드 클러스터에 샤드를 추가하는 작업이 포함됩니다. 수평적 확장은 신중한 계획과 실행을 필요로 하며 M30+ 클러스터에 대한 장기 성장 전략의 일부입니다. 샤드 클러스터의 샤드 수를 줄일 수도 있습니다.

중요

샤드를 제거하면 Atlas는 movePrimary 명령을 사용하여 해당 샤드에 있는 샤딩되지 않은 데이터베이스를 나머지 샤드로 이동합니다.

샤드 제거 프로세스 중에도 모든 샤드된 컬렉션은 온라인 상태로 유지되며 사용이 가능합니다. 그러나 movePrimary 작업 중에 샤딩되지 않은 컬렉션에 대한 읽기 또는 쓰기 작업을 수행하면 마이그레이션 실패 또는 데이터 손실과 같은 예기치 않은 동작이 발생할 수 있습니다.

샤드를 제거하기 전에 샤드되지 않은 컬렉션이 포함된 데이터베이스의 프라이머리 샤드를 이동하는 것이 좋습니다.

자세한 내용 은 기존 샤드 클러스터에서 샤드 제거를 참조하세요.

Atlas에서는 수직 및 수평 샤딩을 결합할 수 있습니다. 예를 들어, 분할된 클러스터는 피크 기간 동안 수직으로 확장되어 개별 분할된 클러스터 구성원의 스토리지 용량과 컴퓨팅 성능을 증가시킬 수 있습니다.

기본적으로 Atlas는 클러스터 스토리지를 구성된 클러스터 티어 크기 제한까지 수직으로 자동 확장합니다.

클러스터 사용량 증가에 따라 클러스터 계층과 클러스터 스토리지 용량을 자동으로 확장하도록 Atlas를 구성할 수 있으므로, 더 큰 스토리지 컴퓨팅 성능에 대한 요구에 신속하고 자동으로 대응할 수 있습니다.

Atlas로 멀티 테넌시를 구현하여 애플리케이션의 단일 인스턴스가 여러 테넌트를 지원하도록 할 수 있습니다. 다중 테넌트 아키텍처에 대한 초기 디자인 결정은 시간이 지남에 따라 요구 사항이 발전하거나 확장 기대치가 변경됨에 따라 의도하지 않은 영향을 미칠 수 있습니다. 자세한 내용은 멀티테넌트 아키텍처 구축을 참조하십시오.

데이터 수명 주기의 일부로 콜드 데이터를 다른 스토리지 계층으로 이동해야 하는 경우, 날짜 또는 사용자 지정 기준에 따라 데이터를 이동하도록 Atlas 온라인 아카이브 규칙을 설정할 수 있습니다. Atlas에 데이터가 보관되면 읽기 전용 연합 데이터베이스 인스턴스를 통해 Atlas 및 온라인 아카이브 데이터를 합쳐진 형태로 볼 수 있습니다.

Atlas Data Lake를 사용하여 클러스터 데이터의 일관된 스냅샷을 생성하고 분석 쿼리에 최적화된 완전 관리형 스토리지로 추출할 수 있습니다. 이러한 데이터세트를 사용하면 적은 비용으로 복잡한 애그리게이션을 실행하는 데 적합한 고성능 객체 스토리지에서 시간 경과에 따른 클러스터를 정적으로 파악할 수 있습니다.

Atlas Data Federation을 사용하여 다양한 인프라에 걸쳐 제자리에서 데이터를 쿼리하거나 다양한 시스템 간에 데이터를 이동할 수 있습니다. 여러 소스의 데이터에 애그리게이션 파이프라인을 사용하여 데이터에서 인사이트를 추출하거나 다른 용도로 데이터를 변환할 수 있습니다. 예를 들어, $outS3에, $out을 Atlas에 사용하여 스토리지 계층 간에 데이터를 이동할 수 있습니다. 또한 $outS3에 사용하여 Atlas 클러스터의 데이터를 JSON, BSON, CSV, TSV, Avro, Parquet, ORC로 쉽게 변환할 수 있을 뿐만 아니라 AWS S3에 저장하여 액세스가 필요한 다운스트림 시스템에 공급할 수 있습니다.

애플리케이션 서비스 사용자를 포함한 모든 데이터베이스 사용자에 대해 감사를 사용하도록 설정하면 클러스터 성능에 심각한 영향을 미칠 수 있습니다. 임시 데이터베이스 사용자의 작업을 감사해야 하는 경우 감사 대상 사용자 지정 역할을 만들고, 상승된 권한을 가진 임시 사용자를 만든 다음, 이 사용자에게 사용자 지정 역할을 부여하여 해당 사용자의 작업을 감사할 수 있습니다.

임시 데이터베이스 사용자의 조치를 감사하려면 다음을 수행합니다.

1

감사 대상 사용자 지정 역할을 만듭니다.

2

생성한 역할에 대한 CRUD 작업을 감사하려면 데이터베이스 감사를 사용 설정합니다."

3

조치를 감사하려면 임시 사용자를 생성합니다.

감사를 위해 만든 사용자 지정 역할을 사용자에게 할당합니다. 사용자를 생성할 때 Save as temporary user 옵션을 선택한 다음 사용자가 존재할 기간을 선택합니다. 이 기간이 경과하면 Atlas는 사용자를 삭제합니다.

4

임시 IP 액세스 목록 항목을 추가하여 임시 사용자의 Atlas 클러스터 액세스를 제한합니다.

임시 사용자에 대한 IP 액세스 목록 항목을 생성할 때 Save as temporary access list 옵션을 선택한 다음 액세스 목록 항목이 존재할 기간을 선택합니다. 이 기간이 경과하면 Atlas는 액세스 목록 항목을 삭제합니다.

5

임시 데이터베이스 사용자의 작업을 감사하려면 로그를 다운로드합니다.

DataDog를 사용하여 Atlas에 대한 푸시 기반 모니터링 통합 을 구성할 수 있습니다. Atlas 관리 API를 사용하여 모니터링 데이터를 가져올 수도 있습니다.

jSonar를 사용하여 풀 기반 로깅 통합을 구성할 수 있으며, 이를 통해 Splunk 및 SumoLogic과 같은 다른 서비스로 푸시할 수 있습니다. Atlas 관리 API를 사용하여 5 분마다 로그 데이터를 가져올 수도 있습니다.

Atlas는 클러스터 데이터 볼륨을 관리하는 데 도움이 되는 다음과 같은 기본 제공 도구를 제공합니다.

이러한 도구 외에도 클러스터 크기 조정 가이드 를 참조하여 클러스터의 크기를 늘리거나 줄이는 방법을 알아보세요. 또한 클러스터를 일시 중지하여 최대 30 일 동안 데이터를 보존하면서 일시적으로 종료하여 비용을 절약할 수 있습니다.

개발 중인 고객과 엔터프라이즈 고객을 위한 옵션을 포함하여 다양한 지원 계층을 사용할 수 있습니다.

지원 가능한 영역은 다음과 같습니다.

  • 관리 중인 MongoDB 클러스터에 대한 문제 및 우려 사항.

  • 성능 관련 문의.

  • 애플리케이션 측 및 드라이버 컨설팅.

← Atlas 도움말 받기