配置モデルの変更
Overview
既存のアプリの配置構成を変更して、新しいモデル、リージョン、クラウドプロバイダーに配置できます。 たとえば、アプリをグローバル配置から特定のローカルAmazon Web Servicesリージョンに切り替えたり、米国東部に配置されたアプリをAmazon Web ServicesからAzureに切り替えたりすることができます。 利用可能なすべてのオプションのリストについては、「配置モデルとリージョン 」を参照してください。
既存のアプリを移動するには、配置の移行を開始し、アプリのデータと構成を新しい構成に自動的に移動します。 移行プロセスは可能な限りシームレスになるように設計されていますが、 5から30分のダウンタイムが必要です。 移行ステータスは監視できますが、移行が完了するまでリクエストは処理されません。 詳細については、 配置移行プロセスを参照してください。
重要
MongoDB サポートへのお問い合わせ
本番アプリの配置モデルの変更を計画している場合は、MongoDB テクニカル サポートに連絡することをお勧めします。 方法については、 MongoDB サポート ポータルをご覧ください。
配置移行の実行
配置移行はいつでも開始できます。 1 つのアプリで一度に進行できる移行は 1 つだけです。 別の移行が進行中に移行を開始しようとすると、新しい移行は実行されず、エラーとなります。
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
始める前に
配置モデルを変更する前に、以下の点に注意してください。
すべてのログと下書きが失われます。
一時停止された trigger が再起動します。
既存のプライベートエンドポイントを新しいリージョン用に再作成する必要があります。
移行中は trigger と Device Sync 操作が一時停止されます。
重要
配置の移行は永続的
配置モデルの変更はドラフトではありません。 この変更は保存された後に元に戻すことはできません。
Atlas UI でアプリの配置モデルを変更するには、次のものが必要です。
プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントのサインアップ方法については、「 Atlas の使用 」を参照してください。
Admin API を使用してアプリの配置モデルを変更するには、次のものが必要です。
プロジェクト所有者の権限を持つ MongoDB Atlas アカウント。 無料アカウントのサインアップ方法については、「 Atlas の使用 」を参照してください。
MongoDB Atlas Admin APIの公開キーと秘密キーのペア。 App Services Admin API を操作するには、API キーにプロジェクト オーナーの権限が必要です。
アプリの内部 ObjectId 16x string と、アプリを含む Atlas プロジェクトのプロジェクト ID。 これらを見つける方法については、 「 アプリのメタデータを取得する 」を参照してください。
手順
ターゲットの配置モデルとリージョンの選択
アプリは有効な配置構成に移行できます。
まず、特定の LOCAL
リージョンまたは、世界的に分散されたGLOBAL
配置のいずれかに移行することを選択します。
GLOBAL
を選択した場合は、アプリの構成データをホストするグローバル リージョンの 1 つを選択します。
LOCAL
を選択した場合は、配置先の特定のクラウドプロバイダーとリージョンを選択します。 利用可能なすべてのオプションのリストについては、「配置モデルとリージョン 」を参照してください。
移行後のクリーンアップ
一部の機能とサービスは移行後も引き続き機能しなくなるため、再構成する必要があります。 これらの機能のいずれかを使用している場合は、以下のクリーンアップ手順に従って機能を復元してください。
機能 | クリーンアップの手順 |
---|---|
VPC プライベートエンドポイントはリージョン固有です。 新しいリージョンに移行したら、新しいリージョンに新しい VPC プライベートエンドポイントを作成し、新しいエンドポイントを使用するようにアプリケーションを更新する必要があります。 グローバル配置または Azure または GCP のローカル リージョンに移行した場合は、 VPC プライベートエンドポイントを使用できません。 | |
リクエストの送信 | 移行が完了したら、新しい URL を使用してリクエストを送信する必要があります(該当する場合)。 |
ターゲットの配置モデルとリージョンの選択
アプリは有効な配置構成に移行できます。
まず、特定のLOCAL
リージョンまたは世界的に分散されたGLOBAL
配置のいずれかに移行することを選択します。
GLOBAL
を選択した場合は、アプリの構成データをホストするグローバル リージョンの 1 つを選択します。
{ "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>" }'
移行ステータスの監視
配置移行の現在のステータスを取得するには、 Get a Deployment Migrationエンドポイントを呼び出します。
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 を使用してリクエストを送信する必要があります(該当する場合)。 |
配置移行プロセス
配置移行により、アプリのデータと構成が一連のステージで 1 つ以上の新しいリージョンに移動されます。 各ステージで、プロセスはアプリの一部を新しいモデルに移行し、前のモデルからのアーティファクトをクリーンアップします。
配置移行では、次のステージを順番に通過します。
"started"
: 移行は開始されました"downtime"
: 移行の進行中はアプリが利用できません"enabling_event_subscriptions"
: アプリの trigger と Device Sync トランスレーターが有効になっている"cleanup"
: 配置アーティファクトがクリーンアップされています移行は完了し、次の 2 つの状態のいずれかになります。
"successful"
: 移行が正常に完了しました"failed"
: 移行は失敗しました
影響を受けるデータ
移行プロセスは、MongoDB Atlas クラスターに保存されているアプリケーション データには影響しません。
移行プロセスでは、アプリの次のコンポーネントが移行されます。
ユーザー アカウント
アプリ構成ファイル
トリガー
API サービス
Device Sync トランスレーター
移行プロセスでは、次のデータは移行されません。
アプリケーション ログ
配置案
MongoDB Atlas クラスターに保存されているデータ