Block Storage for VPC スナップショットについて

IBM Cloud VPC のブロックストレージスナップショットについてご確認ください。これは、ブートボリュームまたはデータボリュームの特定の時点でのコピーであり、新しいボリュームに復元することができます。

現在リリースされている第2世代ブロック・ボリュームでは、ダラス(us-south )、フランクフルト(eu-de )、ロンドン(eu-gb )、マドリード(eu-es )、大阪(js-osa )、サンパウロ(br-sao )、シドニー(au-syd )、東京(jp-tok )、トロント(ca-tor )、ワシントン(us-east )リージョンでスナップショットが利用できる。

スナップショットの概念

単一ボリューム・スナップショット

スナップショットとは、コンソールやCLIから手動で取得する、あるいはAPIやTerraformを使用してプログラム的に作成する、ボリュームのコピーのことです。 稼働中の仮想サーバーインスタンスに接続されているブートボリュームまたはデータボリュームのスナップショットを作成できます。 「ブート可能」スナップショットは、ブート・ボリュームのスナップショットです。 「ブート不能」スナップショットは、データ・ボリュームのスナップショットです。 必要な頻度でスナップショットを取ることができます。 ただし、劣化状態のボリュームのスナップショットを取得することはできません。

ボリューム Block Storage for VPC のスナップショットを自動作成しますか? Backup for VPC では、バックアップ・ポリシーを作成して、定期的なボリューム・バックアップをスケジュールすることができます。 詳しくは、Backup for VPC についてを参照してください。

ボリュームのスナップショットを初めて取得する場合、すべてのボリュームの内容がコピーされます。 2 番目のスナップショットを取得すると、最後のスナップショットが取得された後に発生した変更のみがキャプチャーされます。 そのため、スナップショットのサイズは、地域ストレージリポジトリにアップロードされる内容に応じて、大きくなったり小さくなったりする。

スナップショットの作成は非同期です。 スナップショットは即時作成されますが、すべてのデータがリージョナルストレージリポジトリに転送されるまで保留状態のままとなります。

スナップショットの数は、連続するスナップショットが作成されるたびに増加します。 第一世代ボリュームのスナップショットは最大750枚まで、第二世代ボリュームのスナップショットは最大512枚まで取ることができます。 この制限内であれば、1時間ごとのスナップショットを30日間保存し、さらにスナップショットを追加することができます。 このクォータからスナップショットを削除すると、新しいスナップショット用の空き容量が確保されます。 第一世代ボリュームのスナップショットは10TBを超えることはできません。 10TBを超えるスナップショットは、第2世代ボリュームでサポートされています。

スナップショットから初期化されたブートボリュームを持つ仮想サーバーインスタンスを作成できます。 新規インスタンスのインスタンス・プロファイルが、スナップショットの作成に使用されたインスタンスと一致している必要はありません。 また、データボリュームを作成してインスタンスにアタッチする際に、データボリュームのスナップショットをインポートすることもできます。 これらのスナップショットのユーザー・タグを指定できます。

スナップショットからボリュームはいつでも作成できます。 このプロセスはボリュームのリストアと呼ばれ、インスタンスの作成時、インスタンスの変更時、またはスタンドアロン・ボリュームの作成時に実行できます。 詳しくは、スナップショットからのボリュームのリストアを参照してください。

スナップショットには、ソースの Block Storage for VPC ボリュームから独立したライフサイクルがあります。 元のボリュームを削除しても、スナップショットは持続します。 ただし、スナップショットの作成中は、インスタンスからボリュームを取り外さないでください。 スナップショットが stable になるまで待ってから切り離しを行う必要があります。そうしないと、ボリュームをインスタンスに再接続できません。

スナップショットはクラッシュ整合性があります。 何らかの理由で仮想サーバーが停止しても、スナップショットデータはディスク上に安全に保存されています。

スナップショットの料金は、保存期間が1か月未満の場合を除き、1か月あたりに保存されるGB単位の容量に基づいて計算されます。 スナップショットは元のボリュームに対してプロビジョンされた容量に基づくため、スナップショット容量は変化しません。

IBM Cloud® Identity and Access Management を使用すると、 アカウント内にリソースグループを設定し、スナップショットへのユーザーアクセスを提供することができます。 持っている IAM 役割によって、スナップショットの作成や管理ができるかどうかが決まります。 詳しくは、スナップショットを作成および管理するための IAM 役割を参照してください。

スナップショットを他のアカウントと共有し、他のアカウントにそのスナップショットでボリュームを作成させることができます。 これを行うには、スナップショット・リモート・アカウント復元ロールを使用して クロスアカウント認証 を設定し、スナップショットのCRNを他のアカウントと共有します。 スナップショット・リモート・アカウント復元ロールを持つもう一方のアカウントのユーザーは、CRNを使用して、コンソール、CLI、API、またはTerraformからボリュームを作成できます。

スナップショットを作成する前に、すべてのキャッシュデータがディスク上に存在していることを確認してください。特に、Windows および Linux® オペレーティングシステムを搭載したインスタンスのスナップショットを作成する場合は注意が必要です。 例えば、Linux オペレーティング・システムでは、sync コマンドを実行して、キャッシュされていたすべてのデータをただちに強制的にディスクに書き込みます。

特別なアクセス権限を持つお客様のために、専用ホストから作成したスナップショットを保管するためのデータ分離が提供されています。 データ分離のセキュリティーが強化されているため、保存中のデータは固有の鍵で暗号化され、データへのアクセスはプライベート・ファイアウォールによって保護されます。

高速リストア・スナップショット・クローン

スナップショット高速リストア機能を使用して、VPC リージョン内のゾーンにデータのクローンを作成し、保持します。 データは、ボリュームが作成された時点で完全に利用可能になります。これは、データが別のリージョンのストレージリポジトリではなく、すでにVPCリージョン内にあるためです。 対照的に、データが高速リストアスナップショットクローンからリストアされない場合、ボリュームデータは、ボリュームが時間の経過とともにインスタンスにアタッチされるときに、別のリージョナルストレージリポジトリからコピーされます。 高速リストア機能は、通常のスナップショットからリストアするよりも迅速に リカバリー時間目標災害復旧計画において、災害後にビジネスプロセスが復旧するまでの時間。 (RTO) を達成できます。

高速リストア機能は、コンソール、CLI、API、Terraformで有効にできます。 CLI、API、および Terraform では、応答に clones が表示されます。 UI では、高速リストア・スナップショットのクローンが高速リストア・スナップショットとして表示されますが、これらは同じです。

高速リストア機能の請求は、インスタンス時間に基づいて定額で設定されます。 この機能は、スナップショットのサイズに関係なく、有効になっているゾーンごとに追加の時間単価で請求されます。 高速リストア・クローンの保守は、通常のスナップショットを保持するよりもかなりコストがかかります。

詳しくは、 高速リストア機能を使用したボリュームのリストア を参照してください。

地域間スナップショット・コピー

あるリージョンから別のリージョンにスナップショットをコピーし、後でそのスナップショットを使用して新しいリージョンにボリュームをリストアすることができます。 この機能は、別のリージョンで仮想サーバー・インスタンスとデータ・ボリュームを開始する必要がある場合に、災害復旧シナリオで使用できます。 あるいは、リモート・コピーを使用して新しいリージョンにストレージ・ボリュームを作成し、VPC を拡張することもできます。

スナップショットのクロス・リージョン・コピーを作成することを選択した場合は、ターゲット・リージョンにコピーする単一のスナップショットを指定する必要があります。 スナップショットは通常通り作成され、別の地域ストレージリポジトリに保存される。 スナップショットが安定すると、ターゲット地域の地域ストレージリポジトリにスナップショットのコピーが作成される。

リモート領域のスナップショットコピーが安定している場合、親ボリュームや元のスナップショットから独立して使用および管理できます。

リモートリージョンでのコピーの作成には時間がかかる。 ボリュームの容量が大きいほど、リモートリージョンでのコピーが完了し安定するまでに時間がかかる。 例えば、リモート・リージョンにある3TBのボリュームのフル・スナップショットの作成には、 12.5 時間かかることがあります。

クロスリージョナルコピーを初めて作成する場合、そのスナップショットは親ボリュームのデータの完全コピーとなります。 その後のコピーは、インクリメンタルコピーでもフルコピーでもよい。 リモートコピーがインクリメンタルかどうかは、チェーンの直前のスナップショットに依存します。 直前のスナップショットがデスティネーション領域に存在する場合、コピーはインクリメンタルになる。 直前のスナップショットが存在しない場合、コピーは親ボリュームの完全なスナップショットでなければなりません。

ソース・スナップショットがお客様の鍵で暗号化されていない場合、コピーの暗号化はプロバイダー管理のままになります。

ソース・スナップショットがお客様管理の鍵によって保護されている場合、新規コピーの暗号化に使用するお客様管理の鍵を指定する必要があります。

親ボリュームの暗号化タイプまたは暗号化キーを変更した場合、次のリモートコピーは増分コピーではなく、親スナップショットの完全コピーでなければなりません。

各リージョンに存在できるスナップショットのコピーは 1 つのみです。 ローカル (ソース) 領域にコピーを作成することはできません。

地域間コピーを作成すると、請求に影響します。 ターゲット・リージョンでのデータ転送とストレージ使用量に対して個別に課金されます。

スナップショットを作成したり、スナップショットの詳細をリストアップしたりする際には、システムは、お客様が指定したスナップショットの直接コピーのみをリストアップします。 コピーのコピーを作成した場合、元のスナップショットを照会しても2番目のコピーは返されません。

スナップショット整合性グループ

スナップショット整合性グループには、同じ仮想サーバー・インスタンスに接続されている複数の Block Storage ・ボリュームのスナップショットが含まれます。 ブート・ボリュームを包含または除外することができます。 インスタンス・ストレージは含まれません。

整合性グループのスナップショットを要求すると、システムは、スナップショットを取る前にすべての書き込み操作が完了していることを確認します。 その後、システムは、仮想サーバー・インスタンスに同時に接続されているすべてのタグ付き Block Storage ・ボリュームのスナップショットを生成します。 接続されているボリュームの数とサイズ、およびキャプチャーされるデータの量によっては、わずかな入出力の一時停止が発生することがあります。 この入出力一時停止の範囲は、数ミリ秒から 4 秒までです。

整合性グループには、64 文字を超えることができない固有の名前を付ける必要があります。 指定しない場合、システムが自動的に名前を生成します。 一貫性グループ内のスナップショットは、グループ名の最初の16文字と、自動生成された3~4文字を組み合わせて命名されるため、その名前も一意になります。 後で、必要に応じてメンバー・スナップショットの名前を変更できます。

スナップショット整合性グループには独自のライフサイクルがあり、メンバー・スナップショットへの参照が保持されます。 そのため、メンバー・スナップショットが削除または名前変更されると、整合性グループも更新されます。

グループ内のスナップショットは疎結合されています。 他のスナップショットを管理するのと同じ方法で、整合性グループ内のスナップショットを管理できます。 必要に応じて、整合性グループから個々のスナップショットを削除できます。 整合性グループの削除を決定した後、個々のスナップショットを保持することができます。

スナップショット整合性グループのメンバーを使用して、ボリュームを個別にリストアすることができます。 インスタンスをスナップショット整合性グループ ID から直接リストアすることはサポートされていません。 異なるストレージ世代に属する複数のボリュームを、仮想サーバーインスタンスのプロビジョニングと併せて単一の操作で復元することは推奨されません。 詳細については、「 ストレージサービスの既知の問題 」を参照してください。

スナップショット・セットのメンバーの地域間コピーを個別に作成することはできますが、別のゾーンまたは地域に整合性グループのコピーを作成することはできません。

一貫性グループには、異なる世代のスナップショットを含めることはできません。

スナップショットの機能

スナップショットを取得する間、ボリュームに対する仮想サーバー・インスタンスの読み取り操作と書き込み操作が中断されることはありません。 ボリューム・データが取得された後、スナップショットが作成されるまで、スナップショットはpendingの状態になります。 スナップショットが正常に作成されてstable状態になると、ボリュームの削除やサイズ変更、切り離しなどのボリューム管理アクティビティーを再開できます。 さらにスナップショットを取得することもできます。

要求されたスナップショット用に取得されたボリュームデータは、ハイパーバイザーからリージョナル・ストレージ・リポジトリへ転送される際に暗号化されます。 初期スナップショットは、 Block Storage for VPC ボリュームの完全なコピーです。 後続のスナップショットでは、最後のスナップショット以降に変更された内容のみがコピーされます。

コンソール、CLI、API、または Terraform で、実行中の仮想サーバーインスタンスからブートボリュームまたはデータボリュームを リストア できます。 スナップショットからデータを復元すると、完全にプロビジョニングされた新しいボリュームが作成されます。 スナップショットの親ボリュームのデータを上書きしません。

ブートボリュームのスナップショットから復元すると、新しいブートボリュームが作成され、それを使用して別のインスタンスをプロビジョニングすることができます。 データボリュームのスナップショットから復元すると、インスタンスにアタッチできるセカンダリボリュームが作成されます。または、スタンドアロン(アタッチされていない)データボリュームとして保持することもできます。

整合性グループ内のスナップショットからボリュームをリストアするときに、一部またはすべてのスナップショットを選択できます。

ボリュームデータの復元は、ボリュームが作成されると直ちに開始されますが、すべてのデータがリージョナルストレージリポジトリからコピーされ、ボリュームが完全に復元されるまで、パフォーマンスは低下します。

制限

第2世代のブロック・ストレージ・スナップショットには、以下の制限が適用されます:

  • 第二世代のブロックストレージを使用する場合、最大512スナップショットを取ることができます。
  • 劣化状態 のボリュームのスナップショットを取得することはできません。
  • ソース (ローカル) リージョンにスナップショットのコピーを作成することはできません。
  • 作成したスナップショットは、どれでも削除できます。 ただし、スナップショットは「 stable 」または「 pending 」の状態にあり、ボリュームの復元が実行中であってはなりません。
  • Block Storage for VPC のボリュームとそのすべてのスナップショットを削除できます。 すべてのスナップショットが、stable状態またはpending状態でなければなりません。 ボリュームをアクティブにリストアしているスナップショットがあってはなりません。

第一世代のブロック・ストレージ・スナップショットには、以下の制限が適用されます:

  • 第一世代のブロック・ストレージを使用する場合、リージョン内の1ボリュームあたり最大750スナップショットを取ることができます。
  • 劣化状態 のボリュームのスナップショットを取得することはできません。
  • 第1世代ボリュームは、そのデータのスナップショットを取得するために、実行中の仮想サーバーインスタンスにアタッチされている必要があります。
  • ソース (ローカル) リージョンにスナップショットのコピーを作成することはできません。
  • 他のリージョンにスナップショットのコピーを作成する場合、各リージョンに存在できるコピーは 1 つだけです。
  • 10TBを超えるGeneration 1ボリュームのスナップショットの取得はサポートされていません。
  • 作成したスナップショットは、どれでも削除できます。 ただし、スナップショットは「 stable 」または「 pending 」の状態にあり、ボリュームの復元が実行中であってはなりません。
  • Block Storage for VPC のボリュームとそのすべてのスナップショットを削除できます。 すべてのスナップショットが、stable状態またはpending状態でなければなりません。 ボリュームをアクティブにリストアしているスナップショットがあってはなりません。
  • インスタンスをスナップショット整合性グループ ID から直接リストアすることはサポートされていません。

データの保護

IBM Cloud® Virtual Private Cloud をご利用の際、データを安全に管理するためのセキュリティ専用のツールや機能が用意されています。 以下のトピックでは、ブロックストレージのスナップショットで利用可能なアクセス制御、データ暗号化、構成管理、および監査オプションについて解説します。

単一および整合性グループのスナップショットを操作するためのIAMロール

スナップショットには、役割ベースのアクセス制御のために IAM 権限が必要です。 自分のアカウントでスナップショットを作成および管理するには、適切なプラットフォームの役割が必要です。また、別のアカウントからデータを復元するためにスナップショットを使用するには、適切なサービスの役割が必要です。 詳細については、 Block Storage Snapshots for VPCのIAMロールとアクションを 参照してください。

スナップショットを他のアカウントと共有する場合、スナップショットへのアクセスを許可するために、Snapshot Remote Account Restorer ロールを他のアカウントのユーザーに割り当てる必要があります。 また、コンソールでリモートスナップショットのCRNを使用してボリュームを作成するにはアカウントにその リモートアカウントスナップショットからボリュームを復元する 役割が割り当てられている必要があります。

スナップショットを他のアカウントと共有する場合、スナップショットへのアクセスを許可するために、他のアカウントのユーザーに SnapshotRemoteAccountRestorer ロールを割り当てる必要があります。 また、 アカウントに、CLIからリモートスナップショットのCRNを使用してボリュームを作成する権限 VolumeRemoteAccountSnapshotRestorer を持つロールが必要です。

スナップショットを他のアカウントと共有する場合、スナップショットへのアクセスを許可するために、他のアカウントのユーザーに SnapshotRemoteAccountRestorer ロールを割り当てる必要があります。 また、 アカウントに、APIを使用してリモートスナップショットのCRNを持つボリュームを作成する役割 VolumeRemoteAccountSnapshotRestorer が割り当てられている必要があります。

スナップショットを他のアカウントと共有する場合、スナップショットへのアクセスを許可するために、他のアカウントのユーザーに SnapshotRemoteAccountRestorer ロールを割り当てる必要があります。 また、Terraformを使用してリモートスナップショットのCRNを持つボリュームを作成するにはアカウント内でその VolumeRemoteAccountSnapshotRestorer 役割を付与されている必要があります。

詳細については、 「VPC の Block Storage スナップショットの IAM ロールとアクション」「VPC のマルチボリューム スナップショットの IAM ロールとアクション」、 および Block Storage for VPC の IAM ロールとアクション」を 参照してください。

詳しくは、アクセス権限を割り当てるためのベスト・プラクティスを参照してください。 アカウントへのユーザーの招待や Cloud IAM アクセス権限の割り当てを含め、IAM プロセス全体については、IAM 入門チュートリアルを参照してください。

静止時と輸送時の暗号化

スナップショットには、親ボリューム(顧客管理またはプロバイダー管理)と同じ暗号化タイプと暗号化キーがあります。 スナップショットは、地域のストレージリポジトリに保存され、そこから取り出される。 データは転送中に暗号化され、元のボリュームと同じリージョンに保管されます。

Hyper Protect Crypto Services は非推奨となっています。 お客様は、2027年3月20日まで既存のインスタンスをご利用いただけます。 詳細については、「 IBM Cloud Hyper Protect Crypto Services の非推奨化 」を参照してください。 継続的な保護のため、既存の暗号化キーを専用 Key Protect インスタンスに移行することをご検討ください。 詳細については、「 移行ガイド 」をご覧ください。

アクティビティー・トラッキング・イベント

IBM Cloud® Activity Tracker Event Routing、監査イベントのルーティング方法を設定できます。 監査イベントは、セキュリティ運用にとって極めて重要なデータであり、コンプライアンス要件を満たすための重要な要素です。 このようなイベントは、スナップショットを作成、変更、または削除したときにトリガーされます。 アクティビティ追跡イベントの詳細については、 スナップショットイベントを 参照してください。

JSON形式のアクティビティ追跡スナップショット・イベントの例

以下の例は、スナップショットの作成に成功した後に生成された、アクティビティ追跡イベントのJSON出力です。 応答メッセージに、スナップショットに付けた名前が表示され、理由コード Created が表示されます。

{
    "eventTime": "2022-02-22T17:59:07.57+0000",
    "action": "is.snapshot.create",
    "outcome": "success",
    "message": "Block Storage Snapshots for VPC: create my-snapshot-1",
    "initiator": {
        "id": "ABCid-45B7R6TVH4",
        "typeURI": "service/security/account/user",
        "name": "myname@mycompany.com",
        "host": {
            "address": "192.0.2.0"
        },
        "credential": {
            "type": "token"
        }
    },
    "target": {
        "id": "crn:v1::public:is::a/a1234567::snapshot:09ca2bab-c5c4-4c06-b034-dda9bbeb859c",
        "typeURI": "is.snapshot/snapshot",
        "name": "my-snapshot-1"
    },
    "observer": {
        "name": "ActivityTracker"
    },
    "reason": {
        "reasonCode": 201,
        "reasonType": "Created"
    },
    "severity": "normal",
    "requestData": {
        "generation": "2"
    },
    "responseData": {
        "responseURI": "/v1/snapshots/09ca2bab-c5c4-4c06-b034-dda9bbeb859c"
    },
    "dataEvent": false,
    "logSourceCRN": "crn:v1::public:is::a/a1234567::snapshot:09ca2bab-c5c4-4c06-b034-dda9bbeb859c",
    "saveServiceCopy": true
}

以下の例は、ID を使用してスナップショットの詳細をリストしたときに生成されたイベントを示しています。

{
    "eventTime": "2022-01-16T17:55:25.60+0000",
    "action": "is.snapshot.read",
    "outcome": "success",
    "message": "Block Storage Snapshots for VPC: read my-snapshot-2",
    "initiator": {
        "id": "IBMid-50A7R6DVH5",
        "typeURI": "service/security/account/user",
        "name": "myuser@mycompany.com",
        "host": {
            "address": "192.0.2.0"
        },
        "credential": {
            "type": "token"
        }
    },
    "target": {
        "id": "crn:v1::public:is::a/a1234567::snapshot:4e3252d7-cf32-4586-93e9-f7d9a497bed4",
        "typeURI": "is.snapshot/snapshot",
        "name": "my-snapshot-2"
    },
    "observer": {
        "name": "ActivityTracker"
    },
    "reason": {
        "reasonCode": 200,
        "reasonType": "OK"
    },
    "severity": "normal",
    "requestData": {
        "generation": "2"
    },
    "responseData": {
        "responseURI": "/v1/snapshots/4e3252d7-cf32-4586-93e9-f7d9a497bed4"
    },
    "dataEvent": false,
    "logSourceCRN": "crn:v1::public:is::a/a1234567::snapshot:4e3252d7-cf32-4586-93e9-f7d9a497bed4",
    "saveServiceCopy": true
}

Block Storage for VPC スナップショットのタグ

ユーザー・タグ および アクセス管理タグ を Block Storage for VPC ボリュームのスナップショットに適用して、VPC 全体での制御および編成を向上させることができます。

スナップショットのユーザー・タグ

ユーザータグは、Cloud Resource Name(CRN)識別子によって一意に識別されます。 ユーザータグを作成する際は、ご自身のアカウント内で一意の名前を指定します。 ユーザータグは、ラベル形式またはキー・バリュー形式で定義できます。 ユーザー・タグを作成することも、既存のタグをスナップショットに追加することもできます。

UICLIAPITerraformを使用して、ユーザー・タグをいつでも作成、表示、および管理したり、削除したりすることができます。

Block Storage for VPC スナップショットのアクセス管理タグ

アクセス管理タグを使用して、柔軟なリソース・グループを作成することでアクセス制御を編成できます。これにより、 Cloud Identity and Access Management (IAM) ポリシーを更新することなく、ストレージ・リソースを拡張できます。 アクセス管理タグは、IAM で作成することも、グローバル検索およびタグ付け API を使用して作成してから、 新規または既存のスナップショットに追加 することもできます。

アカウントのタグの管理について詳しくは、タグの処理を参照してください。

次のステップ

作業を始める前に 、「 Block Storage for VPC スナップショットの計画 」トピックをご覧ください。

スナップショットは、UI、CLI、API、および Terraform を使用して作成および管理できます。

  • UIを使用するには、 コンソール IBM Cloud にログインしてください。
  • CLI を使用するには、必要な CLI プラグインをダウンロードしてインストールしてください。 詳細については、 CLIリファレンス を参照してください。
  • API を使用するには、 VPC API を設定してください。
  • Terraform を使用するには、Terraform CLIをダウンロードし、Provider IBM Cloud プラグインを設定してください。 詳細については、 Terraform の入門ガイドを 参照してください。

スナップショットの作成と管理、およびスナップショットからのボリュームのリストアについて詳しくは、以下のトピックを参照してください。

  • スナップショットを作成します。
  • スナップショットを表示および管理します。
  • スナップショットからボリュームをリストアします。

整合性グループの作成および管理について詳しくは、以下のトピックを参照してください。