배포 모델 변경
개요
기존 앱의 배포 구성을 변경하여 새 모델, 리전 및/또는 클라우드 공급자에 배포할 수 있습니다. 예를 들어, 앱을 글로벌 배포에서 특정 로컬 Amazon Web Services 리전으로 전환하거나 미국 동부에 배포된 앱을 Amazon Web Services에서 Azure로 전환할 수 있습니다. 사용 가능한 모든 옵션의 목록은 배포 모델 및 리전을 참조하세요.
기존 앱을 이동하려면 앱의 데이터와 구성을 새 구성으로 자동으로 이동하는 배포 마이그레이션 을 시작합니다. 마이그레이션 프로세스 는 최대한 원활하게 진행되도록 설계되었지만 5 ~ 30 분의 다운타임이 필요합니다. 마이그레이션 상태를 모니터 할 수 있지만 마이그레이션 이 완료될 때까지 요청이 처리되지 않습니다. 자세한 내용은 배포 마이그레이션 프로세스를 참조하세요.
중요
MongoDB 지원팀에 문의하기
프로덕션 앱의 배포 모델을 변경하려는 경우 MongoDB 기술 지원팀에 문의하는 것이 좋습니다. 방법을 알아보려면 MongoDB 지원 포털을 방문하세요.
배포 마이그레이션 실행
언제든지 배포 마이그레이션을 시작할 수 있습니다. 하나의 앱에 대해 한 번에 하나의 마이그레이션만 진행할 수 있습니다. 다른 마이그레이션이 진행 중인 상태에서 마이그레이션을 시작하려고 하면 새 마이그레이션은 실행되지 않으며 오류가 발생하여 실패합니다.
Realm SDK에서 앱에 연결하는 경우 배포 모델 변경을 지원하는 버전으로 SDK를 업데이트해야 합니다. 앱의 SDK 버전이 배포 모델 변경을 지원하지 않는 경우 앱을 다시 설치해야 합니다. 업그레이드하기 전에 배포 모델을 변경하면 SDK는 연결할 수 없으며 요청이 실패합니다.
최소 SDK 버전:
Realm C++ SDK v0.2.0
Realm Flutter SDK v1.2.0
Realm Kotlin SDK v1.10.0
Realm .NET SDK v11.1.0
Realm Node.js SDK v12.0.0(릴리스 보류 중)
Realm React Native SDK v12.0.0(릴리스 보류 중)
Realm Swift SDK v10.40.0
시작하기 전에
배포 모델을 변경하기 전에 다음 사항에 유의하세요:
모든 로그와 초안이 손실됩니다.
일시 중단된 Atlas Triggers가 다시 시작됩니다.
새 리전에 대해 기존 비공개 엔드포인트를 다시 생성해야 합니다.
마이그레이션 중에는 Atlas Triggers 및 Realm Mobile Sync 작업이 일시 중지됩니다.
중요
배포 마이그레이션은 영구적입니다.
배포 모델을 변경하는 것은 임시 저장되지 않습니다. 이 변경 사항은 저장한 후에는 되돌릴 수 없습니다.
Atlas UI에서 앱의 배포 모델을 수정하려면 다음 사항이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정입니다. 무료 계정을 등록하는 방법은 Atlas 시작하기를 참조하세요.
관리자 API 를 사용하여 앱의 배포서버 모델을 수정하려면 다음이 필요합니다.
프로젝트 소유자 권한이 있는 MongoDB Atlas 계정입니다. 무료 계정을 등록하는 방법은 Atlas 시작하기를 참조하세요.
MongoDB Atlas Admin API 공용/개인 키 쌍. API 키에는 App Services Admin API를 사용하려면 프로젝트 소유자 권한이 있어야 합니다.
앱의 ObjectId 내부 16진수 string 과 앱이 ID 포함된 Atlas 프로젝트의 프로젝트 입니다. 이를 찾는 방법을 학습 보려면 앱 메타데이터 가져오기를 참조하세요.
절차
대상 배포 모델 및 리전 선택
앱을 유효한 배포 구성으로 마이그레이션할 수 있습니다.
먼저, 특정 LOCAL
리전 또는 전 세계에 분산된 된 GLOBAL
배포서버 로 마이그레이션 하도록 선택합니다.
GLOBAL
을(를) 선택하는 경우 앱의 구성 데이터를 호스팅할 글로벌 리전 중 하나를 선택합니다.
LOCAL
을(를) 선택하는 경우 배포할 특정 클라우드 공급자 및 리전을 선택합니다. 사용 가능한 모든 옵션의 목록은 배포 모델 및 리전을 참조하세요.
마이그레이션 후 정리
일부 기능 및 서비스는 마이그레이션 후에도 계속 작동하지 않으므로 다시 구성해야 합니다. 이러한 기능을 사용하는 경우 아래의 정리 단계에 따라 기능을 복원하세요.
기능 | 정리 단계 |
---|---|
VPC 비공개 엔드포인트는 리전별로 다릅니다. 새 리전으로 마이그레이션한 후에는 새 리전에서 새 VPC 비공개 엔드포인트를 만들고 애플리케이션을 업데이트하여 새 엔드포인트를 사용해야 합니다. 글로벌 배포로 마이그레이션하거나 Azure 또는 GCP의 로컬 리전으로 마이그레이션한 경우에는 VPC 비공개 엔드포인트를 사용할 수 없습니다. | |
요청 보내기 | 마이그레이션이 완료되면 해당하는 경우
새 URL을 사용하여 요청을 보내야 합니다. |
대상 배포 모델 및 리전 선택
앱을 유효한 배포 구성으로 마이그레이션할 수 있습니다.
먼저 특정 LOCAL
리전 또는 전 세계에 분산된 GLOBAL
배포로 마이그레이션하도록 선택합니다.
GLOBAL
을(를) 선택하는 경우 앱의 구성 데이터를 호스팅할 글로벌 리전 중 하나를 선택합니다.
{ "deployment_model": "GLOBAL", "provider_region": "aws-us-east-1" }
LOCAL
을(를) 선택하는 경우 배포할 특정 클라우드 공급자 및 리전을 선택합니다. 사용 가능한 모든 옵션의 목록은 배포 모델 및 리전을 참조하세요.
{ "deployment_model": "LOCAL", "provider_region": "azure-westus" }
마이그레이션 시작
마이그레이션 을 시작하려면 요청 본문에서 마이그레이션 하려는 배포서버 모델 및 리전 을 사용하여 배포 마이그레이션 만들기 엔드포인트를 호출합니다.
curl -X PUT \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deployment_migration \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <AccessToken>' \ -d '{ "deployment_model": "<DeploymentModel>", "provider_region": "<RegionID>" }'
마이그레이션 상태 모니터링
배포 마이그레이션의 현재 상태를 가져오려면 배포서버 마이그레이션 가져오기 엔드포인트 를 호출합니다.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/deployment_migration \ -H 'Authorization: Bearer <AccessToken>'
마이그레이션 후 정리
일부 기능 및 서비스는 마이그레이션 후에도 계속 작동하지 않으므로 다시 구성해야 합니다. 이러한 기능을 사용하는 경우 아래의 정리 단계에 따라 기능을 복원하세요.
기능 | 정리 단계 |
---|---|
VPC 비공개 엔드포인트는 리전별로 다릅니다. 새 리전으로 마이그레이션한 후에는 새 리전에서 새 VPC 비공개 엔드포인트를 만들고 애플리케이션을 업데이트하여 새 엔드포인트를 사용해야 합니다. 글로벌 배포로 마이그레이션하거나 Azure 또는 GCP의 로컬 리전으로 마이그레이션한 경우에는 VPC 비공개 엔드포인트를 사용할 수 없습니다. | |
요청 보내기 | 마이그레이션이 완료되면 해당하는 경우
새 URL을 사용하여 요청을 보내야 합니다. |
배포 마이그레이션 프로세스
배포 마이그레이션은 앱의 데이터와 구성을 하나 이상의 새 리전으로 이동하는 단계로 구성되어 있습니다. 각 단계에서 프로세스는 앱의 일부를 새 모델로 마이그레이션하고 이전 모델의 모든 아티팩트를 정리합니다.
배포 마이그레이션은 다음 단계를 순서대로 진행합니다.
"started"
: 마이그레이션이 시작되었습니다."downtime"
: 마이그레이션이 진행되는 동안에는 앱을 사용할 수 없습니다."enabling_event_subscriptions"
: 앱의 Tragger 및 Device Sync 변환기가 활성화되고 있습니다."cleanup"
: 배포 아티팩트를 정리하는 중입니다.마이그레이션이 완료되었으며 두 가지 상태 중 하나일 수 있습니다.
"successful"
: 마이그레이션이 성공적으로 완료되었습니다."failed"
: 마이그레이션 실패
영향을 받는 데이터
마이그레이션 프로세스는 MongoDB Atlas 클러스터에 저장된 애플리케이션 데이터에는 영향을 미치지 않습니다.
마이그레이션 프로세스는 앱의 다음 구성 요소를 마이그레이션합니다.
사용자 계정
앱 구성 파일
트리거
API 서비스
Realm Mobile Sync 변환기
마이그레이션 프로세스에서 다음 데이터는 마이그레이션 되지 않습니다 :
애플리케이션 로그
배포 초안
MongoDB Atlas cluster에 저장된 데이터