インスタンスを作成する

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

インスタンスの作成手順

Google Cloud コンソール

  1. Google Cloud コンソールで、[Filestore インスタンス] ページに移動します。

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

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

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

  4. [作成] をクリック

gcloud

準備

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

Google Cloud コンソールに移動

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

Filestore インスタンスを作成するには、filestore instances create コマンドを実行します。インスタンスの割り当ては、リージョンと階層によって異なります。詳細については、割り当てまたは割り当ての増加をリクエストするをご覧ください。

gcloud 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,…]]
    [--kms-key=kms-key]

以下を置き換えます。

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

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

      gcloud config set filestore/zone zone
    

    エンタープライズ階層の場合は、config set filestore/region コマンドを使用します。

      gcloud config set filestore/region region
    
  • tier は、使用するサービス階層に置き換えます。

  • 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 を指定する必要があります。次に例を示します。

    --network=name=projects/host/global/networks/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 をラベルの値に置き換えます。

  • kms-key は、独自のデータ暗号化を管理するときに使用する Cloud KMS 暗号鍵の完全修飾名です。形式は次のようになります。

    projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
    

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

  • ID は render1
  • プロジェクトは myproject
  • ゾーンは us-central1-c
  • 階層は BASIC_HDD
  • ファイル共有名は my_vol
  • ファイル共有のサイズは 2 TiB。
  • VPC ネットワークは default
  • 予約済み IP アドレスの範囲は 10.0.7.0/29
  • IP アドレス 10.0.2.0 でクライアントにルート スカッシュによる読み取りと書き込みのアクセス権を付与します。
gcloud 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": "2048",
    "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/26"
        ],
        "squash-mode": "NO_ROOT_SQUASH"
      }
    ]
  }
}

インスタンスと共有を理解する

Filestore インスタンスは、物理ストレージ容量を表します。

共有は、個々の固有のアクセス ポイントを持つストレージの割り当て部分を表します。

すべてのサービス階層が、共有とインスタンスの比率が 1 対 1 のストレージ オプションを提供します。代わりに、GKE 用の Filestore マルチシェアは、エンタープライズ階層のインスタンスでのみ使用でき、単一インスタンス上の複数の共有へのアクセス権を提供します。

インスタンス名(インスタンス ID)は、管理者がインスタンスを管理するために使用されます。ファイル共有名は、クライアントがこれらのインスタンスからエクスポートされた共有に接続するために使用されます。

インスタンスの名前を指定

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

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

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

サービス階層を選択する

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

インスタンスのタイプ

ニーズに最適なインスタンス タイプを選択します。次の表は、基本ゾーンエンタープライズのインスタンス タイプの違いを示したものです。

能力 基本 ゾーン エンタープライズ
収容人数 1 TiB~63.9 TiB 1 TiB~100 TiB 1 TiB~10 TiB
スケーラビリティ 1 GiB またはその倍数単位でスケールアップします
  • ゾーン、低容量範囲: 256 GiB またはその倍数単位でスケールアップまたはスケールダウンします
  • ゾーン、高容量範囲: 2.5 TiB またはその倍数単位でスケールアップまたはスケールダウンします
256 GiB またはその倍数単位でスケールアップまたはスケールダウンします
パフォーマンス
  • 基本 HDD: 静的。
  • 基本 SSD: 10 TiB のパフォーマンス ステップ

は、選択した容量範囲の制限内で、容量に比例してスケーリングされます。
容量に応じて直線的にスケーリングします
プロトコル NFSv3 NFSv3、NFSv4.1 NFSv3、NFSv4.1

ゾーンインスタンスとエンタープライズ インスタンスの Create オペレーションは、インスタンスのサイズに応じて 15 分から 1 時間の間の時間がかかる可能性があります。

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

サービス階層で使用できるサポート対象機能の詳細については、サービス階層ページをご覧ください。

ストレージの種類

インスタンスを作成するには、パフォーマンスのニーズに基づいてストレージ タイプを選択します。たとえば、パフォーマンス重視のワークロードには、基本 SSD サービス階層を選択します。

次の表に、サービス階層間のパフォーマンスの違いを示します。

仕様 基本 HDD 基本 SSD 低容量範囲
のゾーン
高容量範囲
のゾーン
エンタープライズ
読み取り IOPS
  • 1~10 TiB 容量: 600
  •  10+ TiB 容量: 1,000
60,000 9,200-89,700 92,000-920,000 12,000-117,000
書き込み IOPS
  • 1~10 TiB 容量: 1,000
  • 10+ TiB 容量: 5,000
25,000 2,600-25,350 26,000-260,000 4,000-40,000
読み取りスループット(MB/秒)
  • 1~10、TiB 容量: 100
  • 10+ TiB 容量: 180
1,200 260-2,535 2,600-26,000 120-1,200
書き込みスループット(MB/秒)
  • 1~10 TiB 容量: 100
  • 10+ TiB 容量: 120
350 88-858 880-8,800 100-1,000

パフォーマンスの詳細については、パフォーマンスまたはサービスティアのページをご覧ください。

容量の割り当て

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

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

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

階層 最小サイズ 最大サイズ 増分ステップサイズ
基本 HDD 1 TiB 63.9 TiB 1 GiB
基本 SSD 2.5 TiB 63.9 TiB 1 GiB
低容量範囲のゾーン 1 TiB 9.75、TiB 256 GiB
高容量範囲のゾーン 10 TiB 100 TiB 2.5 TiB
エンタープライズ 1 TiB 10 TiB 256 GiB

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

作成された基本階層のインスタンスは、スケールアップのみが可能です。その他のすべてのサービスティアでは、容量をスケールアップまたはスケールダウンできます。詳細については、インスタンスを編集する容量をスケーリングするをご覧ください。

合計容量の割り当て

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

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

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

ファイル共有に名前を付ける

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

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

  • ゾーン階層とエンタープライズ階層では 1~32 文字、基本階層では 1~16 文字にします。
  • 文字から始まる。
  • 大文字、小文字、数字、アンダースコアで構成される。
  • 末尾は英字または数字にしてください。

VPC ネットワークを選択する

Filestore で使用するネットワークには、標準 VPC ネットワークまたは共有 VPC ネットワークのいずれかを選択できます。いずれの場合も、選択するネットワークには、Filestore インスタンス専用の十分な IP リソースが必要です。十分な IP リソースを割り当てられていない場合は、インスタンスの作成に失敗します

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

共有 VPC ネットワーク

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

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

projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME

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

NFS ファイルのロック

この Filestore インスタンスで使用するアプリケーションで NFS ファイルのロックが必要であり、次のいずれかを選択している場合は、選択したネットワーク内の、Filestore で使用されているポートを開かなければならない場合があります。

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

詳細については、ファイアウォール ルールの構成をご覧ください。

場所を選択

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

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

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

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

次の表に、各アクセスレベルの権限を示します。これらのアクセスレベルは Google Cloud コンソールでのみ使用されます。gcloud CLI と 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 アクセス権を付与する必要があります。このルールはインスタンスの作成後に削除できます。
  • ゾーン階層とエンタープライズ階層のインスタンスは、重複する IP アドレス範囲の構成設定をサポートしています。基本階層のインスタンスはサポートされていません。詳細については、権限の重複をご覧ください。

Google Cloud Console では、最大 4 つのルール(管理者、管理閲覧者、編集者、閲覧者)を作成できます。これらのルールには、最大 64 個の異なる IP アドレスまたは範囲が含まれます。

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

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

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

JSON 構成ファイルの例:

   {
  "--file-share":
    {
      "capacity": "2048",
      "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/26"
          ],
          "squash-mode": "NO_ROOT_SQUASH"
        }
      ]
    }
}
  • ip-rangesは、アクセスを許可する IP アドレスまたは範囲です。複数の IP アドレスまたは IP アドレス範囲を指定するには、カンマで区切ります。ゾーンとエンタープライズの階層のインスタンスのみが重複する IP アドレス範囲の構成設定をサポートしています。詳細については、権限の重複をご覧ください。
  • 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 です。

RFC 1918 以外の範囲のクライアント

RFC 1918 以外のクライアントを Filestore インスタンスに接続する場合は、IP-ベースのアクセス制御を使って Filestore インスタンスへのアクセス権を明示的に付与する必要があります。

任意の項目

以降のセクションでは、オプションのフィールドについて説明します。

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

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

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

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

ラベルを追加する

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

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

Filestore インスタンスのそれぞれに、IP アドレス範囲が関連付けられている必要があります。RFC 1918 と RFC 1918 以外の IP アドレス範囲(GA)の両方がサポートされています。

ユーザーに、Filestore が空いている IP アドレス範囲を自動的に見つけてインスタンスに割り当てられるようにすることをおすすめします。独自の範囲を選択する場合は、次の Filestore IP リソースの要件を考慮してください。

  • CIDR 表記を使用する必要があります。

  • 有効な VPC サブネット範囲である必要があります。

  • ベーシック ティア インスタンスのブロックサイズは 29 にする必要があります。例: 10.123.123.0/29

  • ゾーン階層とエンタープライズ階層のインスタンスのブロックサイズは 26 である必要があります。例: 172.16.123.0/26

  • IP アドレス範囲は、以下と重複しないようにします。

    • Filestore インスタンスが使用する VPC ネットワーク内の既存のサブネット。

    • Filestore インスタンスが使用するサブネットとピアリングされている VPC ネットワーク内の既存のサブネット。詳細については、ピアリング時にサブネットが重複している場合をご覧ください。

    • そのネットワーク内の他の既存の Filestore インスタンスに割り当てられた IP アドレス範囲

    • 内部コンポーネント用に予約されている 172.17.0.0/16 アドレス範囲。詳しくは、既知の問題をご覧ください。

  • VPC ごとに少なくとも 1 つの VPC ネットワーク ピアリング接続または限定公開サービス アクセス接続が必要です。

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

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

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

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

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

顧客管理の暗号鍵を使用する

Google Cloud では、デフォルトで、Google が管理する暗号鍵を使用して、自動的に保存されているデータを暗号化します。データを保護する鍵をより詳細に管理する必要がある場合、Filestore に顧客管理の暗号鍵(CMEK)を使用できます。詳細については、顧客管理の暗号鍵でデータを暗号化するをご覧ください。

次のステップ