クラウドバックアップ スナップショットのエクスポート
注意
この機能は、{0M0
無料クラスターと Flex クラスターでは使用できません。利用できない機能について詳しくは、「 Atlas M0 (無料クラスター)、M2 、M5 の制限 を参照してください。
Atlas を使用すると、クラウドバックアップ スナップショットをオブジェクトストレージサービスにエクスポートできます。
自動バックアップ ポリシーとスケジュールを管理する方法については、「バックアップ ポリシーの管理」を参照してください。
サポートされているストレージ サービス
Atlas は現在、次のオブジェクトストレージサービスをサポートしています。
Amazon Web Services S3バケット
Azure BLOB ストレージ
Atlas がスナップショットをエクスポートする方法
個々のスナップショットを手動でエクスポートすることも、スナップショットを自動的にエクスポートするためのエクスポート ポリシーを設定することもできます。自動エクスポートの場合は、エクスポート ポリシーで頻度を指定する必要があります。
毎日
毎週
毎月
毎年
Atlas は、エクスポート頻度に一致する頻度タイプのバックアップ スナップショットを自動的にエクスポートします。エクスポートされた結果は、そのスナップショットの完全バックアップです。
例
次の点を考慮してください。
週次および月次のスナップショット スケジュールを設定するバックアップ ポリシー
毎月のエクスポート頻度を設定するエクスポート ポリシー
たとえば、月末に週次スナップショットと月次スナップショットが同じ日に実行されるとします。スナップショットは 4
件あり、そのうち 3
件は週次スナップショットであり、4 番目のスナップショットは Atlas によって週次スナップショットとして扱われますが、同じ日に発生したため月次スナップショットにもなります。Atlas が月次スナップショットをエクスポートするのは、エクスポート頻度がそのスナップショットのスナップショット頻度と一致する場合のみです。週次スナップショットもエクスポートするには、週次スナップショットもエクスポートするようにエクスポート ポリシーを更新します。エクスポート頻度が毎週に設定されている場合、Atlas は 4
件すべてのスナップショットをエクスポートします。
エクスポートが進むにつれて、オブジェクトストレージサービスに部分的な結果が表示される場合があります。
Atlas では、 Time to Live の設定に関係なく、ドキュメントがスナップショットに永続化されます。これらのドキュメントには、 Time to Live の期限を過ぎたスナップショットからアクセスできます。
Atlas は、$.125
AWSまたはAzure自体により発生するデータ転送コストに加えて、 AWS S3 バケットまたはAzure Blob ストレージ コンテナにエクスポートされたデータ 1 GBあたり 0} を請求します。 Atlas は、エクスポートする前にデータを圧縮します。エクスポートされるデータの量を見積もるには、クラスター内の各データベースの dataSize を合計します。この合計は、エクスポートの非圧縮サイズに対応します。これが、 データのエクスポート操作のために Atlas から発生する最大コストになります。
Atlas がアップロードするファイル
Atlas は、次の場合に空のファイルを /exported_snapshots/.permissioncheck
にアップロードします。
エクスポートの開始
Atlas がエクスポートを完了すると、Atlas は各コレクションに対して .complete
という名前のメタデータ ファイルと metadata.json
という名前のメタデータ ファイルをアップロードします。
エクスポート ジョブが失敗した場合:
Atlas は自動的にエクスポートを再試行しません。
Atlas はオブジェクトストア内の部分的なデータを削除しません。
エクスポートされたデータ形式
Atlasgzip
は、 で圧縮された拡張JSON (v )ドキュメントをアップロードします。2 Atlas では、これらのドキュメントを順番にアップロードすることはありません。以下は、オブジェクトストア上のファイルへのパスです。
/exported_snapshots/<orgName>/<projectName>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/<dbName>/<collectionName>/<shardName>.<increment>.json.gz
以下の条件に一致するもの。
| Atlas 組織の名前。 |
| Atlas プロジェクトの名前。 |
| Atlas クラスターの名前。 |
| スナップショットが作成された日付。 |
| エクスポート ジョブが作成されたときのタイムスタンプ。 |
| Atlas クラスター内のデータベースの名前。 |
| Atlas コレクションの名前。 |
| |
| チャンクがアップロードされるにつれて増加するカウント。 |
制限
次のアクションは実行できません。
フォールバック スナップショットのエクスポート。
スナップショットごとに複数のアクティブなエクスポートがある。
ビュー コレクション 、または システム コレクション
<database>.system.js
をエクスポートします。ただし、 コレクションは除きます。IP制限付き保管時の暗号化が有効になっている Atlasプロジェクト内のクラスターからスナップショットをエクスポートします。
必要なアクセス権
クラウドバックアップ スナップショットを管理するには、プロジェクトに対するProject Backup Manager
またはProject Owner
アクセス権が必要です。
アクセスを持つユーザーは、クラウドバックアップ スナップショットを管理する前に、自分自身を または としてプロジェクトに追加する必要があります。Organization Owner
Project Backup Manager
Project Owner
前提条件
クラウドバックアップ スナップショットをエクスポートするには、M10
クラウドバックアップが有効 になっている 以上の Atlas クラスターが必要です。さらに、オブジェクトストアにエクスポートするには、次の操作を行う必要があります。
Amazon Web ServicesIAM ロールの 設定
STS:AssumeRole
とAtlas Amazon Web Servicesを使用すると、 に リソースへのアクセスが許可されます。の アクセスの構成の詳細については、「Amazon Web Services 統合Atlas Amazon Web Servicesアクセスのセットアップ 」を参照してください。IAM ロール ポリシーをAmazon Web Services 設定するAtlas
S3:PutObject
S3:GetBucketLocation
Amazon Web Servicesこれにより、 に書込みアクセス、または リソースへの 権限と 権限が付与されます。Amazon Web Servicesリソースへの書込みアクセスの設定の詳細については、「統合Amazon Web Servicesアクセスのセットアップ 」を参照してください。例
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::bucket-name" }, { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket-name/*" } ] }
Atlas プロジェクト向けのアクセス ポリシーを使用してAzure Service Principal を設定します。
Azure サービス プリンシパル に ストレージ Blob セレクター ロールと ストレージ Blob データ コンプライアンス ロールを割り当てます。
サービス プリンシパルにロールを割り当てるには、次の情報が必要です。
ロール説明ストレージ Blob 削除
これにより、サービス プリンシパルは、 Azureストレージ コンテナにアクセスするための SAS トークンに署名できるようになります。 このロールを割り当てるには、次のコマンドを実行します。
az role assignment create --assignee-object-id <service-principal-id> --role "Storage Blob Delegator" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name> ストレージ BLOB データ コンストラクター
これにより、 Azureストレージ コンテナの読み取り、書込み、削除のグローバルアクセスが可能になります。 このロールを割り当てるには、次のコマンドを実行します。
az role assignment create --assignee-principal-type ServicePrincipal --assignee-object-id <service-principal-id> --role "Storage Blob Data Contributor" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
輸出マネジメント
Amazon Web Services3Atlas CLIとAtlas Administration から S バケットへのスナップショット エクスポートを作成および管理し、API AzureAtlasAdministration から Blob ストレージ コンテナにスナップショットAPI エクスポートを作成および管理できます。
注意
Atlas CLI を使用してスナップショットを Azure Blob ストレージ コンテナにエクスポートすることはできません。
エクスポート ジョブの管理
Atlas CLI でエクスポート ジョブを作成または表示することで、エクスポート ジョブを管理できます。
エクスポート ジョブの作成
を使用して、M10 AtlasAmazon Web Services以上の3 クラスターの 1 つのバックアップ スナップショットを既存の SAtlas CLI バケットにエクスポートするには、次のコマンドを実行します。
atlas backups exports jobs create [options]
Atlas CLI を使用して特定のバックアップ エクスポート ジョブの完了を監視するには、次のコマンドを実行します。
atlas backups exports jobs watch <exportJobId> [options]
前のコマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの「atlas backups exports jobs create」および「atlas backups exports jobs watch」を参照してください。
エクスポート ジョブの表示
Atlas CLI を使用して、指定したプロジェクトのクラウドバックアップ復元ジョブを一覧表示するには、次のコマンドを実行します。
atlas backups exports jobs list <clusterName> [options]
Atlas CLI を使用して、指定したクラウドバックアップ復元ジョブの詳細を返すには、次のコマンドを実行します。
atlas backups exports jobs describe [options]
前のコマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの「「atlas backups のエクスポート ジョブ リスト」および「atlas backups のエクスポート ジョブの説明」を参照してください。
エクスポート バケットの管理
Atlas CLI を使用してエクスポート バケットを作成、表示、削除することでエクスポート バケットを管理できます。
1 つのエクスポート バケットを作成
Atlas CLI を使用して、既存の AWS S3 バケットで Atlas バックアップのエクスポート先を作成するには、次のコマンドを実行します。
atlas backups exports buckets create <bucketName> [options]
コマンド構文とパラメータの詳細については、Atlas CLI ドキュメントの atlas backups exports buckets create を参照してください。
エクスポート バケットの表示
Atlas CLI を使用して、指定したプロジェクトのクラウドバックアップ復元バケットを一覧表示するには、次のコマンドを実行します。
atlas backups exports buckets list [options]
Atlas CLI を使用して指定したクラウドバックアップ復元バケットの詳細を返すには、次のコマンドを実行します。
atlas backups exports buckets describe [options]
前のコマンドの構文とパラメータの詳細については、Atlas CLI ドキュメントの「「atlas backups exports buckets list」および「atlas backups exports buckets describe」を参照してください。
エクスポートバケットの削除
Atlas CLI を使用して Atlas バックアップのエクスポート先を削除するには、次のコマンドを実行します。
atlas backups exports buckets delete [options]
コマンド構文とパラメータの詳細については、Atlas CLI ドキュメントの「atlas backups exports buckets delete」を参照してください。
クラウドプロバイダー アクセスの付与と管理、およびスナップショット エクスポート ジョブの作成と管理を行うには、使用するAPIにProject Owner
ロールが必要です。
エクスポート バケットの管理
エクスポート バケットまたはコンテナを管理するには、以下を使用します。
1 つのエクスポート バケットを作成
スナップショットをエクスポートするためのAmazon Web Services S3バケットまたはAzure Blob ストレージ コンテナへのアクセスを許可するには、 POST
リクエストをクラウドバックアップリソースエンドポイントに送信します。 これにより、 Amazon Web Services S3バケットまたはAzure Blob ストレージ コンテナがAtlasクラウドバックアップ スナップショットを受信できるようになります。 アクセスを許可するリクエストを送信するときは、次の情報を提供する必要があります。
が S3Amazon Web Services バケットにアクセスするために使用する必要がある統合 アクセスロール を識別する一意の 桁の 2416 進数文字stringAmazon Web Services ID。Atlas詳細については、「統合Amazon Web Servicesアクセスの設定 」を参照してください。
が Blob ストレージにアクセスするために使用する必要がある Service PrincipalAzure を識別する一意の 24文字 16stringAtlas 進数文字列。Azure詳しくは、「 Azure Service Principal Access の設定と管理 」を参照してください。
Azure Blog Storage アカウントのサービスエンドポイント。 詳しくは、 Azure のドキュメント を参照してください。
すべてのエクスポート バケットの一覧表示
がスナップショットをエクスポートするすべてのAmazon Web Services S3 バケットとAzure Blob ストレージAtlas コンテナを取得するには、GET
クラウドバックアップ リソース エンドポイントに リクエストを送信します。
1 つのエクスポート バケットを削除
エクスポート バケットを削除するには、まずプロジェクト内のすべてのクラスターのAmazon Web Services S3バケットまたはAzure Blob ストレージ コンテナへのスナップショットの自動エクスポートを無効にし、次に使用してクラウドバックアップリソースエンドポイントに DELETE
リクエストを送信する必要があります。エクスポート バケットのID 。 必要に応じて、エクスポート バケット ID を取得するためにエンドポイントにGET
リクエストを送信します。
エクスポート ジョブの管理
エクスポート ジョブを管理するには、次の を使用します。
スナップショット エクスポート ジョブの作成
1Atlas つの バックアップ スナップショットをAmazon Web Services S3 バケットまたはAzure Blob ストレージ コンテナにエクスポートするには、エクスポートするスナップショットの と の を指定して、POST
クラウドバックアップ リソース エンドポイント に リクエストを送信します。ID IDAmazon Web ServicesS3 バケットまたは BlogAzure ストレージ コンテナ。
スナップショットのエクスポート ジョブの取得
ID で 1 つのスナップショット エクスポート ジョブを検索するには、エクスポート ジョブの ID を指定してクラウドバックアップリソースエンドポイントにGET
リクエストを送信します。
実行中のすべてのスナップショット エクスポート ジョブを取得するには、クラウドバックアップリソースエンドポイントにGET
リクエストを送信します。