ブロック・ボリューム・バックアップの概要
Oracle Cloud Infrastructure Block Volumeは、セキュアでコスト効果の高いポリシーベースの完全管理型のバックアップ・ソリューションを提供します。ブロック・ボリューム、ブート・ボリュームおよびボリューム・グループは、インスタンスへのアタッチまたはインスタンスからのデタッチ中にバックアップでき、暗号化されてOCI管理のOracle Cloud Infrastructure Object Storageにリージョン的に格納されます。ソース・ボリュームまたはボリューム・グループの可用性に関係なく、任意の可用性ドメイン内の既存または新規のボリュームにバックアップをリストアできます。この機能により、障害発生時にボリュームまたはボリューム・グループを簡単にリストアできます。最大100,000個のバックアップを作成できます。
バックアップの進行中は、バックアップされているボリュームを削除できません。
ボリューム・バックアップに必要なIAMポリシー
Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、自分がどのタイプのアクセス権を持っているか、およびどのコンパートメントで作業するかを管理者に確認してください。
ボリューム・バックアップを開始するには、管理者がIAMポリシーを介してユーザー・アクセス権を付与する必要があります。Oracle Cloud Infrastructureの各サービスは、すべてのインタフェース(コンソール、SDKまたはCLI、およびREST API)の認証および認可のためにIAMと統合されています。
次に、ブロック・ボリューム管理者がリージョン間でブロック・ボリューム、バックアップおよびボリューム・グループを管理できるようにするポリシーの例を示します:
Allow group VolumeBackupAdmins to use volumes in tenancy
Allow group VolumeBackupAdmins to manage volume-backups in tenancy
Allow group VolumeBackupAdmins to inspect volume-attachments in tenancy
Allow group VolumeBackupAdmins to inspect instances in tenancy
Allow group VolumeBackupAdmins to manage backup-policies in tenancy
Allow group VolumeBackupAdmins to manage backup-policy-assignments in tenancy
Allow group VolumeBackupAdmins to use volume-backups in tenancy where request.permission='VOLUME_BACKUP_COPY'
Allow group BootVolumeBackupAdmins to use volumes in tenancy
Allow group BootVolumeBackupAdmins to manage boot-volume-backups in tenancy
Allow group BootVolumeBackupAdmins to inspect instances in tenancy
Allow group BootVolumeBackupAdmins to manage backup-policies in tenancy
Allow group BootVolumeBackupAdmins to manage backup-policy-assignments in tenancy
Allow group BootVolumeBackupAdmins to use boot-volume-backups in tenancy where request.permission='BOOT_VOLUME_BACKUP_COPY'
ユーザーがボリュームからバックアップを作成する場合や、バックアップからボリュームをリストアする場合、ボリュームとバックアップが同じコンパートメント内に存在している必要はありません。ただし、ユーザーが両方のコンパートメントへのアクセス権を持っている必要があります。
ボリューム・バックアップ・タイプ
ブロック・ボリューム・サービスでは、2つのバックアップ・タイプを使用できます:
- 増分: このバックアップ・タイプでは、前回のバックアップ以降の変更のみが含められます。
- 完全: このバックアップ・タイプでは、ボリュームが作成されてからのすべての変更が含められます。
ボリューム・グループ・バックアップ
ボリューム・グループは、ボリュームの一貫したグループです。ボリューム・グループ・バックアップを使用して、大規模なファイルシステムやデータベースなど、複数のブロック・ボリュームのポイントインタイム・スナップショットを作成できます。これらのスナップショットは、OCI管理のオブジェクト・ストレージに格納されます。詳細は、ブロック・ボリュームの操作を参照してください。
バックアップの詳細
データ・リカバリの目的では、増分バックアップと完全バックアップの機能的な違いはありません。どちらのバックアップ・タイプでも、フル・コンテンツをPoint-in-Timeスナップショットにリストアできるため、初期完全バックアップまたは後続の増分バックアップを保持する必要はありません。ボリューム・バックアップでは、スナップショットの時間に関係なく、そのボリュームのすべてのコンテンツが保持されます。ボリュームの完全バックアップを削除した場合(保存ポリシーなどにより)、ボリュームを正常にリストアするために、そのボリュームの増分バックアップのサイズが増加します。
例
50 GBのブロック・ボリュームを作成し、ボリュームに25 GBを書き込み、2日間の保存期間を指定して1日目にボリュームの全体バックアップを起動します。完了すると、バックアップ・サイズは25 GBになります。
2日目には、2GBの既存のデータを変更し、3GBの新しいデータを書き込み、増分バックアップを作成します。増分バックアップの一意のサイズの合計は5 GBです。
3日目には、既存のデータの3Gを変更し、2 GBの新しいデータを合計5GB追加して、別の増分バックアップが作成されます。
4日目には、保存期間の期限が切れると、全体バックアップが削除されます。増分バックアップ・サイズは合計28GBになりました。その内容は、増分バックアップが作成された時点までボリューム・コンテンツをリストアするために必要です。
5日目に、最初の増分バックアップ保存が期限切れになります。この2番目の増分バックアップのバックアップ・サイズの合計は30GBで、2番目の増分バックアップが作成された時点でのボリューム・コンテンツの実際のサイズです。全体バックアップが削除されてもブロックは保持されるため、ボリュームは増分バックアップからリストアできます。
ボリューム・バックアップ・サイズ
ボリューム・バックアップ・サイズは、現在のボリューム使用量より大きくすることができます。これには、次のような理由があります。
-
書き込まれたボリュームの一部は初期化済とみなされ、常にボリューム・バックアップに含まれます。
-
多くのオペレーティング・システムでは、これらのブロックが使用済とマークされるコンテンツを書込みまたはゼロにします。ブロック・ボリューム・サービスは、更新されたブロックを考慮し、これらのブロックをボリューム・バックアップに含めます。
-
ボリューム・バックアップには、追加データ内の最大1GBのメタデータも含まれます。たとえば、256 GB Windowsブートディスクの完全バックアップでは、追加の1 GBのメタデータを含む257 GBのバックアップサイズが表示されることがあります。
バックアップ方法
ブロック・ボリュームをバックアップする方法の概要/コンテナ・トピック。
バックアップは、手動またはバックアップ・ポリシーを割り当てて開始できます。ボリュームのバックアップは、ボリュームと同じコンパートメントに作成されます。ボリューム・グループ内のボリュームが異なるコンパートメントにある場合、ボリューム・バックアップはボリューム・グループのコンパートメントではなく、ボリュームのコンパートメントに格納されます。ボリューム・グループ・バックアップ・リソースは、ボリューム・グループのコンパートメント内にあります。
手動バックアップ
ボリュームまたはボリューム・グループに対して単一の増分バックアップまたは完全バックアップを実行できます。詳細は、ボリューム・バックアップ・タイプを参照してください。
ボリュームを手動でバックアップするには、ブロック・ボリュームの手動バックアップの作成を参照してください。
バックアップはピーク時に数時間かかる場合があり、完了時間はバックアップが開始された時間およびリージョンによって異なる場合があります。大規模な完全バックアップおよび増分バックアップでは、コピーする必要があるデータ量に基づいてバックアップに時間がかかる場合があります。
ポリシーベースのバックアップ
また、バックアップ・ポリシーを定義して、アプリケーションのパフォーマンスに影響を与えずに、ボリュームまたはボリューム・グループのスナップショット管理およびスケジュールを簡素化および自動化することもできます。
2種類のバックアップ・ポリシーがあります:
-
Oracle定義: バックアップの頻度と保持期間の設定を含む事前定義済のバックアップ・ポリシー。これらのポリシーは変更できません。詳細は、Oracle定義バックアップ・ポリシーを参照してください。 ノート
2021年11月23日現在、Oracle定義ポリシーには、完全バックアップが含まれなくなっています。詳細は、Oracle定義バックアップ・ポリシーからの完全バックアップの削除を参照してください。 - ユーザー定義: 自分でスケジュールと保持期間を作成および構成するカスタム・バックアップ・ポリシー。ユーザー定義ポリシーを使用して、スケジュール済リージョン間自動バックアップを有効にすることもできます。詳細は、「リージョン間でのボリューム・バックアップ・コピーのスケジューリング」を参照してください。独自のポリシーのカスタマイズの詳細は、ユーザー定義バックアップ・ポリシーを参照してください。
詳細は、ポリシーベースのバックアップを参照してください。
リージョン間でのブロック・ボリューム・バックアップのコピー
コンソール、コマンドライン・インタフェース(CLI)、SDKまたはREST APIを使用して、ブロック・ボリューム・バックアップをリージョン間でコピーできます。ステップについては、リージョン間でのボリューム・バックアップのコピーを参照してください。この機能により、次のシナリオが拡張されます:
- ディザスタ・リカバリおよびビジネス継続性:ブロック・ボリューム・バックアップをリージョン間で定期的にコピーすると、ソース・リージョンでリージョン全体にわたる障害が発生した場合に、宛先リージョンでアプリケーションとデータを簡単に再作成できます。
- 移行と拡張: アプリケーションを別のリージョンに移行および拡張することが容易になります。
ユーザー定義ポリシーを使用して、スケジュール済リージョン間自動バックアップを有効にすることもできます。リージョン間でのボリューム・バックアップ・コピーのスケジューリングを参照してください。
ボリューム・バックアップをリージョン間でコピーするには、ソース・リージョンでボリューム・バックアップを読み取ってコピーする権限と、宛先リージョンでボリューム・バックアップを作成する権限が必要です。詳細は、必要なIAMポリシーを参照してください。
ボリューム・バックアップを新しいリージョンにコピーした後は、新しいボリュームへのバックアップのリストアに示されたステップを使用してバックアップから新しいボリュームを作成することにより、そのバックアップからリストアを行うことができます。
ボリューム・バックアップの暗号化
Oracle Cloud Infrastructure Block Volumeサービスは、256ビット暗号化によるAdvanced Encryption Standard (AES)アルゴリズムを使用して、すべてのブロック・ボリューム、ブート・ボリューム、および保存ボリューム・バックアップを常に暗号化します。
Oracle Cloud Infrastructure Vaultサービスを使用すると、ボリュームおよびそのバックアップの暗号化に使用する独自のキーを指定して管理できます。ボリューム・バックアップを作成すると、ボリュームに使用される暗号化キーがボリューム・バックアップにも使用されます。
ボリューム・バックアップの暗号化キーは、別のVault暗号化キーまたはOracle管理キーに変更できます。詳細は、ボリューム・バックアップの暗号化キーの変更を参照してください。
バックアップをリストアして新しいボリュームを作成する場合は、新しいキーを構成します。新しいボリュームへのバックアップのリストアを参照してください。Vaultも参照してください。
デフォルトでは、ボリューム・バックアップまたはボリューム・グループ・バックアップからリストアされたボリュームは、Oracle提供の暗号化キーを使用するように構成されます。ボリューム・バックアップからリストアされたボリュームの場合、リストア・プロセス中に新しいボリュームの顧客管理キーを指定できます。このオプションは、ボリューム・グループ・バックアップからリストアされたボリュームには使用できないため、Oracle提供のキーで新しいボリュームがリストアされます。これらのボリュームの暗号化キーは、リストア後に更新できます。ブロック・ボリュームのキーの編集を参照してください。
ボールト・サービスを使用するようにボリュームを構成していない場合、ブロック・ボリューム・サービスではかわりにOracle提供の暗号化キーが使用されます。これは、保存中暗号化と転送中暗号化の両方に適用されます。
バックアップの監視
バックアップは、成功したバックアップまたは失敗したバックアップすべてで生成されるバックアップ・イベントを使用してモニターできます。詳細は、「ボリューム・バックアップが失敗した場合に通知するイベントの使用」を参照してください。
タグ
ボリューム・バックアップが作成されると、ソース・ボリュームのタグが自動的に含まれます。これには、スケジュール済バックアップを作成するためにカスタム・バックアップ・ポリシーが適用されたボリュームも含まれます。ソース・ボリューム・タグは、作成時にすべてのバックアップに自動的に割り当てられます。必要に応じて、追加のタグをボリューム・バックアップに適用することもできます。
ボリューム・バックアップが新しいリージョンにコピーされると、タグもボリューム・バックアップとともに自動的にコピーされます。ボリュームがバックアップからリストアされると、ソース・ボリュームのタグを使用してボリュームがリストアされます。
ブロック・ボリューム・バックアップを作成する際のベスト・プラクティス
バックアップを作成およびリストアする際には、次の点に注意してください:
-
-
クリティカルなアプリケーション・ボリュームを毎日複数回バックアップします。ミッションクリティカルなアプリケーションの場合、リカバリ・ポイント目標(RPO)の可能性を最小限に抑えるために、1日に複数のバックアップを作成することをお薦めします。
ノート
ポリシーベースのバックアップでは、1日当たり1つのバックアップおよびコピーのみをスケジュールできます。ユーザーは手動バックアップを使用して、1日に複数のバックアップを開始できます。リージョン間コピーの場合、リモート・リージョンに1日当たり1つのバックアップのみをコピーすることをお薦めします。さらに小さなRPOについては、レプリケーションサポートをご覧ください。 - バックアップの保存期間と有効期限を構成します。バックアップは、ストレージ領域とコストを解放するために設定された有効期限が切れた後に自動的にパージされます。手動バックアップには有効期限がありません。
-
オフピーク時間帯にバックアップをスケジュールまたは作成します。バックアップが予定時刻に完了していないことに気付いた場合は、スケジュールされたバックアップ時間または手動バックアップ時間を別の時刻に変更することを検討してください。日次バックアップは、24時間以内に完了します。
-
クリティカル・データおよびクリティカルでないデータを編成します。 管理する必要のあるバックアップの量を減らすには、クリティカル・データおよび非クリティカル・データに対して個別の作成、バックアップおよびリカバリ操作を使用することをお薦めします。クリティカル・データには、通常、アプリケーションのリカバリおよび使用に必要なすべてのデータが含まれており、ブート・ボリュームではなくセカンダリ・ブロック・ボリュームに保持する必要があります。クリティカルでないデータには、スワップ、一時、キャッシュまたはページ・ファイルとクリティカルでないログが含まれ、サイズが大きくなる傾向があります。
- ボリューム・グループを使用して、クロスボリュームのクラッシュ一貫性のあるバックアップを作成します。 データが複数のボリュームに分散している場合は、ボリューム・グループとして作成およびバックアップできます。ボリューム・グループ・バックアップでは、各ボリュームに同期されたすべてのデータが一貫して取得されるため、インスタンスをシャットダウンして個々のスナップショットを取得する必要はありません。この方法は、ジャーナル処理をサポートするファイルシステムおよびアプリケーションに最適です。
- アプリケーション一貫性バックアップにより、データのリカバリ可能性を最大化し、リカバリ時間を短縮します。 バックアップを開始する前にサービスを一時停止または休止することで、アプリケーションの一貫性のあるバックアップを実現できます。これには、すべてのI/O操作の停止、すべてのメモリー・バッファの同期、処理中のトランザクションのフラッシュなどがあります。その後、APIコールを送信して、ボリュームまたはボリューム・グループのバックアップを取得できます。
-
- バックアップを作成する前に、データに一貫性があることを確認する必要があります: ファイル・システムを同期し、可能な場合はファイル・システムをアンマウントして、アプリケーション・データを保存します。ディスク上のデータのみがバックアップされます。バックアップの作成中、バックアップ状態がREQUEST_RECEIVEDからCREATINGに変わったら、ボリュームへのデータの書込みに戻ることができます。バックアップの進行中は、バックアップされているボリュームを削除できません。
- 元のボリュームがアタッチされたリストア済ボリュームをアタッチしようとする場合、一部のオペレーティング・システムでは同一ボリュームをリストアできないことに注意してください。これを解決するには、ボリュームをリストアする前にパーティションIDを変更する必要があります。オペレーティング・システムのパーティションIDを変更するステップは、オペレーティング・システムによって異なります。手順については、オペレーティング・システムのドキュメントを参照してください。
詳細は、ブロック・ボリュームの手動バックアップの作成および新しいボリュームへのバックアップのリストアを参照してください。
バックアップの計画
バックアップの主な用途は、ビジネスの継続性、ディザスタ・リカバリおよび長期的なアーカイブの要件をサポートすることです。バックアップ・スケジュールを決定する際には、バックアップ・プランおよび目標で次のことを考慮する必要があります:
- 頻度: データをバックアップする頻度。
- リカバリ時間: バックアップがリストアされて、それを使用するアプリケーションからアクセスできるようになるまでに待機できる時間。バックアップが完了するまでの時間はいくつかの要因によって異なりますが、バックアップ対象のデータのサイズと、前回のバックアップ以降に変更されたデータの量に応じて、一般的に数分以上かかります。
- 格納されるバックアップの数: 使用可能な状態にしておく必要があるバックアップの数と、不要になったバックアップの削除スケジュール。一度に作成できるバックアップは1つのみであるため、バックアップの進行中は、それが完了しないと別のバックアップを作成できません。格納できるバックアップの数の詳細は、ブロック・ボリュームの機能および制限を参照してください。
バックアップ使用の一般的なユース・ケース:
-
同じボリュームの複数のコピーを作成する必要がある場合。データ構成が同じ多数のボリュームを使用してインスタンスを作成する必要がある場合、バックアップが非常に有用です。
- 後で新しいボリュームにリストアできるように作業のスナップショットを取得する場合。
- プライマリ・コピーになんらかの問題が発生した場合に備えて、常にボリュームのスペア・コピーを用意しておく場合。
SCSI UNMAPによるボリューム・バックアップ・サイズの削減
Oracle Cloud Infrastructure Block Volumeは、未使用の領域を再利用するために、ブート・ボリュームとブロック・ボリュームの両方に対してSCSI UNMAPコマンドをサポートしています。これらのコマンドを使用して、バックアップ・サイズを減らし、バックアップのリストア時間を短縮します。詳細は、Support for SCSI UNMAPを参照してください。
ブロック・ボリュームのバックアップとクローンの違い
ボリュームのバックアップかクローンのどちらを作成するか決定する際には、次の基準を考慮してください。
ボリューム・バックアップ | ボリューム・クローン | |
---|---|---|
説明 | ボリューム上のデータのポイントインタイム・バックアップが作成されます。将来、そのバックアップから複数の新しいボリュームをリストアできます。 | バックアップとリストアのプロセスを実行しなくても、ボリュームの単一のポイントインタイム・コピーが作成されます。 |
ユース・ケース |
後で環境を複製したり、将来使用するデータを保持できるように、データのバックアップをボリューム内に保存します。 バックアップ内のデータは時間が経っても変わらないため、コンプライアンスおよび規制の要件を満たします。 ビジネス継続性の要件をサポートします。 経時的な停止やデータ変異のリスクを軽減します。 |
既存の環境をすばやく複製します。たとえば、クローンを使用して、本番環境に影響を与えずに構成の変更をテストできます。 |
速度 | 低速(分または時間) | 高速(秒) |
コスト | 低コスト | 高コスト |
ストレージの場所 | オブジェクト・ストレージ | ブロック・ボリューム |
保持ポリシー | ポリシーベースのバックアップには有効期限がありますが、手動バックアップには有効期限がありません。 | 有効期限なし |
ボリューム・グループ | サポートされています。ボリューム・グループをバックアップできます。 | サポートされています。ボリューム・グループをクローニングできます。 |
ブロック・ボリュームをクローニングするための背景情報およびステップについては、ブロック・ボリュームのクローニングを参照してください。
CLIまたはREST APIを使用したボリューム・バックアップのライフサイクルのカスタマイズおよび管理
CLI、REST APIまたはSDKを使用して、ボリューム・バックアップとそのライフサイクルの自動化、スクリプト作成および管理を行うことができます。
CLIの使用
この項では、Linuxベース・オペレーティング・システム上でcronユーティリティにより実行されるcronジョブなど、特定の時間に自動バックアップを実行するためにスクリプトで使用できる基本的なCLIコマンドのサンプルを示します。CLIの使用の詳細は、コマンド・ライン・インタフェース(CLI)を参照してください。
コマンド・プロンプトを開き、次を実行します:
oci bv backup create --volume-id <block_volume_OCID> --display-name <Name> --type <FULL|INCREMENTAL>
例:
oci bv backup create --volume-id ocid1.volume.oc1..<unique_ID> --display-name "backup display name" --type FULL
コマンド・プロンプトを開き、次を実行します:
oci bv backup delete --volume-backup-id <volume_backup_OCID>
例:
oci bv backup delete --volume-backup-id ocid1.volume.oc1..<unique_ID>
コマンド・プロンプトを開き、次を実行します:
oci bv boot-volume-backup create --volume-id <boot_volume_OCID> --display-name <Name> --type <FULL|INCREMENTAL>
例:
oci bv boot-volume-backup create --volume-id ocid1.volume.oc1..<unique_ID> --display-name "backup display name" --type FULL
コマンド・プロンプトを開き、次を実行します:
oci bv backup delete --boot-volume-backup-id <boot_volume__backup_OCID>
例:
oci bv backup delete --boot-volume-backup-id ocid1.volume.oc1..<unique_ID>
コマンド・プロンプトを開き、次を実行します:
oci bv volume-backup-policy list
コマンド・プロンプトを開き、次を実行します:
oci bv volume-backup-policy-assignment create --asset-id <volume_OCID> --policy-id <policy_OCID>
例:
oci bv volume-backup-policy-assignment create --asset-id ocid1.volume.oc1..<unique_ID> --policy-id ocid1.volumebackuppolicy.oc1..<unique_ID>
コマンド・プロンプトを開き、次を実行します:
oci bv volume-backup-policy-assignment delete --policy-assignment-id <policy_assignment_OCID>
例:
oci bv volume-backup-policy-assignment delete --policy-assignment-id ocid1.volumebackuppolicyassign.oc1..<unique_ID>
コマンド・プロンプトを開き、次を実行します:
oci bv volume-backup-policy-assignment get-volume-backup-policy-asset-assignment --asset-id <volume_OCID>
例:
oci bv volume-backup-policy-assignment get-volume-backup-policy-asset-assignment --asset-id ocid1.volume.oc1..<unique_ID>
APIの使用
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
ブロック・ボリューム・バックアップ、ブート・ボリューム・バックアップおよびバックアップ・ポリシーを操作するには、次の操作を使用します。