Block Storage for VPC スナップショットの遠隔リージョンコピーの作成と管理

スナップショットのリージョン間コピーを作成し、災害復旧やデータ移行の目的で、異なるリージョンに保存することができます。 リモートリージョンのコピーは、ソースのスナップショットとは独立しており、他のスナップショットと同様に管理することができます。

コンソールでのリモートコピーの作成

「VPC用スナップショット」リストまたはスナップショットの詳細ページから、スナップショットのリージョン間コピーを作成するには、以下の手順に従ってください。

  1. コンソールで、 ナビゲーションメニュー のアイコン > [Infrastructure]VPC アイコン > [Storage] > [ Block Storage ] スナップショットをクリックします。

  2. スナップショットのリストから、別のリージョンに複製したいスナップショットを探します。 スナップショットが「Stable」ステータスになっていることを確認してください。

  3. [Actions]メニューの[アクションアイコン ] をクリックし、[ スナップショットをコピー] を選択します。

  4. コピーを作成したい地域を選択してください。

    1地域につき1部のみお持ちいただけます。 コピー可能なリージョンがない場合、「スナップショットのコピー」オプションは無効になります。

  5. 「作成」 をクリックします。

あるいは、スナップショットの名前をクリックして、その詳細を表示することもできます。 「 アクション 」メニューから「 スナップショットのコピー 」オプションを選択するか、リモートコピーのカードまでスクロールして「 コピーを作成 」をクリックします。 同じプロビジョニング画面が開き、そこでリージョンの選択を行うことができます。

コンソールでのリモートリージョンのコピーの削除

リモート領域にあるスナップショットコピーは、親スナップショットや親ボリュームとは独立しています。 「VPC用スナップショット」リストを使用すれば、いつでもそれらを削除できます。

コンソールでリモートリージョンのコピーを削除するには、以下の手順に従ってください。

  1. IBM Cloud コンソール で、 メニュー メニューアイコン > インフラ VPCアイコン > ストレージ > スナップショット に移動します。
  2. 削除したいスナップショットの行にある「 アクション 」アイコン( アクションアイコン )をクリックします。
  3. **「削除」**を選択します。
  4. 削除内容を確認して、**「削除」**をクリックします。

CLI からリモートリージョンのコピーを作成する

snapshot-create コマンドに --source-snapshot-crn オプションとソーススナップショットのCRNを指定することで、スナップショットのリージョン間コピーを作成できます。これにより、ソースリージョンのスナップショットのCRNを使用して、ターゲットリージョンにスナップショットが作成されます。 暗号化キーのCRNも指定されている場合、作成されるスナップショットでは、 お客様暗号化キー お客様使用されます。 コピーを正常に作成するには、ソースのスナップショットが「Stable」ステータスである必要があります。

ibmcloud is snapshot-create --name my-cli-snapshot-crc --source-snapshot-crn crn:v1:bluemix:public:is:us-south:a/a1234567::snapshot:r006-b9590a48-63a3-445e-b819-3f2c0b82daf8
Creating snapshot my-cli-snapshot-crc under account Test Account as user test.user@ibm.com...
ID                     r142-bd4532c0-e73c-44f9-a017-89e5368c521a
Name                   my-cli-snapshot-crc
CRN                    crn:v1:bluemix:public:is:us-east:a/a1234567::snapshot:r142-bd4532c0-e73c-44f9-a017-89e5368c521a
Status                 pending
Clones                 Zone   Available   Created
Source volume          ID                                          Name                   Remote Region
                       r006-be21061a-4dc6-4c9f-b17d-421838fde399   -remote-421838fde399   us-south
Snapshot Copies        ID   Name   Remote Region   CRN   Resource type
Bootable               true
Encryption             provider_managed
Encryption key         -
Source Snapshot        ID                                          Name                   Remote Region   CRN                                                                                                                        Resource type
                       r006-b9590a48-63a3-445e-b819-3f2c0b82daf8   cli-snap-crc-test-sn   us-south        crn:v1:bluemix:public:is:us-south:a/a1234567::snapshot:r006-b9590a48-63a3-445e-b819-3f2c0b82daf8   snapshot
Minimum capacity(GB)   100
Size(GB)               1
Source Image           ID                                          Name                   Remote Region
                       r006-24d856e2-6aec-41c2-8f36-5a8a3766f0d6   -remote-5a8a3766f0d6   us-south
Operating system       Name             Vendor   Version                 Family   Architecture   Display name
                       centos-7-amd64   CentOS   7.x - Minimal Install   CentOS   amd64          CentOS 7.x - Minimal Install (amd64)
Resource group         ID                                 Name
                       cdc21b72d4e647b195de988b175e3d82   Default
Created                2023-04-24T18:54:29+05:30
Captured at            2023-04-24T09:48:03+05:30
Tags                   -
Service Tags           -

利用可能なコマンドオプションの詳細については、以下を参照してください。 ibmcloud is snapshot-create

CLI からリモートリージョンのコピーを削除する

ibmcloud is snapshot-delete コマンドにスナップショットIDを指定することで、スナップショットのリージョン間コピーを削除できます。

ibmcloud is snapshot-delete r142-bd4532c0-e73c-44f9-a017-89e5368c521a
This will delete snapshot r142-bd4532c0-e73c-44f9-a017-89e5368c521a and cannot be undone. Continue [y/N] ?> y
Deleting snapshot r142-bd4532c0-e73c-44f9-a017-89e5368c521a under account Test Account as user test.user@ibm.com...
    OK
Snapshot r142-bd4532c0-e73c-44f9-a017-89e5368c521a is deleted.

利用可能なコマンドオプションの詳細については、以下を参照してください ibmcloud is snapshot-delete を参照してください。

API を使用してリモート領域のコピーを作成する

対象リージョンでAPI呼び出しを行うことで、スナップショットのリージョン間コピーを作成できます。 ターゲットリージョンにコピーを作成するには、ソーススナップショットのCRNを指定してください。 暗号化キーのCRNも指定されている場合、作成されるスナップショットでは、 お客様暗号化キー お客様使用されます。 コピーを正常に作成するには、ソースのスナップショットが「Stable」ステータスである必要があります。 以下の例をご覧ください。ここでは、対象リージョンが us-east で、元のスナップショットが us-south にあります。

POST https://us-east.iaas.cloud.ibm.com/v1/snapshots
{
     "name": "my-snapshot",    // required
     "source_snapshot": {      // required
      	"crn": "crn:[...]"
     },
     "resource_group": {       // optional
       "id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054"
     },
     "encryption_key": "crn:[...]"     // optional
}

正常な応答は、次の例のようになります。

{
  "created_at": "2023-05-18T20:18:18Z",
  "deletable": false,
  "encryption": "user_managed",
  "encryption_key": {
    "crn": "crn:[...]"
  },
  "href": "https://us-east.iaas.cloud.ibm.com/v1/snapshots/r139-f6bfa329-0e36-433f-a3bb-0df632e79263",
  "id": "r139-f6bfa329-0e36-433f-a3bb-0df632e79263",
  "lifecycle_state": "pending",
  "minimum_capacity": 100,
  "name": "my-snapshot",
  "operating_system": {
    "architecture": "amd64",
    "dedicated_host_only": false,
    "display_name": "Ubuntu Linux 20.04 LTS Focal Fossa Minimal Install (amd64)",
    "family": "Ubuntu Linux",
    "gpu_supported": [],
    "href": "https://us-south.iaas.cloud.ibm.com/v1/operating_systems/ubuntu-20-04-amd64",
    "name": "ubuntu-20-04-amd64",
    "vendor": "Canonical",
    "version": "20.04 LTS Focal Fossa Minimal Install"
  },
  "resource_group": {
    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/678523bcbe2b4eada913d32640909956",
    "id": "678523bcbe2b4eada913d32640909956",
    "name": "Default"
  },
  "resource_type": "snapshot",
  "service_tags": [],
  "size": 1,
  "source_image": {
    "crn": "crn:[...]",
    "remote": {
    	"region": {
    	   "name": "us-south",
    	   "hfef": "https://us-east.iaas.cloud.ibm.com/v1/regions/us-south"
    	}
    },
    "href": "https://us-south.iaas.cloud.ibm.com/v1/images/r006-32045dc2-b463-4cda-b424-bc3dcf51dfbb",
    "id": "r006-32045dc2-b463-4cda-b424-bc3dcf51dfbb",
    "name": "ibm-ubuntu-20-04-minimal-amd64-1"
  },
  "source_snapshot": {
    "crn": "crn:[...]",
    "remote": {
    	"region": {
    	   "name": "us-south",
    	   "hfef": "https://us-east.iaas.cloud.ibm.com/v1/regions/us-south"
    	}
    },
    "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-511a798c-5816-4082-8ecb-554a440f83de",
    "id": "r006-511a798c-5816-4082-8ecb-554a440f83de",
    "name": "my-snapshot-data"
  },
  "source_volume": {
    "crn": "crn:[...]",
    "remote": {
    	"region": {
    	   "name": "us-south",
    	   "hfef": "https://us-east.iaas.cloud.ibm.com/v1/regions/us-south"
    	}
    },
    "href": "https://us-south.iaas.cloud.ibm.com/v1/volumes/r006-411a798c-5816-4082-8ecb-554a440f83de",
    "id": "r006-411a798c-5816-4082-8ecb-554a440f83de",
    "name": "my-instance-data"
  },
  "user_tags": []
}

API を使用してスナップショットの遠隔リージョンのコピーを削除する

リモートコピーが配置されているターゲット領域に、 DELETE /snapshots/{id} を作成します。

curl -X DELETE https://us-east.iaas.cloud.ibm.com/v1/snapshots/{id}

Terraform を使用した地域横断的なコピーの作成

リモートリージョンにスナップショットのコピーを作成するには、 ibm_is_snapshot リソースを使用します。 コピーを正常に作成するには、ソースのスナップショットが「Stable」ステータスである必要があります。 暗号化キーのCRNも指定されている場合、作成されるスナップショットでは、 お客様暗号化キー お客様使用されます。 次の例では、ソースのスナップショットの ID を使用して、ターゲット領域にコピーを作成します。 そのコピーは、そのCRNで指定された暗号化キーによって暗号化されます。

resource "ibm_is_snapshot" "snapshot" {
  name 		        = "my-cross-regional-snapshot"
  source_snapshot = "r138-4463eb2c-4913-43b1-b9bf-62a94f74c146"
  encryption_key  = "crn:bluemix:public:kms:us-south:a/df0564dd126042ebb03e0224728ce939:4957299d-0ba0-487f-a1a0-c724a729b8b4:key:0cb88b98-9261-4d07-8329-8f594b6641b5"
}

引数や属性に関する詳細については、 ibm_is_snapshot を参照してください。

Terraform を使用したリモートリージョンのコピーの削除

terraform destroy コマンドを使用すると、スナップショットのリージョン間コピーなどのリモートオブジェクトを簡単に削除できます。 次の例は、スナップショットを削除するための構文を示しています。 ibm_is_snapshot.example.id の部分を、スナップショットの実際の ID に置き換えてください。

terraform destroy --target ibm_is_snapshot.example.id

詳細については、「 terraform destroy 」を参照してください。

次のステップ