このページでは、Google Cloud コンソール または gcloud CLI を使用して Filestore インスタンスを作成する方法について説明します。
インスタンスの作成手順
Google Cloud コンソール
Google Cloud コンソールで、[Filestore インスタンス] ページに移動します。
[インスタンスを作成] をクリック
このページの以降のセクションの説明に従って、必要に応じてすべての必須フィールドとオプション フィールドに入力します。
[作成] をクリック
gcloud
準備
gcloud CLI を使用するには、gcloud CLI をインストールするか、Google Cloud コンソール に組み込まれている Cloud Shell を使用する必要があります。
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-mode と
DIRECT_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 インスタンスのサービス階層は、そのインスタンス タイプとストレージ タイプを組み合わせたものです。インスタンスの作成後にインスタンスのサービス階層を変更することはできません。
インスタンスのタイプ
ニーズに最適なインスタンス タイプを選択します。次の表は、基本、ゾーン、エンタープライズのインスタンス タイプの違いを示したものです。
特徴 | 基本 | ゾーン | Enterprise |
---|---|---|---|
容量 | 1~63.9 TiB | 10~100 TiB | 1~10 TiB |
スケーラビリティ | 1 GiB 単位またはその倍数。 |
|
256 GiB 単位で増減するか、その倍数になります。 |
パフォーマンス |
|
容量に応じて直線的にスケーリングします。 | 容量に応じて直線的にスケーリングします。 |
高容量帯域を持つゾーンとエンタープライズ インスタンスは、インスタンスのサイズに応じて作成に 15 分から 1 時間を要します。
Filestore の割り当てはインスタンス作成の開始時に消費されますが、作成中の期間についてはインスタンスの料金は課金されません。
サービス階層で使用できるサポート対象機能の詳細については、サービス階層ページをご覧ください。
ストレージの種類
基本インスタンスを作成するには、パフォーマンスのニーズに基づいて [HDD] または [SSD] のストレージ タイプを選択します。パフォーマンス重視のワークロードには、SSD の使用をおすすめします。HDD は、高容量帯域のゾーンまたはエンタープライズ インスタンスでは使用できません。次の表に、基本 HDD、基本 SSD、高容量帯域を持つゾーン、エンタープライズ サービス階層のパフォーマンスの違いを示します。高容量帯域を持つインスタンスを使用するゾーンのパフォーマンスは、インスタンスの容量に応じて自動的にスケーリングされます。
仕様 | 基本 HDD | 基本 SSD | 高容量帯域を持つゾーン | Enterprise |
---|---|---|---|---|
読み取り IOPS |
|
60,000 | 90,000-480,000 | 12,000-120,000 |
書き込み IOPS |
|
25,000 | 30,000-160,000 | 4,000-40,000 |
読み取りスループット(MB/秒) |
|
1,200 | 3,000-16,000 | 120-1,200 |
書き込みスループット(MB/秒) |
|
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 |
低容量帯域のゾーン | 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 Console に次の形式で表示されます。
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 Console でのみ使用されます。gcloud CLI と API では、ルール構成を直接指定する必要があります。
アクセスレベル | ルールの設定 | 説明 |
---|---|---|
admin |
|
クライアントは root ユーザーとしてすべてのファイル、フォルダ、メタデータの表示と変更が可能です。uid と gid を設定して、ファイルやフォルダの所有権を付与し、ファイル共有へのルートアクセス権限がないクライアントへのアクセスを許可することもできます。 |
admin-viewer |
|
クライアントは、すべてのファイル、フォルダ、メタデータを root ユーザーとして表示できますが、変更はできません。 |
編集者 |
|
クライアントは、割り当てられた uid と gid に基づいて、ファイル、フォルダ、メタデータの表示と変更を行うことができます。 |
ビューア |
|
クライアントは、割り当てられた uid と gid に基づいてファイル、フォルダ、メタデータを表示できます。 |
root-squash
は、uid 0
と gid 0
からのすべてのリクエストをそれぞれ anon_uid
と anon_gid
にマッピングします。これにより、root ユーザーとしてファイル共有にアクセスしようとするクライアントからルートレベルのアクセス権が削除されます。
IP ベースのアクセスルールを作成する場合:
- 内部 IP アドレスまたは内部 IP アドレス範囲と、付与するアクセスレベルを指定する必要があります。
- インスタンス作成時に、少なくとも 1 つのルールで
admin
アクセス権を付与する必要があります。このルールはインスタンスの作成後に削除できます。 - ゾーン階層とエンタープライズ階層のインスタンスは、重複する IP アドレス範囲の構成設定をサポートしています。基本階層のインスタンスはサポートされていません。詳細については、権限の重複をご覧ください。
Google Cloud Console では、最大 4 つのルール(管理者、管理閲覧者、編集者、閲覧者)を作成できます。これらのルールには、最大 64 個の異なる IP アドレスまたは範囲が含まれます。
gcloud CLI では、最大 10 個の異なるルールにまたがって、Filestore インスタンスごとに最大 64 個の異なる IP アドレスまたは CIDR ブロックを構成できます。ルールは、access-mode
、squash-mode
、anon_uid
/ anon_gid
構成の組み合わせとして定義されます。anon_uid
フィールドと anon_gid
フィールドのデフォルト値は 65534
で、API と gcloud CLI でのみ構成できます。
例
異なる 3 つの IP ベースのアクセスルールの例を次に示します。
access-mode=READ_ONLY
、squash-mode=ROOT_SQUASH
、anon_uid=10000
。access-mode=READ_WRITE
、squash-mode=ROOT_SQUASH
、anon_gid=150
。access-mode=READ_WRITE
、squash-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 アドレス範囲を確認できます。
Google Cloud Console の Filestore インスタンス ページで、Filestore インスタンスの予約済み IP アドレス範囲を確認できます。
プライベート サービス アクセスを使用し、予約済みの IP アドレス範囲を指定する場合は、接続に割り当てられたアドレス範囲の名前を指定する必要があります。範囲名を指定しない場合、Filestore はプライベート サービス アクセス接続に関連付けられている割り当て範囲を自動的に使用します。
顧客管理の暗号鍵を使用する
Google Cloud では、デフォルトで、Google が管理する暗号鍵を使用して、自動的に保存されているデータを暗号化します。データを保護する鍵をより詳細に管理する必要がある場合、Filestore に顧客管理の暗号鍵(CMEK)を使用できます。詳細については、顧客管理の暗号鍵でデータを暗号化するをご覧ください。
次のステップ
- インスタンスをクライアントに接続する方法を確認する。
- クライアントから Filestore ファイル共有にアクセスできるように、インスタンスの IP アドレスなどのインスタンスの詳細を取得する方法を確認する。
- Filestore に関連するインスタンス作成問題のトラブルシューティングを行う。
- Virtual Private Cloud(VPC)ネットワークとサブネットを確認する。
- Filestore のネットワーキングと IP リソースの要件について確認する。