VPCアクセス制御モードからセキュリティグループアクセス制御モードへの移行

データの損失を防ぐため、2027年5月6日(サポート終了日)までに、ゾーンファイル共有を非推奨となったVPCアクセス制御モードからセキュリティグループモードへ移行してください。

VPCアクセス制御モードでは、VPC内のすべての仮想サーバーインスタンスとベアメタルサーバーがファイル共有にアクセスできます。 セキュリティ・グループ・アクセス制御モードは、セキュリティ・グループのルールに基づいて特定のコンピュート・リソースへのアクセスを制限することで、よりきめ細かい制御を提供します。 セキュリティグループのアクセス制御モードでは、転送中のデータ暗号化、ゾーン間のマウント、スナップショットなど、さらに多くの機能もサポートされています。

開始前に

ファイル共有をVPCアクセス制御モードからセキュリティグループアクセス制御モードに移行する前に、以下の要件を確認してください:

  • ファイル共有およびマウント先を管理するために必要な IAM 権限 が与えられていることを確認してください。
  • VPCアクセス制御モードを使用するアカウント内のすべてのファイル共有を特定します。
  • 移行後も、承認されたコンピューティングリソースがファイル共有にアクセスできるよう、セキュリティグループの設定を計画してください。
  • 移行作業中はファイル共有に一時的にアクセスできなくなるため、移行のためのメンテナンス時間を確保してください。

マイグレーションの概要

移行プロセスには、以下の手順が含まれます:

  1. 全ての計算ホストからファイル共有をアンマウントする。
  2. ファイル共有からすべてのマウントターゲットを削除する
  3. レプリカファイル共有の削除(該当する場合)
  4. アクセス・コントロール・モードをセキュリティ・グループに更新する
  5. セキュリティグループアクセスで新しいマウントターゲットを作成する
  6. レプリカファイル共有の再作成(該当する場合)
  7. 計算ホストにファイル共有をマウントする。

ステップ1: 全ての計算ホストからファイル共有をアンマウントする

マウント先を削除するには、まず、そのファイル共有がマウントされているすべての仮想サーバーインスタンスおよびベアメタルサーバーから、そのファイル共有をアンマウントする必要があります。

まず、VPCアクセス・コントロール・モードを使用するファイル共有を特定する。 CLI または API を使用して、すべてのファイル共有を一覧表示できます。 「 access_control_mode 」が「 vpc 」に設定されている共有のみを表示するように結果を絞り込みます。

お使いの環境がJSON出力をサポートしている場合は jq の出力をフィルターするために ibmcloud is shares:

ibmcloud is shares --output json | jq '.[] | select(.access_control_mode == "vpc") | {id, name, access_control_mode}'

リクエストを作成し GET /shares リクエストを作成し、JSONレスポンスを jq:

curl -s -X GET "$vpc_api_endpoint/v1/shares?version=2026-04-28&generation=2" \
  -H "Authorization: Bearer $iam_token" | jq '.shares[] | select(.access_control_mode == "vpc") | {id, name, access_control_mode}'

VPCアクセスコントロールモードを使用する共有を特定したら、それらの共有がマウントされている各コンピュートホストに接続し、マウントポイント名を指定して umount。 以下の例を参照してください。

umount /mnt/my-file-share

異なるオペレーティング・システムでのファイル共有のアンマウントの詳細については、 ファイル共有のマウントとアンマウントを 参照してください。

ステップ2:ファイル共有からすべてのマウントターゲットを削除する

すべてのコンピュートホストからファイル共有のマウントを解除した後、そのファイル共有に関連付けられているすべてのマウント先を削除してください。 アクセスコントロールモードを更新する前に、すべてのマウントターゲットを削除する必要があります。

コンソールでマウントターゲットを削除する

  1. IBM Cloud コンソール で、 ナビゲーションメニュー アイコン メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有 をクリックする。
  2. リストから移行先のファイル共有を選択してください。
  3. ファイル共有の詳細ページで、マウントターゲットセクションで削除したいマウントターゲットを見つけます。
  4. Actions アイコン Actionsアイコン Actionsをクリックし、 Deleteを選択します。
  5. ファイル共有に関連付けられている各マウントターゲットについて、手順3~4を繰り返します。

詳細については、 コンソールでファイル共有のマウントターゲットを削除するを 参照してください。

CLIからマウントターゲットを削除する

ファイル共有に関連付けられている各マウント・ターゲットに対して、 share-mount-target-delete コマンドを実行する。 SHARE_ID をファイル共有の ID または名前に、 MOUNT_TARGET_ID を削除するマウント先の ID または名前に置き換えてください。

ibmcloud is share-mount-target-delete SHARE_ID MOUNT_TARGET_ID

以下の例を参照してください。

ibmcloud is share-mount-target-delete my-file-share my-mount-target

プロンプトが表示されたら、「 y 」と入力して削除を確認してください。 ファイル共有に関連付けられている各マウント・ターゲットに対して、このコマンドを繰り返す。

詳細については、 CLIからファイル共有のマウントターゲットを削除するを 参照してください。

APIによるマウントターゲットの削除

ファイル共有に関連付けられている各マウントターゲットを削除するために、 DELETE /shares/{share_id}/mount_targets/{mount_target_id}

curl -X DELETE \
"$vpc_api_endpoint/v1/shares/$share_id/mount_targets/$mount_target_id?version=2026-04-28&generation=2" \
-H "Authorization: Bearer $iam_token"

ファイル共有に関連付けられている各マウントターゲットに対して、この要求を繰り返す。

詳細については、 APIによるマウントターゲットの削除を 参照してください。

Terraformでマウントターゲットを削除する

Terraformでマウントターゲットを削除するには、Terraformの設定ファイルから ibm_is_share_mount_target リソースを削除し、 terraform apply.

# Remove or comment out the mount target resource
# resource "ibm_is_share_mount_target" "example" {
#   share = ibm_is_share.example.id
#   name  = "my-mount-target"
#   vpc   = ibm_is_vpc.example.id
# }

ステップ3:レプリカファイル共有の削除(該当する場合)

ファイル共有にレプリカファイル共有がある場合、ソースファイル共有のアクセス制御モードを更新する前に、レプリカを削除する必要があります。 まずレプリケーション関係を削除する必要があり、これにより2つの独立したファイル共有が作成される。 その後、レプリカファイル共有とそのマウントターゲットを削除することができます。

ファイル共有にレプリカがない場合は、このステップをスキップして、 ステップ4「アクセス制御モードをセキュリティグループに更新する 」に進みます。

コンソールでレプリケーション関係を削除する

  1. IBM Cloud コンソール で、 ナビゲーションメニュー アイコン メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有 をクリックする。
  2. ソースファイル共有の名前をクリックすると、その詳細ページに移動します。
  3. ファイル共有複製関係 セクションで、複製関係の削除をクリックします。
  4. 確認ウィンドウで、「 リンクを解除 」をクリックします。 レプリケーション関係が削除され、2つの独立したファイル共有が作成される。
  5. レプリケーション関係が削除されたら、 ステップ2と 同じ手順でレプリカファイル共有のマウントターゲットを削除します。
  6. ファイル共有のリストに戻り、レプリカ・ファイル共有を選択し、 行動 アイコン アクションアイコン をクリックし、 削除 を選択します。
  7. プロンプトが表示されたら、削除を確認します。

詳細については、 コンソールでレプリケーション関係を削除する、および レプリカとソースのファイル共有を削除するを 参照してください。

CLIからレプリケーション関係を削除する

  1. ファイル共有を一覧表示して、レプリカファイル共有を特定します:

    ibmcloud is shares
    

    レプリケーションの役割欄で、 replica のファイル共有を探す。

  2. share-replica-split コマンドを実行して、レプリケーション関係を削除します。 「 REPLICA_SHARE_ID 」を、レプリカファイル共有のIDまたは名前に置き換えてください。

    ibmcloud is share-replica-split REPLICA_SHARE_ID
    

    以下の例を参照してください。

    ibmcloud is share-replica-split my-replica-file-share
    

    プロンプトが表示されたら、 y と入力して分割操作を確定する。

  3. レプリケーション関係が削除されたら、レプリカファイル共有のマウントターゲットを削除します:

    ibmcloud is share-mount-target-delete REPLICA_SHARE_ID MOUNT_TARGET_ID
    

    レプリカファイル共有に関連付けられている各マウントターゲットについて繰り返します。

  4. レプリカファイル共有を削除する:

    ibmcloud is share-delete REPLICA_SHARE_ID
    

    プロンプトが表示されたら、「 y 」と入力して削除を確認してください。

詳細については、 CLIからのレプリケーション関係の削除を 参照してください。

APIとのレプリケーション関係の削除

  1. DELETE /shares/{replica_id}/source 、レプリケーション関係を削除する:

    curl -X DELETE \
    "$vpc_api_endpoint/v1/shares/$replica_share_id/source?version=2026-04-28&generation=2" \
    -H "Authorization: Bearer $iam_token"
    

    成功した応答は、レプリケーション関係が削除されたことを示す。

  2. 各マウントターゲットに対して DELETE /shares/{replica_id}/mount_targets/{mount_target_id} 要求を行い、レプリカファイル共有のマウントターゲットを削除する:

    curl -X DELETE \
    "$vpc_api_endpoint/v1/shares/$replica_share_id/mount_targets/$mount_target_id?version=2026-04-28&generation=2" \
    -H "Authorization: Bearer $iam_token"
    
  3. DELETE /shares/{replica_id} 、レプリカファイル共有を削除する:

    curl -X DELETE \
    "$vpc_api_endpoint/v1/shares/$replica_share_id?version=2026-04-28&generation=2" \
    -H "Authorization: Bearer $iam_token"
    

詳細については、 APIによるレプリケーション関係の削除を 参照してください。

Terraformによるレプリケーション関係の削除

  1. ソース共有とレプリカ共有を分割するには、 ibm_is_share_replica_operations リソースを使用します:

    resource "ibm_is_share_replica_operations" "split" {
      share_replica = ibm_is_share.replica.id
      split_share   = true
    }
    
  2. 分割処理が完了したら、Terraformの設定からレプリカのファイル共有とそのマウント先を削除し、 terraform apply を実行してください。

    # Remove or comment out the replica share and its mount targets
    # resource "ibm_is_share" "replica" {
    #   ...
    # }
    # resource "ibm_is_share_mount_target" "replica_target" {
    #   ...
    # }
    

詳細については、「 Terraform を使用したレプリケーション関係の削除 」および「 Terraform を使用したマウントターゲットの削除 」を参照してください。

ステップ4:アクセス・コントロール・モードをセキュリティ・グループに更新する

すべてのマウント先およびレプリカファイル共有が削除された後、ファイル共有のアクセス制御モードを「 vpc 」から「 security_group 」に変更してください。

コンソールでのアクセス制御モードの更新

  1. IBM Cloud コンソール で、 ナビゲーションメニュー アイコン メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有 をクリックする。
  2. リストから移行先のファイル共有を選択してください。
  3. ファイル共有の詳細ページで、 アクセスコントロールモードフィールドを見つけます。
  4. アクセス制御モード 」フィールドの横にある「 編集 」アイコン をクリックします。
  5. リストからセキュリティグループを選択してください。
  6. 保存 をクリックします。

CLIからアクセス制御モードを更新する

--access-control-mode オプションを security_group に設定して share-update コマンドを実行する。 「 SHARE_ID 」を、ファイル共有のIDまたは名前に置き換えてください。

ibmcloud is share-update SHARE_ID --access-control-mode security_group

以下の例を参照してください。

ibmcloud is share-update my-file-share --access-control-mode security_group

APIによるアクセス制御モードの更新

access_control_mode プロパティを security_group に設定して PATCH /shares/{share_id} リクエストを行う。

curl -X PATCH \
"$vpc_api_endpoint/v1/shares/$share_id?version=2026-04-28&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
  "access_control_mode": "security_group"
}'

Terraformでアクセス制御モードを更新する

ibm_is_share リソースの access_control_mode 属性を security_group に更新し、 terraform apply を実行します。

resource "ibm_is_share" "example" {
  name                = "my-file-share"
  zone                = "us-south-2"
  profile             = "dp2"
  size                = 1000
  iops                = 500
  access_control_mode = "security_group"
}

ステップ5:セキュリティ・グループ・アクセスで新しいマウント・ターゲットを作成する

アクセス制御モードの更新後、セキュリティグループによるアクセス制御が適用された新しいマウントターゲットを作成してください。 各マウント先には、セキュリティグループに関連付けられた 仮想ネットワークインターフェース を設定する必要があります。 TCP マウントターゲットを作成する前に、セキュリティグループが、ファイル共有へのアクセスを必要とするすべてのコンピュートホストからの、 NFS への ポート(2049)へのインバウンドアクセスを許可していることを確認してください。

コンソールでマウントターゲットを作成する

  1. IBM Cloud コンソール で、 ナビゲーションメニュー アイコン メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有 をクリックする。
  2. リストからファイル共有を選択してください。
  3. ファイル共有の詳細ページで、マウントターゲットセクションの[ 作成 ]をクリックします。
  4. マウントターゲットの名前を指定します。
  5. マウントターゲットを作成するVPCを選択します。
  6. 仮想ネットワークインターフェースを設定します:
    • 仮想ネットワークインターフェースに名前を指定してください。
    • マウントターゲットを作成するサブネットを選択します。
    • 必要に応じて、予約済みのIPアドレスを指定するか、システムに自動的に割り当てさせることもできます。
    • ファイル共有へのアクセスを制御するセキュリティグループを選択します。
  7. オプションで、送信中のデータを保護したい場合は、送信中の暗号化を有効にします。
  8. 「作成」 をクリックします。

この手順を繰り返して、ファイル共有にアクセスする各VPCにマウントターゲットを作成します。

詳細については、 コンソールでのマウントターゲットの作成を 参照してください。

CLIからマウントターゲットを作成する

仮想ネットワーク・インターフェース・パラメーターを指定して、 share-mount-target-create コマンドを実行します。 SHARE_ID をファイル共有の ID または名前に、 MOUNT_TARGET_NAME を新しいマウント先の名前に、 VPC_ID を VPC の ID または名前に、 VNI_NAME を仮想ネットワークインターフェースの名前に、 SUBNET_ID をサブネットの ID または名前に、 SECURITY_GROUP_ID をセキュリティグループの ID または名前にそれぞれ置き換えてください。

ibmcloud is share-mount-target-create SHARE_ID \
  --name MOUNT_TARGET_NAME \
  --vpc VPC_ID \
  --vni-name VNI_NAME \
  --vni-subnet SUBNET_ID \
  --vni-sgs SECURITY_GROUP_ID

以下の例を参照してください。

ibmcloud is share-mount-target-create my-file-share \
  --name my-new-mount-target \
  --vpc my-vpc \
  --vni-name my-vni \
  --vni-subnet my-subnet \
  --vni-sgs my-security-group

詳細については、 CLIからのマウントターゲットの作成を 参照してください。

APIによるマウントターゲットの作成

仮想ネットワークインターフェイスのコンフィグレーションで POST /shares/{share_id}/mount_targets

curl -X POST \
"$vpc_api_endpoint/v1/shares/$share_id/mount_targets?version=2026-04-28&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
  "name": "my-new-mount-target",
  "virtual_network_interface": {
    "name": "my-vni",
    "subnet": {
      "id": "'"$subnet_id"'"
    },
    "security_groups": [
      {
        "id": "'"$security_group_id"'"
      }
    ]
  }
}'

詳細については、 APIによるマウントターゲットの作成を 参照してください。

Terraformでマウントターゲットを作成する

ibm_is_share_mount_target リ ソ ース を使用 し て、 仮想ネ ッ ト ワー ク イ ン タ ーフ ェ イ ス を持つ マ ウ ン ト タ ーゲ ッ ト を作成 し ます。

resource "ibm_is_share_mount_target" "example" {
  share = ibm_is_share.example.id
  name  = "my-new-mount-target"
  virtual_network_interface {
    name = "my-vni"
    subnet = ibm_is_subnet.example.id
    security_groups = [ibm_is_security_group.example.id]
  }
}

詳細は Terraformでマウントターゲットを作成するを 参照。

ステップ6:レプリカファイル共有の再作成(該当する場合)

手順 3 でレプリカのファイル共有を削除した場合は、更新されたセキュリティグループのアクセス制御モードを使用して、それを再作成できます。 新しいレプリカファイル共有は、ソースファイル共有のセキュリティグループアクセス制御モードを継承します。

レプリカファイル共有を持っていない場合は、このステップをスキップして、 ステップ7: 計算ホストにファイル共有をマウントする に進んで下さい。

コンソールでレプリカファイル共有を作成する

  1. IBM Cloud コンソール で、 ナビゲーションメニュー アイコン メニューアイコン > インフラストラクチャー VPCアイコン > ストレージ > ファイルストレージ共有 をクリックする。
  2. リストからソースファイルの共有を選択してください。
  3. ファイル共有の詳細ページで、 行動 アイコン アクションアイコン をクリックし、 レプリカの作成 を選択します。
  4. ファイル共有レプリカの作成ページで、以下の情報を入力します:
    • 名前 :レプリカ共有に一意の名前を指定してください。
    • レプリカの場所 :レプリカを作成する地域とゾーンを選択します。
    • リソースグループ :レプリカのリソースグループを選択します。
    • プロファイルdp2 プロファイルがあらかじめ選択されている。 最大IOPS値を指定する。
    • マウントターゲット :オプションで、セキュリティグループのアクセス権を持つレプリカ共有のマウントターゲットを作成します。
    • 同期頻度 :ソースからレプリカへの変更の同期頻度を指定します(1時間ごと、毎日、毎週、毎月、またはcron-spec)。
    • 暗号化 :暗号化の設定を行います。 クロスリージョンレプリケーションでは、ソースがお客様暗号化を使用している場合、 お客様選択する必要があります。
  5. [ ファイル共有の作成 ] をクリックします。

詳細については、 コンソールでファイル共有にレプリケーションを追加するを 参照してください。

CLI からレプリカのファイル共有を作成する

share-replica-create コマンドを使用して、ソースのファイル共有のレプリカを作成します。 SOURCE_SHARE_ID をソースファイル共有の ID または名前に、 REPLICA_NAME を新しいレプリカ共有の名前に、 REPLICA_ZONE をレプリカを作成するゾーンに、 CRON_SPEC を cron 形式のレプリケーション頻度に置き換えてください(例:毎日午後 5 時 30 分の場合は 30 17 * * * )。

ibmcloud is share-replica-create \
  --source-share SOURCE_SHARE_ID \
  --name REPLICA_NAME \
  --zone REPLICA_ZONE \
  --profile dp2 \
  --replication-cron-spec "CRON_SPEC"

以下の例を参照してください。

ibmcloud is share-replica-create \
  --source-share my-file-share \
  --name my-replica-file-share \
  --zone us-south-1 \
  --profile dp2 \
  --replication-cron-spec "30 17 * * *"

詳細については、 CLIから既存のファイル共有のレプリカを作成するを 参照してください。

API を使用してレプリカのファイル共有を作成する

POST /shares 、レプリカファイル共有を作成するリクエストを行う:

curl -X POST \
"$vpc_api_endpoint/v1/shares?version=2026-04-28&generation=2" \
-H "Authorization: Bearer $iam_token" \
-d '{
  "name": "my-replica-file-share",
  "profile": {
    "name": "dp2"
  },
  "zone": {
    "name": "us-south-1"
  },
  "replication_cron_spec": "30 17 * * *",
  "source_share": {
    "id": "'"$source_share_id"'"
  },
  "size": 1000,
  "iops": 500
}'

詳細については、 APIを使ったレプリカファイル共有の 作成を参照してください。

Terraformでレプリカファイル共有を作成する

レプリカ用の ibm_is_share リソースを Terraform 設定に追加する:

resource "ibm_is_share" "replica" {
  name    = "my-replica-file-share"
  zone    = "us-south-1"
  profile = "dp2"
  size    = 1000
  iops    = 500
  source_share            = ibm_is_share.source.id
  replication_cron_spec   = "30 17 * * *"
}

次に、 terraform apply を実行してレプリカを作成します。

詳細は Terraformでレプリカファイル共有を作成するを 参照。

ステップ7: 計算ホストにファイル共有をマウントする

セキュリティグループによるアクセス権限が設定された新しいマウント先が作成されたら、その新しいマウントパスを使用して、コンピュートホスト上でファイル共有をマウントしてください。 マウントパスは、コンソール、CLI、またはAPIのマウントターゲットの詳細から取得できます。

異なるオペレーティング・システムでのファイル共有のマウントに関する詳しい説明は、以下のトピックを参照のこと:

サポートされているすべてのオペレーティング・システムに関するマウント手順の完全なリストについては、 ファイル共有のマウントを 参照してください。

次のステップ

移行が完了したら、以下の条件を確認してください:

  • ファイル共有は、すべての認証されたコンピュートホストからアクセス可能です。
  • セキュリティグループのルールは、アクセスを許可するように設定されています。
  • ファイル共有を使用するアプリケーションが正しく機能している。
  • このマウントは再起動後も維持されます( /etc/fstab のエントリを確認してください)。

ファイル共有の管理の詳細については、 ファイル共有とマウント・ターゲットの管理を 参照してください。