別のアカウントのファイル共有を共有およびマウントする

File Storage for VPC を、 アカウントデータアクセスに対応したアカウント認証機能を備えたアクセサ共有を使用して、 アカウント間で共有します。

また、 File Storage for VPC を IBM watsonx サービスと共有することもできます。

アカウントサービス間認証 これは、シェア所有者とアクセス権アカウント間の信頼関係を確立するために使用されます。 また、ユーザーが業務を遂行できるよう、適切なIAMプラットフォームおよびサービスのロールをユーザーに割り当てる必要があります。 元のアカウントと同じアカウント内にアクセサ共有を作成するには、ユーザーには「 Share Broker 」および「 Editor 」のロールが必要です。 元の共有とは異なるアカウント内にアクセサ共有を作成するには、ユーザーには「 リモートアカウントアクセサを共有する 」および「 編集者 」のロールが割り当てられている必要があります。 詳しくは、IAM の役割とアクションを参照してください。

権限の設定とロールの割り当てが完了したら、元の共有に紐づけられたアクセス用共有を作成できます。 アクセサ・シェアは、元のシェアからプロファイル、サイズ、および保存時と転送時の両方の暗号化方式を継承します。 「origin」共有のアカウントからは、 NFS 共有をマウントできるアカウントのIDを確認できます。

アクセサ・シェアが作成されると、アクセサ・バインディングによってオリジン・シェアとリンクされます。 アクセサ・バインディングは、オリジン・シェアが所有するサブリソースであり、オリジン・シェアの管理者のみがこれらを取得または削除することができます。

アクセス権限が「アクセサー」の場合、元の共有のプロパティを編集することはできず、元の共有を削除することもできません。 アクセサとして、アクセサ共有と、そのアクセサ共有へのマウント先を作成することで、共有をマウントできます。 そうすれば、元の共有フォルダ内のデータ(そこに存在する可能性のあるスナップショットも含む)にアクセスして利用できるようになります。

「{: tag-deprecated} 」のVPC全体アクセスモード( [非推奨] )が設定されているファイル共有については、他のアカウントサービスとのファイル共有はサポートされていません。

転送暗号化ポリシー

シェアの所有者は、許可される転送時の暗号化モードを設定することで、転送中のデータの暗号化方法を制御できます。 このフィールドが指定されていない場合、システムは、選択された共有プロファイルで定義されているデフォルトの許可された暗号化モードを使用します。 アクセサがマウントターゲットを作成する際は、その共有で許可されているモードのいずれかに一致する暗号化モードを選択する必要があります。 たとえば、IPsec が選択された場合、一貫性を保つために、その共有のすべてのマウント先で IPsec を使用する必要があります。

ゾーン型ファイル共有の場合、共有の所有者は、IPsec、なし、またはその両方のいずれかの転送暗号化モードを選択できます。

  • IPsec が強制されている場合、すべてのアクセサのマウント先では IPsec を使用する必要があります。
  • いずれも適用されない場合、転送中の暗号化は許可されません。
  • 両方が許可されている場合、アクセサー アカウントどちらを使用するかを選択できます。

利用可能なオプションを選択してください 地域間のファイル共有については、共有の所有者は、stunnel、なし、または両方のいずれかの転送暗号化モードを選択できます。

  • stunnel の使用が義務付けられている場合、すべてのアクセサのマウント先では stunnel を使用する必要があります。
  • いずれも適用されない場合、転送中の暗号化は許可されません。
  • 両方が許可されている場合、アクセサー アカウントどちらを使用するかを選択できます。

アカウント機能のリリース(2024年6月18日)以前に作成されたファイル共有については、既存のマウント先に基づいて許可される転送暗号化の種類が決定されます。 その日付以降は、ファイル共有を作成する際に、許可されるトランジット暗号化の種類を指定する必要があります。 1つのファイル共有に対して作成されるすべてのマウント先には、同じ転送時暗号化タイプを設定する必要があります。

コンソールでのアクセサ共有の作成

IBM Cloud コンソールでは、マウント先を指定する場合も指定しない場合も、アクセサ共有を作成できます。 ただし、仮想サーバーインスタンスに共有フォルダをマウントするには、マウント先を作成する必要があります。

マウント先を指定せずにコンソールでアクセサ共有を作成する

  1. IBM Cloud コンソールで、 ナビゲーションメニュー アイコン > [インフラストラクチャ]VPCアイコン > [ストレージ] > [ファイルストレージ共有 ] の順にクリックします。 ファイル共有のリストが表示されます。

  2. [VPC のファイルストレージ共有] ページで、[ 作成 ] > [ アクセサ共有の作成 ] をクリックします。

  3. 以下の情報を入力してください。

ファイル共有を作成するための設定値
フィールド
アクセサー共有名 アクセサ共有に、意味のある名前を指定してください。 ファイル共有名には、最大 63 文字の英小文字および数字を使用できます。ハイフン (-) も使用できますが、先頭は小文字にする必要があります。 名前は必要に応じて後で編集できます。
リモート共有CRN 元のファイル共有のCRNを入力してください。
  1. 「作成」 をクリックします。

  2. 「 File Storage for VPC 」ページに戻ると、ファイル共有のプロビジョニング中であることを示すメッセージが表示されます。 トランザクションが完了すると、株式のステータスが「 アクティブ 」に変わります。

CLI からアクセサ共有を作成する

開始前に

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

CLI からマウント先を指定せずにアクセサ共有を作成する

ibmcloud is share-create コマンドを使用すると、指定したゾーン内で、元の共有のCRNを使用してファイル共有をプロビジョニングできます。

ibmcloud is share-create --name my-accessor-share --origin-share CRN
ibmcloud is share-create --name my-accessor-share --origin-share crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed
Creating file share my-file-share under account Test Account as user test.user@ibm.com...
ID                               r006-b696742a-92ee-4f6a-bfd7-921d6ddf8fa6
Name                             my-accessor-share
CRN                              crn:v1:bluemix:public:is:us-south-2:a/1234567::share:r006-b696742a-92ee-4f6a-bfd7-921d6ddf8fa6
Lifecycle state                  stable
Access control mode              security_group
Accessor binding role            accessor
Allowed transit encryption modes ipsec,none
Origin share                     CRN                                                                                             Name            Remote account  Remote region
                                 crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed  my-origin-share a7654321        -
Zone                             us-south-2
Profile                          dp2
Size(GB)                         1000
IOPS                             1000
User Tags                        -
Encryption                       provider_managed
Mount Targets                    ID                          Name
                                 No mounted targets found.
Resource group                   ID                                 Name
                                 db8e8d865a83e0aae03f25a492c5b39e   Default
Created                          2024-06-25T22:15:15+00:00
Replication role                 none
Replication status               none
Replication status reasons       Status code   Status message
                                 -             -
Snapshot count                   0
Snapshot size                    0
Source snapshot                  -
Allowed Access Protocols         nfs4
Availability Mode                zonal
Bandwidth(Mbps)                  1
Storage Generation               1

アクセサ・シェアは、元のシェアから、プロファイル、サイズ、保存時および転送時の暗号化タイプといった特性を継承します。 --origin-share プロパティと、 --iops--profile--bandwidth--replica-share などの他のプロパティを組み合わせてこのコマンドを使用しようとすると、リクエストは失敗します。

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

CLI からアクセサ共有のマウント先を作成する

ファイル共有のマウント先を作成するために share-mount-target-create コマンドを実行する前に、以下の情報を確認しておいてください。

マウントターゲットを作成する際は、そのマウントターゲットが対象となるファイル共有を指定する必要があります。 ファイル共有の名前またはIDを使用できます。 また、VPCについても、IDまたは名前を指定する必要があります。 VPC は各マウント・ターゲットにおいて固有でなければなりません。 また、共有へのアクセスを管理するために使用されるセキュリティアクセスグループを指定する必要があります。 マウント先に関連付けるセキュリティグループは、共有をマウントしたいすべてのサーバーからの、 NFS ポートへの TCP プロトコルの受信アクセスを許可している必要があります。

最後に、マウント先用の 仮想ネットワークインターフェース を作成するために必要なオプションの値を指定する必要があります。 適切なCLIコマンドを使用して、利用可能な サブネットサブネット内の予約済みIPアドレスセキュリティグループ を一覧表示し、必要な情報を取得してください。

次の例では、セキュリティグループによるアクセスモードが設定されたファイル共有用に、仮想ネットワークインターフェースを持つマウントターゲットを作成します。

ibmcloud is share-mount-target-create my-accessor-share --subnet my-subnet --name my-cli-share-mount-target-1 --vni-name my-share-vni-1  --vni-sgs my-sg --resource-group-name Default --vpc my-vpc
Mounting target for share r006-b696742a-92ee-4f6a-bfd7-921d6ddf8fa6 under account Test Account as user test.user@ibm.com...
ID                          r006-dd497561-c7c9-4dfb-af0a-c84eeee78b61
Name                        my-cli-share-mount-target-1
VPC                         ID                                          Name
                            r006-912b5ac5-4ed1-4b2a-8f09-5fd8d79f6042   my-vpc
Access control mode         security_group
Resource type               share_mount_target
Virtual network interface   ID                                          Name             Protocol State Filtering Mode
                            0727-709ccc60-0c43-45cb-87b6-7ea1e37ef423   my-share-vni-1   auto
Lifecycle state             stable
Mount path                  10.240.64.5:/2be3efe6_6dff_46ea_9cec_b397f3141faf
Transit Encryption          none
Created                     2024-09-16T21:27:09+00:00

コマンドオプションの詳細については、以下を参照してください ibmcloud is share-mount-target-create を参照してください。

CLI からマウント先を指定してアクセサ共有を作成する

ibmcloud is share-create コマンドを使用すると、1つの手順で1つ以上のマウント先を持つアクセサ共有を作成できます。 ゾーン名と、送信元共有のCRNを指定する必要があります。 アクセサ共有は、元の共有から、プロファイル、サイズ、および保存時と転送時の両方の暗号化方式を継承します。 また、名前やユーザータグ、さらには最初の所有者のUIDを指定することもできます。 マウントターゲットを作成するには、JSON形式でマウントターゲットの情報を指定する必要があります。

次の例は、マウント先を持つアクセサ共有を作成する方法を示しています。

ibmcloud is share-create --name my-new-accessor-share --origin-share crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed --mount-targets '
>[{"name":"my-new-mount-target","virtual_network_interface": {"name":"my-vni","subnet": {"id":"r006-298acd6c-e71e-4204-a04f-fe4a4dd89805"}}}]'
Creating file share my-new-file-share under account Test Account as user test.user@ibm.com...
ID                               r006-925214bc-ded5-4626-9d8e-bc4e2e579232
Name                             my-new-accessor-share
CRN                              crn:v1:bluemix:public:is:us-south-2:a/a1234567::share:r006-925214bc-ded5-4626-9d8e-bc4e2e579232
Lifecycle state                  pending
Access control mode              security_group
Accessor binding role            accessor
Allowed transit encryption modes ipsec,none
Origin share                     CRN                                                                                             Name            Remote account  Remote region
                                 crn:v1:bluemix:public:is:us-south-2:a/7654321::share:r006-d73v40a6-e08f-4d07-99e1-d28cbf2188ed  my-origin-share a7654321        -
Zone                             us-south-2
Profile                          dp2
Size(GB)                         500
IOPS                             2000
User Tags                        env:dev
Encryption                       provider_managed
Mount Targets                    ID                                          Name
                                 r006-ad313f6b-ccb5-4941-a5f7-0c953f1043df   my-new-mount-target
Resource group                   ID                                 Name
                                 db8e8d865a83e0aae03f25a492c5b39e   Default
Created                          2024-06-25T00:30:11+00:00
Replication role                 none
Replication status               none
Replication status reasons       Status code   Status message
                                 -             -
Snapshot count                   0
Snapshot size                    0
Source snapshot                  -
Allowed Access Protocols         nfs4
Availability Mode                zonal
Bandwidth(Mbps)                  1
Storage Generation               1

API を使用してアクセサ共有を作成する

REST API を直接呼び出して、ファイル共有とマウント・ターゲットを作成できます。

開始前に

API環境を設定してください。 IAM トークン、API エンドポイント、および API バージョンを表す変数を定義します。 手順については、API および CLI の環境のセットアップを参照してください。

API を使用してアクセサ共有を作成する

ファイル共有を作成するための POST /shares 要求を行います。

次の例は、元の共有の CRN を使用して、アクセサ共有を作成するリクエストを示しています。 アクセサ・シェアは、元のシェアから、プロファイル、ゾーン、サイズ、IOPS、暗号化タイプ(保存時および転送時)といった特性を継承します。 initial_owneraccess_control_mode、および encryption_key の値も、origin_shareから継承されます。

curl -X POST \
"$vpc_api_endpoint/v1/shares?version=2024-06-25&generation=2"\
  -H "Authorization: Bearer $iam_token" \
  -d '{
  "name": "my-accessor-share",
  "user_tags": ["string"],
  "origin_share": {"crn": "crn:v1:bluemix:public:is:us-south-1:a/a1234567::share:0fe9e5d8-0a4d-4818-96ec-e99708644a58"}
}

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

  {
  "access_control_mode": "security-group",
  "allowed_transit_encryption_modes": ["none", "ipsec"],
  "created_at": "2024-05-06T23:31:59Z",
  "crn": "crn:[...]",
  "encryption": "provider_managed",
  "href": "https://us-south.iaas.cloud.ibm.com/v1/shares/ff859972-8c39-4528-91df-eb9160eae918",
  "id": "ff859972-8c39-4528-91df-eb9160eae918",
  "iops": 48000,
  "lifecycle_state": "stable",
  "name": "my-accessor-share",
  "profile": {
    "href": "https://us-south.iaas.cloud.ibm.com/v1/share/profiles/dp2",
    "name": "dp2",
    "resource_type": "share_profile"
    },
  "replication_role": "none",
  "replication_status": "none",
  "replication_status_reasons": [],
  "resource_group": {
    "crn": "crn:[...]",
    "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/6b45d0aa-e0a6-478b-a5d9-bb45b106676d",
    "id": "6b45d0aa-e0a6-478b-a5d9-bb45b106676d",
    "name": "Default"
    },
  "resource_type": "share",
  "size": 4800,
  "snapshot_count": 10,
  "snapshot_size": 10,
  "user_tags": ["string"],
  "zone": {
    "href": "https://us-south.iaas.cloud.ibm.com/v1/regions/us-south/zones/us-south-1",
    "name": "us-south-1"}
  }

API を使用してファイル共有のマウントターゲットを作成する

共有のアクセス制御モードが「 security_group 」の場合、マウント先には 仮想ネットワークインターフェース を設定して作成する必要があります。 共有の許可された転送暗号化モードが「 ipsec 」の場合、マウント先の transit_encryption の値も「 ipsec 」でなければなりません。

POST /shares/{share_id}/mount_targets リクエストを発行し、マウント先のネットワークインターフェースのサブネットとセキュリティグループを指定します。 マウント先に関連付けるセキュリティグループは、共有をマウントしたいすべてのサーバーからの、 NFS ポートへの TCP プロトコルの受信アクセスを許可している必要があります。

この例では、ID で識別される既存のアクセサ共有にマウントターゲットを追加し、ネットワークインターフェースを作成するためにサブネットとセキュリティグループを指定します。

 curl -X POST "$vpc_api_endpoint/v1/shares/r006-201487a2-cf35-4b2a-a4fe-f480803e1e80/mount_targets/?version=2023-07-18&generation=2"\
 -d '{
     "virtual_network_interface": {
        "subnet": {"id": "1a0b3d75-8a62-4c78-9263-f9bcd25a8759"},
        "security_groups": [{"id": "b2599112-7027-480e-ad1b-fd917d2fcb84"}]
     },
     "transit_encryption": "user_managed"
}'

Terraform を使用したファイル共有およびマウント先を作成する

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

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

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

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

Terraform を使用したアクセサ共有の作成

アクセサ共有を作成するには、 ibm_is_share リソースを使用します。 アクセサ・シェアは、元のシェアから、プロファイル、サイズ、保存時および転送時の暗号化タイプといった特性を継承します。

resource "ibm_is_share" "example-origin" {
  allowed_transit_encryption_modes = ["ipsec", "none"]
  access_control_mode = "security_group"
  name    = "my-share"
  size    = 200
  profile = "dp2"
  zone    = "au-syd-2"
}
resource "ibm_is_share" "example-accessor" {
  origin_share {
    crn   = ibm_is_share.example-origin.crn
  }
  name  = "my-accessor-share-1"
}

Terraform を使用したマウントターゲットの作成

ファイル共有のマウント先を作成するには、 ibm_is_share_mount_target リソースを使用します。 次の例では、 security_group というアクセス制御モードを持つマウントターゲットを作成します。 まず、マウント先が作成される共有を指定します。 次に、マウント先の名前を指定し、IPアドレスと名前を指定して新しい仮想ネットワークインターフェースを定義します。 また、マウント先に関連付けられているファイル共有へのアクセスを管理するために使用するセキュリティグループも指定する必要があります。 マウント先に関連付けるセキュリティグループは、共有をマウントしたいすべてのサーバーからの、 NFS ポートへの TCP プロトコルの受信アクセスを許可している必要があります。 auto_delete = true 属性は、マウント先が削除された場合に、仮想ネットワークインターフェースも削除されることを意味します。

resource "ibm_is_share_mount_target" "zonal-mount-target-with-vni" {
     access_protocol    = "nfs4"
     name               = "my-zonal-mount-target"
     share              = ibm_is_share.is_share.ID
     security_groups    = [<security_group_ids>]
     transit_encryption = "ipsec"
     virtual_network_interface {
       name             = "my-example-vni"
       primary_ip {
          address       = “10.240.64.5”
          auto_delete   = true
          name          = "my-example-pip"
         }
     }
   }

前の例では、ゾーンファイル共有の転送中のデータを暗号化するように設定しています。 リージョナル・シェアのデータを転送中の暗号化で保護したい場合は、 transit_encryption 引数を stunnel として指定してください。

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

セキュリティグループのアクセスモードを持つマウントターゲットを含むアクセサ共有の作成

ファイル共有とマウント先を個別に作成する必要はありません。 VPC 内でセキュリティグループに基づく認証を許可するマウントターゲットを持つファイル共有を作成するには、 ibm_is_share リソースを使用します。 アクセサ・シェアは、元のシェアから、プロファイル、サイズ、保存時および転送時の暗号化タイプといった特性を継承します。 アクセス制御モードを「 security_group 」に指定し、マウント先を定義します。これには、マウント先の名前、および仮想ネットワークインターフェースの名前、サブネット、IPアドレスなどの詳細情報を指定します。 また、ファイル共有へのアクセスを制御するために使用するセキュリティグループを指定してください。 マウント先に関連付けるセキュリティグループは、共有をマウントしたいすべてのサーバーからの、 NFS ポートへの TCP プロトコルの受信アクセスを許可している必要があります。

resource "ibm_is_share" "share4" {
   zone                   = "us-south-2"
   name                   = "my-share4"
   origin_share {
       id                 = ibm_is_share.example-origin.id
       }
   access_control_mode    = "security_group"
   mount_target {
       access_protocol    = "nfs4"
       name               = "my-mount-target"
       security_groups    = [<security_group_ids>]
       transit_encryption = "ipsec"
       virtual_network_interface {
           primary_ip {
              address     = "10.240.64.5"
              auto_delete = true
              name        = "my-example-pip"
           }
    }
   }
}

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

次のステップ

ファイル共有をマウントしてください。 マウントとは、サーバーのオペレーティングシステムが、ストレージデバイス上のファイルやディレクトリを、サーバーのファイルシステムを通じてユーザーがアクセスできるようにするプロセスです。 詳しくは、以下のトピックを参照してください。

Accessor 共有のスナップショットの作成はサポートされていません。 ただし、オリジン・シェアにスナップショットがある場合は、 .snapshot ディレクトリからそれらのスナップショットにアクセスできます。 詳細については、「 スナップショットからのファイルの復元 」を参照してください。