インスタンスの作成

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

インスタンスの作成手順

Google Cloud コンソール

  1. Google Cloud Console で、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 インスタンスを含む 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
    

    Enterprise 階層の場合は、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 Multishares は、エンタープライズ階層のインスタンスで利用可能で、1 つのインスタンスに複数の共有アクセスが可能です。

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

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 CLI では、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 などがあります。

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

合計容量の割り当て

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

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

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

ファイル共有の命名

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

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

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

VPC ネットワークの選択

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

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

共有 VPC ネットワーク

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

共有 VPC ネットワークは、Google 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 アドレスと範囲はすべて取り消されます。

次の表に、各アクセスレベルの権限を示します。これらのアクセスレベルは Google Cloud Console でのみ使用されます。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 アドレス範囲と、付与するアクセスレベルを指定する必要があります。
  • 構成全体で、IP アドレスまたは IP アドレス範囲を重複させることはできません。
  • インスタンス作成時に、少なくとも 1 つのルールで admin アクセス権を付与する必要があります。このルールはインスタンスの作成後に削除できます。

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 コマンドで --flag-file フラグを使用して、JSON 構成ファイルを指定します。たとえば、JSON 構成ファイルの名前が nfs-export-options.json の場合、このフラグは次のようになります。

--flag-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 アドレスまたは 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 アドレス範囲が関連付けられている必要があります。Filestore では、無料の IP アドレス範囲を自動的に判断してインスタンスに割り当てることをおすすめします。独自の範囲を選択する場合は、Filestore IP リソースに関する次の要件を考慮してください。

  • IP アドレス範囲は、内部 IP アドレス範囲のいずれか(10.0.0.0/8172.16.0.0/12192.168.0.0/16)のサブセットである必要があります。
    • 基本階層インスタンスには 29 のブロックサイズが必要です。たとえば、10.123.123.0/29 とします。
      • この IP アドレスは、内部コンポーネント用に予約されているため、172.17.0.0/16 範囲と重複してはなりません。
        詳しくは、Known Issues をご覧ください。
    • 高スケール SSD 階層のインスタンスには、26 のブロックサイズが必要です。例: 172.16.123.0/26
    • エンタープライズ階層のインスタンスには、26 のブロックサイズが必要です。例: 192.168.123.0/26
  • IP アドレスの範囲は、次のアドレスと重複しないようにする必要があります。
    • Filestore インスタンスが使用する VPC ネットワーク内の既存のサブネット。
    • Filestore インスタンスが使用するサブネットとピアリングされている VPC ネットワーク内の既存のサブネット。詳細については、ピアリング時にサブネットが重複している場合をご覧ください。
    • そのネットワーク内の他の既存の Filestore インスタンスに割り当てられた IP アドレス範囲
  • VPC ごとに少なくとも 1 つの VPC ネットワーク ピアリングまたはプライベート サービス アクセス接続が必要です。

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

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

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

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

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

顧客管理の暗号鍵を使用

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

次のステップ