참고
이 기능 무료 클러스터 및 Flex 클러스터에서는 사용할 수 없습니다. 사용할 수 없는 기능에 대해 자세히 학습하려면 Atlas 무료 클러스터 제한을 참조하세요.
Atlas 사용하면 클라우드 백업 스냅샷을 객체 저장 서비스로 내보낼 수 있습니다.
내보낸 스냅샷을 Atlas 클러스터로 다시 복원하는 방법은 보관된 스냅샷을 Atlas로 가져오기를 참조하세요.
자동화된 백업 정책 및 일정을 관리하는 방법을 알아보려면 백업 정책 관리를 참조하세요.
지원되는 스토리지 서비스
Atlas 현재 다음과 같은 객체 저장 서비스를 지원합니다.
AWS S3 버킷
Azure Blob 저장
Google Cloud Storage 버킷
또한 Atlas PrivateLink를 사용하여 AWS S3 버킷으로 스냅샷을 내보내는 기능을 지원합니다.
Atlas가 스냅샷을 내보내는 방법
개별 스냅샷을 수동으로 내보내거나 스냅샷의 자동 내보내를 위한 내보내 정책을 설정할 수 있습니다. 객체 저장 서비스에 특유한 단계는 클라우드 공급자의 내보내 페이지를 참조하세요.
자동 내보내기를 설정하려면 클라우드 백업 예정에 내보내기 정책을 추가하고 주기 유형을 daily, weekly, monthly 또는 yearly으로 설정합니다. 동일한 주기 유형의 백업 정책 항목이 스냅샷을 만들면 Atlas는 해당 스냅샷을 지정된 객체 저장소로 내보내기합니다.
Atlas는 내보내기를 위해 새 객체 저장을 추가하고 내보내기를 시작할 때 객체 저장의 /exported_snapshots/.permissioncheck 경로에 빈 파일을 업로드합니다. 내보내기가 진행되는 동안 객체 저장 서비스에 부분적인 결과가 표시될 수 있습니다.
Atlas TTL(Time to Live) 설정과 관계없이 스냅샷에 문서를 유지합니다. TTL(Time to Live) 기한이 지난 스냅샷 에서 이러한 문서 액세스 할 수 있습니다.
스냅샷 내보내기 요금에 대해 학습하려면 스냅샷 내보내기 비용를 참조하세요.
내보낸 데이터 파일
각 클라우드 백업 스냅샷 내보내기 작업은 스냅샷 데이터를 gzip으로 압축된 확장된 JSON v2 문서로 객체 저장소에 업로드합니다. 이 파일은 특정 순서로 업로드되지 않습니다. 각 파일에는 스냅샷의 단일 컬렉션의 문서 청크가 포함되어 있습니다. 샤딩된 클러스터의 경우 Atlas는 복제본 세트(샤드)당 별도의 내보내기 작업을 생성하고 업로드된 파일의 경로에 복제본 세트 이름을 지정합니다.
중요
내보내기가 진행되는 동안 객체 저장 서비스에 부분적인 결과가 표시될 수 있습니다. 내보내기 작업이 실패한 경우:
Atlas는 자동으로 내보내기를 다시 시도하지 않습니다.
Atlas 객체 저장 에서 부분 데이터를 제거 하지 않습니다.
Atlas는 각 데이터 파일을 객체 저장소의 다음 경로에 업로드합니다.
/exported_snapshots/<orgName>/<projectName>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/<dbName>/<collectionName>/<shardName>.<increment>.json.gz
Atlas는 경로의 각 위치 플레이스홀더를 다음 값으로 대체합니다.
| Atlas 조직의 이름 |
| Atlas 프로젝트의 이름 |
| Atlas 클러스터의 이름 |
| 스냅샷을 찍은 날짜입니다. |
| 내보내기 작업이 생성된 타임스탬프입니다. |
| Atlas 클러스터에 있는 데이터베이스의 이름 |
| Atlas 컬렉션의 이름 |
| 복제본 세트 의 이름입니다. 샤딩된 컬렉션의 경우 프라이머리 샤드 의 이름입니다. |
| 청크가 업로드될 때 증가하는 수. |
내보낸 메타데이터 파일
Atlas가 스냅샷 데이터를 객체 저장소로 내보내기를 마치면 Atlas는 각 컬렉션에 대해 이름이 .complete 인 메타데이터 파일과 이름이 metadata.json 인 메타데이터 파일도 업로드합니다.
스냅샷 내보내기 작업의 각 컬렉션에 대해 Atlas는 .complete 이라는 메타데이터 파일을 객체 저장의 다음 경로에 업로드합니다.
/exported_snapshots/<orgUUID>/<projectUUID>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/
참고
기본적으로 Atlas는 메타데이터 파일 경로에 조직 및 프로젝트 UUID를 사용합니다. UUID 대신 조직 및 프로젝트 이름을 사용하려면 API를 통해 useOrgAndGroupNamesInExportPrefix 플래그를 true로 설정합니다. Atlas는 모든 공백을 밑줄(_)로 바꾸고 경로의 조직 및 프로젝트 이름에서 특수 처리가 필요할 수 있는 모든 문자와 피해야 할 문자를 제거합니다.
.complete 메타데이터 파일은 JSON 형식이며 다음 필드를 포함합니다.
요청 보디 필드 | 설명 |
|---|---|
| Atlas 조직을 식별하는 고유한 24자리 16진수 문자열. |
| Atlas 조직의 이름. |
| Atlas 조직의 프로젝트를 식별하는 고유한 24자리 16진수 문자열. |
| Atlas 프로젝트의 이름. |
| Atlas 클러스터를 식별하는 고유한 24자리 16진수 문자열. |
| Atlas 프로젝트의 이름. |
| 스냅샷을 찍은 날짜입니다. |
| 객체 저장 에 업로드된 파일의 총 개수입니다. |
| 스냅샷을 내보낸 클러스터의 레이블. |
| 사용자 지정 데이터(해당되는 경우)를 만들 때 지정한 내보내기 작업. |
예시
{ "orgId": "60512d6f65e4047fe0842095", "orgName": "org1", "groupId": "60512dac65e4047fe084220f", "groupName": "group1", "clusterUniqueId": "60512dac65e4047fe0842212", "clusterName": "cluster0", "snapshotInitiationDate": "2020-04-03T05:50:29.321Z" "totalFiles": 23, "labels": [ { "key": "key1", "value": "xyz" }, { "key": "key2", "value": "xyzuio" } ], "customData": [ { "key": "key1", "value": "xyz" }, { "key": "key2", "value": "xyzuio" } ] }
스냅샷 내보내기 작업의 각 컬렉션에 대해 Atlas는 metadata.json 이라는 메타데이터 파일을 객체 저장의 다음 경로에 업로드합니다.
/exported_snapshots/<orgUUID>/<projectUUID>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/<dbName>/<collectionName>/metadata.json
참고
기본적으로 Atlas는 메타데이터 파일 경로에 조직 및 프로젝트 UUID를 사용합니다. UUID 대신 조직 및 프로젝트 이름을 사용하려면 API를 통해 useOrgAndGroupNamesInExportPrefix 플래그를 true로 설정합니다. Atlas는 모든 공백을 밑줄(_)로 바꾸고 경로의 조직 및 프로젝트 이름에서 특수 처리가 필요할 수 있는 모든 문자 와 피해야 할 문자를 제거합니다.
메타데이터 파일은 JSON 형식이며 다음 필드를 포함합니다.
요청 보디 필드 | 설명 |
|---|---|
| 컬렉션을 식별하는 사람이 읽을 수 있는 레이블입니다. |
| db.collection.getIndexes 명령에서 반환된 형식으로 컬렉션의 모든 인덱스를 나열합니다. |
| 컬렉션에 정의된 구성 옵션입니다. 옵션에 대한 자세한 내용은 db.createCollection() 명령을 참조하세요. |
| (선택 사항) 컬렉션 유형입니다. 이 필드 값이 Atlas |
| 컬렉션의 UUID입니다. UUID에 대해 자세히 알아보려면 UUID를 참조하세요. |
예시
{ "options":{ "viewOn":"othercol", "pipeline":[{"$project":{"namez":"$name"}}] }, "indexes":[], "collectionName":"viewcol", "type":"view" }
{ "options":{ "timeseries":{ "timeField":"timestamp", "granularity":"seconds", "bucketMaxSpanSeconds":{"$numberInt":"3600"} } }, "indexes":[], "collectionName":"timeseriescol", "type":"timeseries" }
{ "indexes": [ { "v":{"$numberInt":"2"}, "key":{ "_id":{"$numberInt":"1"} }, "name":"_id_" } ], "uuid":"342c40a937c34c478bab03de8ce44f3e", "collectionName":"somecol" }
제한 사항
다음 조치는 수행할 수 없습니다.
스냅샷 하나 이상의 활성 내보내기가 있어야 합니다.
필요한 액세스 권한
Atlas에서 클라우드 백업 내보내기 예정을 만들거나 관리하거나 클라우드 백업 내보내기 버킷을 구성하려면 프로젝트에 대한
Project Backup Manager또는Project Owner가 있어야 합니다.클라우드 백업 내보내기 작업을 생성하거나 관리하려면 프로젝트에 대한
Project Backup Export Operator또는Project Owner액세스가 있어야 합니다.클라우드 백업 객체 저장소 비공개 엔드포인트를 만들거나 관리하려면 프로젝트에 대한
Project Owner액세스권이 있어야 합니다.
클라우드 공급자로 내보내기
클라우드 백업 스냅샷을 내보내는 단계는 객체 저장 서비스에 따라 다릅니다. Atlas 액세스를 설정하고 내보내기 버킷을 구성하고 스냅샷을 내보내려면 클라우드 공급자의 페이지를 참조하십시오.
PrivateLink를 통해 AWS S3 버킷으로 스냅샷을 내보내십시오.
스냅샷을 Azure Blob 스토리지 컨테이너로 내보냅니다.
Google Cloud Storage 버킷에 스냅샷을 내보냅니다.