File Storage for VPC スナップショットの管理

コンソール、CLI、API、またはTerraformを使用して、 File Storage for VPC のスナップショットを管理します。 スナップショットの名前を変更したり、ユーザータグを更新したり、スナップショットを削除して空き容量を確保したりすることができます。

レプリカ・シェアではスナップショットを作成することはできませんが、ゾーン・オリジン・シェアのスナップショットは、次回の定期同期時にソースからレプリカへコピーされます。 これらのレプリカスナップショットはファイルサービスによって作成される。 オリジナルのスナップショットのタグや名前は引き継がれない。 しかしながら、それらはソーススナップショットと同じフィンガープリント値を持っています。 これらのスナップショットはレプリカ共有から手動で削除することはできませんが、ソーススナップショットがソース共有上で削除されると、次回のレプリケーション同期時にレプリカ共有から削除されます。

コンソールでスナップショットの名前を変更する

コンソールでスナップショットの名前を変更するには、以下の手順に従ってください。

  1. スナップショットのリストに移動します。 IBM Cloud コンソール で、 ナビゲーションメニュー アイコン メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有 をクリックする。
  2. ファイル共有は、特定の地域についてリストされている。 別の地域のリソースを見たい場合は、矢印をクリックしてリストを展開し、別の地域を選択してください。 デフォルトでは、最新の共有がリストの一番上に表示されます。
  3. 表示したいファイル共有を選択し、 スナップショットタブをクリックします。
  4. リストでスナップショットを探し、 Actions アイコン Actions をクリックし、 Rename を選択します。
  5. 新しい名前を入力し、「 名前を変更 」をクリックしてください。

コンソールでスナップショットのユーザータグを更新する

コンソールでスナップショットのユーザータグを更新するには、以下の手順を使用します。

  1. スナップショットのリストに移動します。 IBM Cloud コンソール で、 ナビゲーションメニュー アイコン メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有 をクリックする。
  2. ファイル共有は、特定の地域についてリストされている。 別の地域のリソースを見たい場合は、矢印をクリックしてリストを展開し、別の地域を選択してください。 デフォルトでは、最新の共有がリストの一番上に表示されます。
  3. 表示したいファイル共有を選択し、 スナップショットタブをクリックします。
  4. スナップショットの名前をクリックすると、スナップショットの詳細パネルが開きます。
  5. ユーザータグの横にある 編集アイコン 編集アイコン をクリックします。
  6. 既存のタグを削除したり、新しいタグを追加することができます。 保存 をクリックします。

CLIからスナップショットの詳細を更新する

CLIからコマンドを発行するための前提条件

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

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

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

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

CLI からスナップショットのユーザータグを更新する

CLIからスナップショットに割り当てられているユーザータグを更新できます。 ibmcloud is share-snapshot-update コマンドを発行し、スナップショットIDと新しいタグを指定する。

ibmcloud is share-snapshot-update SHARE SNAPSHOT --tags NEW_TAG1,NEW_TAG2 [--output JSON] [-q, --quiet]

ユーザー・タグを追加する次の例を参照してください。

ibmcloud is share-snapshot-update my-file-share r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3 --user-tags test:cli
Updating file share snapshot share-snapshot-cli-update for share my-file-share under account Test Account as user test.user@ibm.com...
ID                   r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3
Name                 share-snapshot-cli-update
Fingerprint          c25fdce4-6e0a-433f-99c0-9985f127cd54
Backup Policy Plan   -
Status               available
Status reasons       Status code   Status message
                     -             -
Created at           2024-12-17T11:19:33+05:30
Captured At          2024-12-17T11:19:34+05:30
CRN                  crn:v1:bluemix:public:is:us-south-1:a/a123456::share-snapshot:r006-2ae87eb2-b26c-4126-ab34-e6e64f6f1773/r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3
LifeCycle State      stable
LifeCycle Reasons    Code   Message   More Info
                      -      -
Href                 https://us-south.iaas.cloud.ibm.com/v1/shares/r006-2ae87eb2-b26c-4126-ab34-e6e64f6f1773/snapshots/r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3
Minimum Size         40
User Tags            test:cli
Zone                 ID   Name
                          us-south-1
Resource group       ID                                 Name
                     11caaa983d9c4beb82690daab08717e9   Default
Resource type        share_snapshot

地域ファイル共有のスナップショットの場合、CLIとAPIの両方の応答でゾーンの値は空白になります。

API を使用してスナップショットの名前を変更する

APIを使用してスナップショットの名前を変更できます。 PATCH /shares/{share-id}/snapshots/{snapshot-id} 呼び出しを行い、スナップショットの ID と新しい名前を指定します。

curl -X PATCH \
"$vpc_api_endpoint/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4?version=2024-12-10&generation=2" \
   -H "Authorization: Bearer ${API_TOKEN}" \
   -d '{
     "name": "my-snapshot-renamed"
   }'

APIによるユーザータグの更新

APIを使用してスナップショットのユーザータグを更新できます。 PATCH /shares/{share-id}/snapshots/{snapshot-id} リクエストを作成し、スナップショット ID とスナップショットに持たせたいタグを指定します。

curl -X PATCH \
"$vpc_api_endpoint/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4?version=2024-12-10&generation=2" \
   -H "Authorization: Bearer ${API_TOKEN}" \
   -d '{
     "user_tags": ["env:test","dev:test"]
    }'

Terraformでスナップショットを更新する

Terraform を使用するには、Terraform CLI をダウンロードし、 IBM Cloud プロバイダプラグインを設定してください。 詳しくは Terraformを始める を参照。

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

デフォルトの us-south 以外の地域をターゲットとする次の例を参照。

provider "ibm" {
  region = "eu-de"
}

スナップショットを更新するには、 ibm_is_share_snapshot リソースを使用します。 スナップショットのタグは、 tags 引数で追加することで変更できます。

resource "ibm_is_share_snapshot" "example" {
  tags          = "dev:test"
  source_share  = ibm_is_share.example.id
  }

引数と属性の詳細については、 ibm_is_snapshot を参照してください。

コンソールでのスナップショットの削除

共有の任意のスナップショットを削除できます。 スナップショットを削除するには、以下の前提条件を満たす必要があります:

  • stable 状態または pending 状態である。
  • 共有の復元を現在行っていないこと。

スナップショットを削除できるかどうかを判断する便利な方法は、 コンソールで スナップショットのリストを見て、そのステータスをチェックすることです。

コンソールで単一のスナップショットを削除する

以下の手順で、スナップショットの一覧からスナップショットを削除できます。

  1. 「 File Storage for VPC 」の全シェア一覧へ移動します。 IBM Cloud コンソール で、 メニュー メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有
  2. リストから共有を選択し、その共有名をクリックすると、共有の詳細ページに移動します。
  3. [ スナップショット ] タブをクリックすると、この共有に対して作成されたスナップショットのリストが表示されます。
  4. 削除したいスナップショットを探してください。
  5. アクション・アイコンアクションアイコンをクリックします。
  6. **「削除」**を選択します。
  7. 削除を確認します。

CLI からのスナップショットの削除

共有の任意のスナップショット、または共有のすべてのスナップショットを削除できます。 スナップショットを削除するには、以下の前提条件を満たす必要があります:

  • stable 状態または pending 状態である。
  • 共有の復元を現在行っていないこと。

CLIを使用して単一のスナップショットを削除するには、以下の手順を使用します。

  1. 共有で利用可能なスナップショットを一覧表示し、削除したいスナップショットのIDを確認します。

    ibmcloud is share-snapshots SHARE [--output JSON] [-q, --quiet]
    
    ibmcloud is share-snapshots my-file-share
    
  2. ibmcloud is share-snapshot-delete コマンドを実行して、スナップショットの ID を指定します。 複数のスナップショットを削除するには、同じコマンドですべてのスナップショットのIDを指定する必要があります。

    ibmcloud is share-snapshot-delete SHARE (SNAPSHOT1 SNAPSHOT2 ...) [-f, --force] [--output JSON] [-q, --quiet]
    
  3. スナップショットの削除を確認してください。 スナップショットが削除されたことが応答メッセージに示されます。

    $ ibmcloud is share-snapshot-delete my-file-share r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3
    This will delete share snapshot r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3 for share ID my-file-share and cannot be undone. Continue [y/N] ?> y
    Deleting share snapshot r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3 for share ID my-file-share under account Test Account as user test.user@ibm.com...
    OK
    Share snapshot r006-6ce54f3b-8971-4b5d-95a7-7dfa897ddfb3 is deleted.
    

利用可能なコマンド・オプションの詳細については ibmcloud is snapshot-delete.

API を使用したスナップショットの削除

共有の任意のスナップショット、または共有のすべてのスナップショットを削除できます。 スナップショットを削除するには、以下の前提条件を満たす必要があります:

  • stable 状態または pending 状態である。
  • 共有の復元を現在行っていないこと。

DELETE /shares/{share-id}/snapshots/{snapshot-id} メソッドを呼び出し、ID によって特定のスナップショットを削除します。

curl -X DELETE \
"$vpc_api_endpoint/v1/shares/r006-0fe9e5d8-0a4d-4818-96ec-e99708644a58/snapshots/r006-e13ee54f-baa4-40d3-b35c-b9ec163972b4?version=2024-12-10&generation=2" \
     -H "Authorization: Bearer ${API_TOKEN}"

Terraformでスナップショットを削除する

共有の任意のスナップショット、または共有のすべてのスナップショットを削除できます。 スナップショットを削除するには、以下の前提条件を満たす必要があります:

  • stable 状態または pending 状態である。
  • 共有の復元を現在行っていないこと。

terraform destroy コマンドを使用すると、単一のスナップショットなどのリモートオブジェクトを簡単に削除できます。 次の例では、 my-snapshot を削除します。

terraform destroy --target ibm_is_snapshot.my-snapshot

詳しくは テラフォーム破壊を参照のこと。

スナップショットのライフサイクル状態

表2は、スナップショットのライフサイクルにおける各状態について示しています。

ファイル共有スナップショットのライフサイクル状態
スナップショット状況 説明
安定 スナップショットが作成され、共有の復元に使用できます。
待機中 スナップショット情報を取得しています。
保留中 スナップショットはリモート共有にレプリケートされています。 レプリケーションの処理中は、完了率が表示されます。
失敗 スナップショットの作成に失敗しました。この共有はスナップショットから復元できません。
中断 スナップショットは一時的に使用不可になっています。
更新 スナップショットの名前を変更して更新中です。
削除中 スナップショットが削除されています。
削除 スナップショットは削除されたため、共有を復元することはできません。

次のステップ

スナップショットから共有を復元 できます。