ブロック・ボリューム・バックアップの概要
Oracle Cloud Infrastructure Block Volumeサービスのバックアップ機能を使用すると、ブロック・ボリューム上のデータのポイントインタイム・スナップショットを作成できます。ボリュームのバックアップは、インスタンスにアタッチされているとき、またはデタッチされているときに作成できます。これらのバックアップは、バックアップ直後またはそれ以降の任意の時点で、新しいボリュームにリストアできます。
バックアップは暗号化されてOracle Cloud Infrastructure Object Storageに格納され、格納されたリージョン内の任意の可用性ドメインに新しいボリュームとしてリストアできます。この機能によってボリュームのスペア・コピーが提供され、同じリージョン内でディザスタ・リカバリを正常に完了できます。
バックアップを開始するには2つの方法があります。1つはバックアップを手動で開始する方法で、もう1つはバックアップ・スケジュールの設定を定義するポリシーを割り当てる方法です。
手動バックアップ
これはオンデマンドの1回限りのバックアップであり、ブロック・ボリュームの手動バックアップの作成のステップに従ってすぐに開始できます。手動バックアップを開始するときに、増分バックアップか完全バックアップのどちらを実行するかを指定できます。バックアップ・タイプの詳細は、ボリューム・バックアップ・タイプを参照してください。
手動バックアップには有効期限がなく、削除するまで保持されます。
ポリシーベースのバックアップ
これは、ボリュームに割り当てられたバックアップ・ポリシーによって定義されている、自動化されたスケジュール済バックアップです。
2種類のバックアップ・ポリシーがあります:
- Oracle定義: バックアップの頻度と保持期間の設定を含む事前定義済のバックアップ・ポリシー。これらのポリシーは変更できません。詳細は、Oracle定義バックアップ・ポリシーを参照してください。
- ユーザー定義: 自分でスケジュールと保持期間を作成および構成するカスタム・バックアップ・ポリシー。ユーザー定義ポリシーを使用して、スケジュールされたリージョン間自動バックアップを有効にすることもできます。リージョン間でのボリューム・バックアップ・コピーのスケジューリングを参照してください。詳細は、ユーザー定義バックアップ・ポリシーを参照してください。
詳細は、ポリシーベースのバックアップを参照してください。
タグ
ボリューム・バックアップが作成されると、ソース・ボリュームのタグがボリューム・バックアップに自動的に含まれます。これには、スケジュールに従ってバックアップを作成するためにカスタム・バックアップ・ポリシーが適用されたボリュームも含まれます。ソース・ボリューム・タグは、作成時にすべてのバックアップに自動的に割り当てられます。必要に応じて、追加のタグをボリューム・バックアップに適用することもできます。
ボリューム・バックアップが新しいリージョンにコピーされると、タグもボリューム・バックアップとともに自動的にコピーされます。ボリュームがバックアップからリストアされると、ソース・ボリュームのタグを使用してボリュームがリストアされます。
ボリューム・バックアップ・タイプ
ブロック・ボリューム・サービスでは、2つのバックアップ・タイプを使用できます:
- 増分: このバックアップ・タイプでは、前回のバックアップ以降の変更のみが含められます。
- 完全: このバックアップ・タイプでは、ボリュームが作成されてからのすべての変更が含められます。
データ・リカバリの目的では、増分バックアップと完全バックアップの機能的な違いはありません。増分バックアップまたは完全ボリューム・バックアップのいずれかからボリュームをリストアできます。両方のバックアップ・タイプを使用して、バックアップ時に完全なボリューム・コンテンツをボリュームのポイントインタイム・スナップショットにリストアできます。最初の完全バックアップまたは後続の増分バックアップをバックアップ・チェーンに保持してそれらを順番にリストアする必要はなく、必要な回数取得したバックアップを保持するだけで十分です。
バックアップの詳細
増分バックアップの場合、前回のバックアップ以降のすべての変更の記録です。ボリューム上の最初のバックアップが増分として作成される場合、実質的には完全バックアップになります。全体バックアップの場合、ボリュームが作成されてからのすべての変更の記録です。
たとえば、16TBのブロック・ボリュームを作成し、そのボリュームの40GBを変更した後でボリュームの完全バックアップを起動した場合、完了時のボリューム・バックアップ・サイズは40GBになります。その後、追加の4GBを変更して増分バックアップを作成すると、増分バックアップの一意のサイズは4GBになります。完全バックアップが削除された場合、増分バックアップでは、ボリューム・コンテンツのリストアに必要な44GB全体が保持されます。この例では、サイズが1GBの重複しないブロックの3番目の増分バックアップが、2番目の増分バックアップの後に作成されてから、完全バックアップが削除された場合、3番目のバックアップは1GBのサイズのままになり、2番目の増分バックアップ・サイズは44GBに更新されます。ブロックは、それらを参照する最も早いバックアップで考慮されます。
バックアップの計画
バックアップの主な用途は、ビジネスの継続性、ディザスタ・リカバリおよび長期的なアーカイブの要件をサポートすることです。バックアップ・スケジュールを決定する際には、バックアップ・プランおよび目標で次のことを考慮する必要があります:
- 頻度: データをバックアップする頻度。
- リカバリ時間: バックアップがリストアされて、それを使用するアプリケーションからアクセスできるようになるまでに待機できる時間。バックアップが完了するまでの時間はいくつかの要因によって異なりますが、バックアップ対象のデータのサイズと、前回のバックアップ以降に変更されたデータの量に応じて、一般的に数分以上かかります。
- 格納されるバックアップの数: 使用可能な状態にしておく必要があるバックアップの数と、不要になったバックアップの削除スケジュール。一度に作成できるバックアップは1つのみであるため、バックアップの進行中は、それが完了しないと別のバックアップを作成できません。格納できるバックアップの数の詳細は、ブロック・ボリュームの機能および制限を参照してください。
バックアップ使用の一般的なユース・ケース:
-
同じボリュームの複数のコピーを作成する必要がある場合。データ構成が同じ多数のボリュームを使用してインスタンスを作成する必要がある場合、バックアップが非常に有用です。
- 後で新しいボリュームにリストアできるように作業のスナップショットを取得する場合。
- プライマリ・コピーになんらかの問題が発生した場合に備えて、常にボリュームのスペア・コピーを用意しておく場合。
ボリューム・バックアップ・サイズ
ボリューム・バックアップ・サイズは、現在のボリューム使用量より大きくすることができます。これについては、次のような理由が考えられます:
-
書き込まれたボリュームの一部は初期化済とみなされるため、常にボリューム・バックアップの一部となります。
-
多くのオペレーティング・システムでは、コンテンツに書き込むかこれをゼロにすると、これらのブロックが使用済とマークされます。ブロック・ボリューム・サービスは、更新されたブロックを考慮し、これらのブロックをボリューム・バックアップに含めます。
-
ボリューム・バックアップには、追加データ内の最大1GBのメタデータも含まれます。たとえば、256GBのWindowsブート・ディスクの完全バックアップでは、追加の1GBのメタデータを含む257GBのバックアップ・サイズが表示される場合があります。
リージョン間でのブロック・ボリューム・バックアップのコピー
コンソール、コマンドライン・インタフェース(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提供の暗号化キーが使用されます。これは、保存中暗号化と転送中暗号化の両方に適用されます。
ボリューム・バックアップに必要なIAMポリシー
Oracle Cloud Infrastructureを使用するには、管理者によってポリシーでセキュリティ・アクセス権が付与されている必要があります。このアクセス権は、コンソール、あるいはSDK、CLIまたはその他のツールを使用したREST APIのいずれを使用している場合でも必要です。権限がない、または認可されていないというメッセージが表示された場合は、自分がどのタイプのアクセス権を持っているか、およびどのコンパートメントで作業するかを管理者に確認してください。
管理者用: ボリューム管理者がブロック・ボリューム、バックアップおよびボリューム・グループを管理するのポリシーを使用すると、指定したグループはブロック・ボリュームおよびバックアップに関するすべての操作を実行できます。ブート・ボリューム・バックアップ管理者はバックアップのみを管理するのポリシーはさらに、アクセスをバックアップの作成と管理のみに制限します。
ユーザーがボリュームからバックアップを作成する場合や、バックアップからボリュームをリストアする場合、ボリュームとバックアップが同じコンパートメント内に存在している必要はありません。ただし、ユーザーが両方のコンパートメントへのアクセス権を持っている必要があります。
ブロック・ボリューム・バックアップを作成する際のベスト・プラクティス
バックアップを作成およびリストアする際には、次の点に注意してください:
- バックアップを作成する前に、データに一貫性があることを確認する必要があります: ファイル・システムを同期し、可能な場合はファイル・システムをアンマウントして、アプリケーション・データを保存します。ディスク上のデータのみがバックアップされます。バックアップの作成中、バックアップ状態がREQUEST_RECEIVEDからCREATINGに変わったら、ボリュームへのデータの書込みに戻ることができます。バックアップの進行中は、バックアップされているボリュームを削除できません。
- 元のボリュームがアタッチされたリストア済ボリュームをアタッチしようとする場合、一部のオペレーティング・システムでは同一ボリュームをリストアできないことに注意してください。これを解決するには、ボリュームをリストアする前にパーティションIDを変更する必要があります。オペレーティング・システムのパーティションIDを変更するステップは、オペレーティング・システムによって異なります。手順については、オペレーティング・システムのドキュメントを参照してください。
詳細は、ブロック・ボリュームの手動バックアップの作成および新しいボリュームへのバックアップのリストアを参照してください。
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を参照してください。
ブロック・ボリューム・バックアップ、ブート・ボリューム・バックアップおよびバックアップ・ポリシーを操作するには、次の操作を使用します。