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

スナップショット一貫性グループを作成して、仮想サーバーインスタンスにアタッチされている複数のボリュームの特定時点のコピーを取得します。 必要に応じて、起動ボリュームを含めるか除外してください。

コンソール、CLI、API、Terraformで一貫性グループを作成できます。

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

開始する前に、以下の情報を収集してください。

  • 整合性グループの固有の名前。 名前は64文字以内にしてください。 指定しない場合、システムが自動的に名前を生成します。 (一貫性グループ内のスナップショットは、グループ名の最初の16文字と、自動生成された3~4文字を組み合わせて命名されるため、その名前も一意になります。)
  • ソース・ボリュームの ID。
  • リソース・グループ ID (オプション)。 ただし、スナップショットの作成後は、リソースグループを変更することはできません。
  • スナップショットにアタッチするすべてのタグ。

異なる世代のスナップショットを含む一貫性グループの作成はサポートされていません。 第1世代のボリュームを「 sdp 」プロファイル に移行することを 検討してください。 sdp プロファイルは、第1世代のプロファイルよりも優れたコストパフォーマンスと柔軟性を提供します。 詳しくは、Block Storage for VPC プロファイルを参照してください。

第1世代のボリュームを、許可リストに登録された「 sdp 」プロファイルへ 移行することを 検討してください。 sdp プロファイルは、第1世代のプロファイルよりも優れたコストパフォーマンスと柔軟性を提供します。 詳しくは、Block Storage for VPC プロファイルを参照してください。

コンソールでの一貫性グループのスナップショットの作成

コンソールで、実行中の仮想サーバー・インスタンスに接続されている Block Storage for VPC ボリュームの整合性グループ・スナップショットを作成できます。

  1. ナビゲーションメニューアイコン メニューアイコン > インフラストラクチャ VPCアイコン > ストレージ >Block Storage をクリックします。
  2. 最初は空であった整合性グループのリストから、 「作成」 をクリックします。
  3. スナップショット・グループを定義するために必要な情報を入力し、スナップショット整合性グループに含めるボリュームを持つ仮想サーバー・インスタンスを選択します。
スナップショット作成の選択
フィールド
ロケーション このスナップショット・セットの地域と地域を指定します。
スナップショットの種類 複数のボリュームを選択します。
仮想サーバー・インスタンス リストから、サーバー・インスタンスを選択します。
整合性グループ名 一貫性グループに一意の名前を指定してください。 名前は64文字以内にしてください。 この欄を空欄のままにすると、システムが自動的に名前を生成します。 一貫性グループ内のスナップショットには、グループ名の最初の16文字と、自動生成された3~4文字を組み合わせて名前が付けられます。
リソース・グループ スナップショットのリソース・グループを選択するか、デフォルトを使用します。 スナップショットの作成後にリソース・グループを変更することはできません。
タグ このリソースを識別するユーザー・タグを指定します。
アクセス管理タグ このリソースの アクセス管理タグ を指定します。
Volumes グループに組み込みたいボリュームをリストから選択します。
  1. 「作成」 をクリックします。 開始した画面が表示されます。 スナップショットと整合性グループが作成されている間、および準備ができているときに、メッセージが表示されます。 スナップショットおよび整合性グループは、「VPC」ページの Block Storage スナップショットのそれぞれのタブに表示されます。 詳細については、 コンソールでスナップショットの詳細を表示するを 参照してください。

CLI から一貫性グループのスナップショットを作成する

CLI を使用する前に、IBM Cloud CLI および VPC CLI プラグインをインストールする必要があります。 詳しくは、CLI の前提条件を参照してください。

  1. IBM Cloud® にログインしてください。

    ibmcloud login --sso -a cloud.ibm.com
    

    このコマンドを実行すると、URL が返され、パスコードの入力を求めるプロンプトが表示されます。 ブラウザーでその URL にアクセスしてログインします。 成功すると、ワンタイム・パスコードが表示されます。 そのパスコードをコピーし、プロンプトに応答として貼り付けます。 認証が成功すると、アカウントの選択を求めるプロンプトが表示されます。 複数のアカウントアクセスできる場合は、ログインしたいアカウントを選択してください。 残りのプロンプトにすべて応答して、ログインを完了します。

  2. スナップショット整合性グループでキャプチャーするインスタンスに接続されているボリュームをリストします。 出力内のボリューム ID をメモします。

    ibmcloud is instance INSTANCE
    
  3. snapshot-consistency-group-create コマンドを使用して、整合性グループを作成します。 整合性グループの一部になる各スナップショットの新しいスナップショットの名前とソース・ボリュームの ID を指定します。

    ソース・ボリュームに user_managed 暗号化がある場合は、 --encryption_key を指定する必要があります。 それ以外の場合は、 --encryption_key プロパティーを指定してはなりません。

    ibmcloud is snapshot-consistency-group-create --snapshots '[{
         "name": "snapshot-no-1",
         "source_volume": {"id": "r106-bf595773-9922-4dd4-9a3c-998b10022e0c"},
         "user_tags": ["env:dev", "env:test"]
    }, {
         "name": "snapshot-no-2",
         "source_volume": {"id": "r106-aeb2bbe6-1d3c-4186-82ce-abddb03e243e"},
         "user_tags": ["env:dev", "env:test"]
    }]' --delete-snapshot-on-delete false --name multiple-snapshots-consistency-group-1
    Creating snapshot consistency group under account Test Account as user test.user@ibm.com...
    ID                          r006-4625d29b-3ac9-4bee-aca8-9366c4fd0c44
    Name                        multiple-snapshots-consistency-group-1
    CRN                         crn:v1:bluemix:public:is:us-south:a/a1234567::snapshot-consistency-group:r006-4625d29b-3ac9-4bee-aca8-9366c4fd0c44
    Href                        https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-4625d29b-3ac9-4bee-aca8-9366c4fd0c44
    Status                      pending
    Backup policy job           -
    Backup policy plan          -
    Delete snapshot on delete   false
    Source Snapshot             -
    Resource group              ID                                 Name
                                11caaa983d9c4beb82690daab08717e9   Default
    Created                     2023-12-05T17:32:53+05:30
    Service Tags                -
    

使用可能なコマンド・オプションについて詳しくは、「 ibmcloud is snapshot-consistency-group-create」を参照してください。

API を使用した一貫性グループのスナップショットの作成

開始する前に、スナップショット整合性グループに取り込む仮想サーバー・インスタンスの インスタンスの詳細を取得 します。 volume_attachments および boot_volume_attachment の CRN または ID をメモします。

以下のサンプル要求に示すように、 VPC API/snapshot_consistency_groups メソッドを呼び出して、整合性グループをプログラマチックに作成できます。

curl -X POST \
"$vpc_api_endpoint/v1/snapshot_consistency_groups?version=2023-12-05&generation=2"\
 -H "Authorization: Bearer $iam_token" \
 -d '{
   "delete_snapshots_on_delete":true,
   "name": "my-snapshot-consistency-group",
   "resource_group":{"id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054"},
   "snapshots": {
    {
     "name": "my-snapshot-1",
     "source_volume": {"crn": "crn:[...]"},
     "encryption_key"; "crn:[...]"
    },
    {
     "name": "my-snapshot-2",
     "source_volume": {"crn": "crn:[...]"},
     "encryption_key"; "crn:[...]"
    },
   }"

ソース・ボリュームに user_managed 暗号化がある場合は、 encryption_key を指定する必要があります。 それ以外の場合は、 encryption_key プロパティーを指定してはなりません。

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

{
  "created_at": "2023-12-05T20:18:18Z",
  "crn": "crn:[...]",
  "delete_snapshots_on_delete": true,
  "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshot_consistency_groups/r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
  "id": "r006-f6bfa329-0e36-433f-a3bb-0df632e79263",
  "lifecycle_state": "pending",
  "name": "my-snapshot-consistency-group",
  "resource_group": {
    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/678523bcbe2b4eada913d32640909956",
    "id": "2d1bb5a8-40a8-447a-acf7-0eadc8aeb054",
    "name": "Default"
  },
  "resource_type": "snapshot_consistency_group",
  "service_tags": [],
  "snapshots": [
    {
      "crn": "crn:[...]",
      "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
      "id": "r006-076191ba-49c2-4763-94fd-c70de73ee2e6",
      "name": "my-snapshot-1",
      "resource_type": "snapshot"
    },
    {
      "crn": "crn:[...]",
      "href": "https://us-south.iaas.cloud.ibm.com/v1/snapshots/r006-07e34f34-49c2-4763-94fd-c70de73ae342",
      "id": "r006-07e34f34-49c2-4763-94fd-c70de73ae342",
      "name": "my-snapshot-2",
      "resource_type": "snapshot"
    }
  ]
}

Terraform を使用した整合性グループ・スナップショットの作成

Terraformを使うには、Terraform CLIをダウンロードし、 IBM Cloud® Providerプラグインを設定する。 詳しくは、 Terraform の概要 を参照してください。

VPC インフラストラクチャー・サービスは、デフォルトで us-south をターゲットとする特定のリージョン・エンドポイントを使用します。 VPC が別のリージョンに作成されている場合は、 provider.tf ファイル内のプロバイダー・ブロックで適切なリージョンをターゲットにしてください。

デフォルトの us-south 以外の領域をターゲットにする例を以下に示します。

provider "ibm" {
   region = "eu-de"
}
  1. 仮想サーバー・インスタンスの詳細を読み取り専用データ・ソースとしてインポートします。 データ・ソースが作成されたら、 boot_volume および volume_attachments の属性参照にアクセスできます。
data "ibm_is_instance" "example" {
  name        = ibm_is_instance.example.name
  private_key = file("~/.ssh/id_rsa")
  passphrase  = ""
}
  1. スナップショットの整合性グループを作成するには、 ibm_is_snapshot_consistency_group リソースを使用します。 以下の例では、2 つのボリュームの整合性グループを作成します。
resource "ibm_is_snapshot_consistency_group" "is_snapshot_consistency_group" {
  name = "my-data-consistency-group"
  snapshots {
    [
      name = "snapshot-1"
      source_volume = {id = "r016-0a74c6af-f9f5-4671-9025-c4efd41ac6da"}
      user_tags = ["my-tag"]
    ].
    [
      name = "snapshot-2"
      source_volume = {id = "r016-0a74c6af-f9f5-4671-9025-c4efd41ac6db"}
      user_tags = ["my-tag"]
    ]
  }
}

引数および属性について詳しくは、 ibm_is_snapshot_consistency_groupを参照してください。