インスタンスの作成

このページでは、Cloud Console または gcloud ツールを使用して Filestore インスタンスを作成する方法について説明します。

インスタンスの作成手順

Cloud Console

次の手順に従い、Cloud Console を使用して Filestore インスタンスを作成できます。エンタープライズと高スケール SSD の割り当ては 0 から始まり、エンタープライズまたは高スケール SSD インスタンスを作成する前に、まず割り当ての増加リクエスト作成して、その承認を受ける必要があります。

  1. Cloud Console で、Filestore インスタン スページに移動します。

    Filestore インスタンス ページに移動

  2. [インスタンスを作成] をクリック

  3. このページの以降のセクションの説明に従って、必要に応じてすべての必須フィールドとオプション フィールドに入力します。

  4. [作成] をクリック

gcloud

始める前に

gcloud ツールを使用するには、Cloud SDK をインストールするか、Cloud Console に組み込まれている Cloud Shell を使用する必要があります。

Cloud Console に移動

Filestore インスタンスを作成するための gcloud コマンド

Filestore インスタンスを作成するには、filestore instances create コマンドを実行します。エンタープライズまたは高スケール SDD インスタンスを作成する場合は、gcloud beta filestore instances create を実行する必要があります。また、エンタープライズと高スケール SSD の割り当ては 0 から始まります。エンタープライズまたは高スケール階層のインスタンスを作成する前に、割り当ての増加リクエストを行い、リクエストが承認される必要があります。

gcloud [beta] filestore instances create instance-id \
    [--project=project-id] \
    [--location=location] \
    --tier=tier \
    --file-share=name="file-share-name",capacity=file-share-size \
    --network=name="vpc-network",[connect-mode=connect-mode],[reserved-ip-range="reserved-ip-address"]
    [--labels=key=value,[key=value,…]]

次のように置き換えます。

  • instance-id は作成する Filestore インスタンスのインスタンス ID に置き換えます。インスタンスに名前を付けるをご覧ください。
  • project-idはFilestore インスタンスを含む Cloud プロジェクトのプロジェクト ID。Filestore インスタンスが gcloud デフォルト プロジェクトにある場合は、このフラグを省略できます。デフォルトのプロジェクトを設定するには、次のコマンドを実行します。

     gcloud config set project project-id
    
  • location は、Filestore インスタンスを配置する場所に置き換えます。場所の選択をご覧ください。Filestore インスタンスが gcloud のデフォルトの場所にある場合は、このフラグを省略できます。デフォルトのプロジェクトを設定するには、次のコマンドを実行します。

     gcloud config set filestore/zones zone
    

    または Enterprise 階層の場合:

     gcloud config set filestore/regions region
    
  • tier は、使用するインスタンス階層に置き換えます。サービス階層の選択をご覧ください。コマンドに beta を指定しない場合は、BASIC_HDDSTANDARD を使用し、BASIC_SSDPREMIUM を使用する必要があります。

  • file-share-name は、インスタンスから提供される NFS ファイル共有に指定する名前。ファイル共有の命名をご覧ください。

  • file-share-sizeはファイル共有に使用するサイズ。容量の割り当てをご覧ください。

  • vpc-network には、インスタンスで使用する VPC ネットワークの名前を指定します。VPC ネットワークの選択をご覧ください。サービス プロジェクトから共有 VPC を指定する場合は、完全修飾ネットワーク名(projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME 形式)を指定し、connect-mode=PRIVATE_SERVICE_ACCESS を指定する必要があります。次に例を示します。

    --networks=name=projects/host/global/network/shared-vpc-1,connect-mode=PRIVATE_SERVICE_ACCESS
    

    vpc-network 値にレガシー ネットワークを指定することはできません。必要に応じて、自動モードの VPC ネットワークを新規に作成するの手順に従って、使用する新しい VPC ネットワークを作成します。

  • connect-modeDIRECT_PEERING または PRIVATE_SERVICE_ACCESS。 共有 VPC をネットワークとして指定する場合は、接続モードとして PRIVATE_SERVICE_ACCESS も指定する必要があります。

  • reserved-ip-address には、Filestore インスタンスの IP アドレス範囲を指定します。connect-mode=PRIVATE_SERVICE_ACCESSプレビュー)が指定されていて、予約された IP アドレス範囲を使用する場合は、CIDR 範囲ではなく、割り当てられたアドレス範囲の名前を指定する必要があります。予約済み IP アドレスの構成をご覧ください。このフラグを省略して、Filestore が空いている IP アドレス範囲を自動的に見つけてインスタンスに割り当てられるようにすることをおすすめします。

  • key は、追加するラベルです。Filestore インスタンスの作成時にラベルを追加する必要はありません。インスタンスを作成した後でラベルを追加、削除、更新することもできます。詳細については、ラベルの管理をご覧ください。

  • value をラベルの値に置き換えます。

次のコマンドは、以下の特性が設定されたインスタンスを作成します。

  • ID は render1
  • プロジェクトは myproject
  • ゾーンは us-central1-c
  • 階層は BASIC_HDD
  • ファイル共有名は NFSvol
  • ファイル共有のサイズは 2 TiB。
  • VPC ネットワークは default
  • 予約済み IP アドレスの範囲は 10.0.7.0/29
  • IP アドレス 10.0.2.0 でクライアントにルート スカッシュによる読み取りと書き込みのアクセス権を付与します。
gcloud beta filestore instances create render1 \
  --project=myproject \
  --zone=us-central1-c \
  --tier=BASIC_HDD \
  --network=name="default",reserved-ip-range="10.0.7.0/29"
  --flags-file=nfs-export-options.json

nfs-export-options.json ファイルの内容:

 {
"--file-share":
  {
    "capacity": "102400",
    "name": "my_vol",
    "nfs-export-options": [
      {
        "access-mode": "READ_WRITE",
        "ip-ranges": [
          "10.0.0.0/29",
          "10.2.0.0/29"
        ],
        "squash-mode": "ROOT_SQUASH",
        "anon_uid": 1003,
        "anon_gid": 1003
      },
      {
        "access-mode": "READ_ONLY",
        "ip-ranges": [
          "192.168.0.0/24"
        ],
        "squash-mode": "NO_ROOT_SQUASH"
      }
    ]
  }
}

インスタンスに名前を付ける

Filestore インスタンスの名前またはインスタンス ID は、インスタンスの識別のため、gcloud コマンドで使用されます。インスタンス ID は、RFC 1035 の <label> 要素に準拠させる必要があります。具体的には、以下に従う必要があります。

  • 1~63 文字にする必要があります。
  • 先頭には小文字を使用します。
  • ダッシュ、小文字、数字で構成します。
  • 末尾には小文字または数字を使用します。

インスタンス ID は、設定されている Cloud プロジェクトとゾーンで一意であることが必要です。インスタンスの作成後にインスタンス ID は変更できません。

サービス階層を選択する

Filestore インスタンスのサービス階層は、そのインスタンス タイプストレージ タイプを組み合わせたものです。インスタンスの作成後にインスタンスのサービス階層を変更することはできません。

インスタンスのタイプ

ニーズに最適なインスタンス タイプを選択します。次の表に、基本高スケールエンタープライズの各インスタンス タイプの違いを示します。

機能 標準 高スケール 企業
容量 1~63.9 TiB 10~100 TiB 1~10 TiB
スケーラビリティ 1 GiB 単位またはその倍数。 2.5 TiB 単位で増減するか、その倍数になります。 256 GiB 単位で増減するか、その倍数になります。
パフォーマンス
  • 基本 HDD: 静的。
  • 基本 SSD: 10 TiB のパフォーマンス ステップ。
容量に応じて直線的にスケーリングします。 容量に応じて直線的にスケーリングします。

高スケール SSD およびエンタープライズ階層インスタンスの作成には、インスタンスのサイズに応じて 15 分から 1 時間を要します。

Filestore の割り当てはインスタンス作成の開始時に消費されますが、作成中の期間についてはインスタンスの料金は課金されません。

サービス階層の詳細については、Service 階層のページをご覧ください。

ストレージの種類

基本階層では、パフォーマンスのニーズに基づいて [HDD] または [SSD] を選択します。 パフォーマンス重視のワークロードには、SSD の使用をおすすめします。HDD は、高スケール インスタンスまたはエンタープライズ インスタンスでは使用できません。次の表に、基本 HDD、基本 SSD、高スケール SSD、エンタープライズ階層インスタンスのパフォーマンスの違いを示します。高スケール SSD 階層インスタンスのパフォーマンスは、インスタンスの容量に応じて自動的にスケーリングされます。

仕様 基本 HDD 基本 SSD 高スケール SSD 企業
読み取り IOPS
  • 1~10 TiB 容量: 600
  •  10+ TiB 容量: 1,000
60,000 90,000~480,000 12,000~120,000
書き込み IOPS
  • 1~10 TiB 容量: 1,000
  • 10+ TiB 容量: 5,000
25,000 30,000~160,000 4,000~40,000
読み取りスループット(MB/秒)
  • 1~10 TiB 容量: 100
  • 10+ TiB 容量: 180
1,200 3,000~16,000 120~1,200
書き込みスループット(MB/秒)
  • 1~10 TiB 容量: 100
  • 10+ TiB 容量: 120
350 660~3,520 100~1,000

パフォーマンスの詳細については、パフォーマンス ページをご覧ください。

容量の割り当て

インスタンスの作成時に必要な分に容量を割り当てます。容量の上限に近いたら、ランタイムに影響を与えることなく、必要に応じて容量をスケールアップできます。インスタンスの容量をモニタリングする方法については、インスタンスのモニタリングをご覧ください。

gcloud ツールでは、GiB または TiB を使用して容量を整数で指定できます。デフォルトの単位は GiB です。

次の表に、各階層で使用できるインスタンスのサイズを示します。

階層 最小サイズ 最大サイズ 最小ステップサイズ
基本 HDD 1 TiB 63.9 TiB 1 GiB
基本 SSD 2.5 TiB 63.9 TiB 1 GiB
高スケール SSD 10 TiB 100 TiB 2.5 TiB
企業 1 TiB 10 TiB 256 GiB

インスタンスのサイズには、ギビバイト全体の値や、最小から最大の範囲にある同等のテビバイトサイズ、または最小ステップサイズで割り切れるテビバイト相当の値を使用できます。たとえば、有効な高スケール SSD インスタンスのサイズは、10 TiB、12.5 TiB、15 TiB などがあります。

作成された基本階層インスタンスのサイズはスケールアップのみが可能ですが、エンタープライズおよび高スケール階層インスタンスのサイズはスケールアップまたはスケールダウンできます。詳細については、容量のスケーリングをご覧ください。

合計容量の割り当て

各プロジェクトには、リージョンごとに基本インスタンス、エンタープライズ インスタンス、高スケール インスタンスに個別の容量割り当てが割り振られます。割り当て上限に達すると、追加の Filestore インスタンスを作成する、または既存のインスタンスの容量を増やすことはできません。使用可能な割り当てを確認するには、Cloud Console の [割り当て] ページに移動します。

[割り当て] ページに移動

追加の割り当てをリクエストする方法については、割り当て量の増加のリクエストをご覧ください。

ファイル共有の命名

ファイル共有は、すべての共有ファイルが保存される Filestore インスタンスのディレクトリです。また、クライアント VM でマウントまたはマッピングするものでもあります。

ファイル共有の名前は、次の条件を満たしている必要があります。

  • 高スケール SSD 階層とエンタープライズ階層では 1~32 文字、基本 HDD 階層と基本 SSD 階層では 1~16 文字にする必要があります。
  • 文字から始まる。
  • 大文字、小文字、数字、アンダースコアで構成される。
  • 末尾には英字または数字を使用してください。

VPC ネットワークの選択

このネットワークは、標準 VPC ネットワークまたは共有 VPC ネットワークのいずれかです。クライアントがインスタンスに保存されているファイルにアクセスするには、そのインスタンスと同じネットワーク上にある必要があります。インスタンスの作成後に、このネットワークの選択を変更することはできません。

共有 VPC ネットワーク

サービス プロジェクトの共有 VPC ネットワークでインスタンスを作成するには、まずネットワーク管理者が共有 VPC ネットワークのプライベート サービス アクセスを有効にする必要があります。ホスト プロジェクトでインスタンスを作成する場合、プライベート サービス アクセスは必要ありません。

共有 VPC ネットワークは、Cloud Console に次の形式で表示されます。

projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME

詳しい手順については、共有 VPC ネットワーク上でのインスタンスの作成をご覧ください。

NFS ファイルのロック

この Filestore インスタンスで使用するアプリケーションで NFS ファイルのロックが必要であり、次のいずれかを選択している場合は後述のようにします。

  • デフォルト ネットワーク以外の VPC ネットワーク。
  • ファイアウォール ルールが変更されたデフォルトの VPC ネットワーク。

選択したネットワークで Filestore が使用するポートを開くことが必要な場合があります。詳細については、ファイアウォール ルールの構成をご覧ください。

ロケーションの選択

ロケーションとは、Filestore インスタンスが配置されているリージョンゾーンを指します。最適なパフォーマンスを確保し、リージョン間でのネットワーク料金が発生しないようにするため、アクセスが必要な Compute Engine VM と同じリージョンに Filestore インスタンスを配置してください。

リージョンとゾーンの詳細については、地域とリージョンをご覧ください。

IP ベースのアクセス制御を構成する

デフォルトでは、Filestore インスタンスは、同じ Cloud プロジェクトと VPC ネットワークを共有するすべてのクライアント(Compute Engine VM と GKE クラスタを含む)に対するルートレベルでの読み書きアクセスを許可します。アクセスを制限する場合は、IP アドレスを基に特定のアクセスレベルをクライアントに付与するルールを作成します。ルールを追加すると、ルールで指定されていない IP アドレスと範囲はすべて取り消されます。

次の表に、各アクセスレベルの権限を示します。これらのアクセスレベルは Cloud Console でのみ使用されます。gcloud ツールと API では、ルール構成を直接指定する必要があります。

アクセスレベル ルールの設定 説明
admin
  • read-write
  • no-root-squash
クライアントは root ユーザーとしてすべてのファイル、フォルダ、メタデータの表示と変更が可能です。uidgid を設定して、ファイルやフォルダの所有権を付与し、ファイル共有へのルートアクセス権限がないクライアントへのアクセスを許可することもできます。
admin-viewer
  • 読み取り専用
  • no-root-squash
クライアントは、すべてのファイル、フォルダ、メタデータを root ユーザーとして表示できますが、変更はできません。
編集者
  • read-write
  • root-squash
クライアントは、割り当てられた uidgid に基づいて、ファイル、フォルダ、メタデータの表示と変更を行うことができます。
ビューア
  • 読み取り専用
  • root-squash
クライアントは、割り当てられた uidgid に基づいてファイル、フォルダ、メタデータを表示できます。

root-squash は、uid 0gid 0 からのすべてのリクエストをそれぞれ anon_uidanon_gid にマッピングします。これにより、root ユーザーとしてファイル共有にアクセスしようとするクライアントからルートレベルのアクセス権が削除されます。

IP ベースのアクセスルールを作成するときは、内部 IP アドレスまたは内部 IP アドレス範囲と、付与されたアクセスレベルを指定する必要があります。インスタンスの作成時に、少なくとも 1 つのルールで admin アクセスを許可する必要があります。このルールはインスタンスの作成後に削除できます。Cloud Console では、最大 64 件の IP アドレスまたは IP アドレス範囲を指定したルールを最大 10 種類作成できます。

gcloud ツールでは、最大 10 個の異なるルールにまたがって、Filestore インスタンスごとに最大 64 個の異なる IP アドレスまたは CIDR ブロックを構成できます。ルールは、access-modesquash-modeanon_uid / anon_gid 構成の組み合わせとして定義されます。anon_uid フィールドと anon_gid フィールドのデフォルト値は 65534 で、API と gcloud ツールでのみ構成できます。

異なる 3 つの IP ベースのアクセスルールの例を次に示します。

  • access-mode=READ_ONLYsquash-mode=ROOT_SQUASHanon_uid=10000
  • access-mode=READ_WRITEsquash-mode=ROOT_SQUASHanon_gid=150
  • access-mode=READ_WRITEsquash-mode=NO_ROOT_SQUASH

gcloud ツールを使用して IP ベースのアクセス制御ルールを作成するには、instances create コマンドまたは instances update コマンドで--flag-file フラグを使用して、JSON 構成ファイルを指定します。たとえば、JSON 構成ファイルの名前が nfs-export-options.json の場合、このフラグは次のようになります。

--flag-file=nfs-export-options.json

json 構成ファイルの例:

   {
  "--file-share":
    {
      "capacity": "102400",
      "name": "my_vol",
      "nfs-export-options": [
        {
          "access-mode": "READ_WRITE",
          "ip-ranges": [
            "10.0.0.0/29",
            "10.2.0.0/29"
          ],
          "squash-mode": "ROOT_SQUASH",
          "anon_uid": 1003,
          "anon_gid": 1003
        },
         {
          "access-mode": "READ_ONLY",
          "ip-ranges": [
            "192.168.0.0/24"
          ],
          "squash-mode": "NO_ROOT_SQUASH"
        }
      ]
    }
}
  • ip-ranges は、アクセスを許可する IP アドレスまたは範囲です。複数の IP アドレスまたは範囲を指定するには、カンマで区切ります。例: 10.0.1.0,10.0.2.0,...
  • access-mode は、IP アドレスが ip-range 内にあるクライアントに付与するアクセスレベルです。値は READ_WRITE または READ_ONLY のいずれかに設定できます。デフォルト値は READ_WRITE です。
  • squash-mode の値は ROOT_SQUASH または NO_ROOT_SQUASH に設定できます。ROOT_SQUASH では、IP アドレスが ip-range 内のクライアントへのルートレベル アクセスが排除され、NO_ROOT_SQUASH では、ルートアクセスが有効にされます。デフォルト値は NO_ROOT_SQUASH です。
  • anon_uid は、anon_uid にマッピングするユーザー ID の値です。デフォルト値は 65534 です。
  • anon_gid は、anon_gid にマッピングするグループ ID の値です。デフォルト値は 65534 です。

省略可能項目

インスタンスの説明を追加する

インスタンスの説明を使用すると、自分自身または他のユーザーの説明、メモ、または簡単な指示を作成できます。たとえば、以下の関する情報を含めることができます。

  • インスタンスに格納されているファイルの種類。
  • インスタンスにアクセスできるユーザー。
  • インスタンスにアクセスする方法に関する手順。
  • インスタンスの目的。

インスタンスの説明の最大文字数は 2,048 文字です。使用できる文字に制限はありません。Filestore インスタンスを作成したら、必要に応じていつでもインスタンスの説明を更新できます。インスタンスの説明の更新に関する詳細は、インスタンスの編集をご覧ください。

ラベルの追加

ラベルとは、関連するインスタンスをグループ化し、インスタンスに関するメタデータを保存する場合に使用できる Key-Value ペアのことです。ラベルはいつでも追加、削除、変更できます。詳細については、ラベルの管理をご覧ください。

予約済み IP アドレスの範囲を構成する

IP アドレス範囲は、内部 IP アドレス範囲(10.0.0.0/8172.16.0.0/12192.168.0.0/16)のいずれかのサブセットで、基本階層インスタンスのブロックサイズは 29、エンタープライズ階層および高スケール階層インスタンスのブロックサイズは 24 であることが必要です。選択した IP アドレス範囲は、以下と重複していてはなりません。

  • 選択した VPC ネットワークからの既存のサブネット。
  • 選択した VPC ネットワーク内の既存の Filestore インスタンスの予約済み IP アドレス範囲。

Cloud Console の [VPC ネットワーク] ページに移動すると、ネットワークのサブネットの IP アドレス範囲を確認できます。

[VPC ネットワーク] ページに移動

Cloud Console の Filestore インスタンス ページで、Filestore インスタンスの予約済み IP アドレス範囲を確認できます。

Filestore インスタンス ページに移動

有効な Filestore インスタンスの IP アドレス範囲の例は、基本階層インスタンスの場合は 10.0.0.0/29、高スケール階層インスタンスの場合は 172.16.1.0/24 です。

プライベート サービス アクセスを使用し、予約済みの IP アドレス範囲を指定する場合は、接続に割り当てられたアドレス範囲の名前を指定する必要があります。範囲名を指定しない場合、Filestore はプライベート サービス アクセス接続に関連付けられている割り当て範囲を自動的に使用します。

次のステップ