このページでは、Cloud Console または gcloud
ツールを使用して Filestore インスタンスを作成する方法について説明します。
インスタンスの作成手順
Cloud Console
次の手順に従い、Cloud Console を使用して Filestore インスタンスを作成できます。ハイスケール SSD 割り当ては 0
から始まり、ハイスケール SSD インスタンスを作成する前に、ハイスケール SSD の割り当て増加リクエストを行って承認を得る必要があります。
Cloud Console で、Filestore インスタン スページに移動します。
[インスタンスを作成] をクリック
このページの以降のセクションの説明に従って、必要に応じてすべての必須フィールドとオプション フィールドに入力します。
[作成] をクリック
gcloud
始める前に
gcloud
ツールを使用するには、Cloud SDK をインストールするか、Cloud Console に組み込まれている Cloud Shell を使用する必要があります。
Filestore インスタンスを作成するための gcloud
コマンド
Filestore インスタンスを作成するには、instances
create
コマンドを実行します。高スケール SDD インスタンスを作成する場合は、gcloud beta filestore instances create
を実行する必要があります。また、高スケール SSD 割り当ては 0
で始まり、高スケール階層のインスタンスを作成する前に、大規模 SSD 割り当ての増加リクエストを作成して承認を得る必要があります。
gcloud [beta] filestore instances create instance-id \
--[project=project-id] \
--[zone=zone] \
--tier=tier \
--file-share=name="file-share-name",capacity=file-share-size \
--network=name="vpc-network",[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
zone は、Filestore インスタンスが存在するゾーンです。場所の選択をご覧ください。サポートされているゾーンのリストを取得するには、
gcloud filestore zones list
コマンドを実行します。Filestore インスタンスがgcloud
デフォルト ゾーンにある場合は、このフラグを省略できます。デフォルト ゾーンを設定するには、次のコマンドを実行します。gcloud config set filestore/zone zone
tier の値は、
BASIC_HDD
、BASIC_SSD
、またはHIGH_SCALE_SSD
のいずれかに設定できます。コマンドにbeta
を指定しない場合は、「STANDARDfor
BASID_HDDand
PREMIUMfor
BASIC_SSD」を使用する必要があります。詳細については、サービス階層をご覧ください。file-share-name は、インスタンスから提供される NFS ファイル共有に指定する名前です。ファイル共有の命名をご覧ください。
file-share-size は、ファイル共有に使用するサイズです。最小ファイル共有サイズは、
BASIC_HDD
階層インスタンスについては 1 テラバイト(TB
)、BASIC_SSD
階層インスタンスについては 2.5TB
、HIGH_SCALE_SSD 階層インスタンスについては 60TB
です。容量の割り当てをご覧ください。vpc-network は、インスタンスで使用する VPC ネットワークの名前です。承認済みネットワークの選択をご覧ください。vpc-network 値にレガシー ネットワークを指定することはできません。必要に応じて、自動モードの VPC ネットワークを新規に作成するの手順に従って、使用する新しい VPC ネットワークを作成します。
reserved-ip-address は、Filestore インスタンスの IP アドレス範囲です。予約済み IP アドレスの構成をご覧ください。このフラグを省略して、Filestore が空いている IP アドレス範囲を自動的に見つけてインスタンスに割り当てられるようにすることをおすすめします。
key は、追加するラベルです。Filestore インスタンスの作成時にラベルを追加する必要はありません。インスタンスを作成した後でラベルを追加、削除、更新することもできます。詳細については、ラベルの管理をご覧ください。
value はラベルの値です。
例
次のコマンドは、以下の特性が設定されたインスタンスを作成します。
- ID は
render1
。 - プロジェクトは
myproject
。 - ゾーンは
us-central1-c
。 - 階層は
BASIC_HDD
。 - ファイル共有名は
NFSvol
。 - ファイル共有のサイズは 2
TB
。 - 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 インスタンスのサービス階層は、そのインスタンス タイプとストレージ タイプを組み合わせたものです。インスタンスの作成後にインスタンスのサービス階層を変更することはできません。
インスタンスのタイプ
ニーズに最適なインスタンス タイプを選択します。インスタンスで 63.9 TB
を超えるストレージが必要になることが予想されない場合は、[基本] を選択することをおすすめします。ただし、マルチクライアント シナリオでは、高スケール階層によって全体的なパフォーマンスが向上します。ワークロードでパフォーマンスを重視しており、複数のクライアントに分散している場合でも、パフォーマンスの向上のために高スケール階層インスタンスをデプロイできます。次の表に、[基本] と [高スケール] の各インスタンス タイプの違いを示します。
機能 | 標準 | 高スケール |
---|---|---|
容量 | 1-63.9TB |
60-320TB |
スケーラブル | 実行時に容量を 1GB 単位またはその倍数単位でスケールアップできます。 |
実行時に容量を 10TB 単位またはその倍数単位でスケールアップあるいはスケールダウンできます。 |
パフォーマンス | 10TB のパフォーマンス ステップにおいて静的な性質を持ちます。 |
容量に応じて直線的にスケーリングします。 |
高スケール SSD 階層インスタンスの作成には、インスタンスのサイズに応じて 15 分から 1 時間を要します。
Filestore の割り当てはインスタンス作成の開始時に消費されますが、作成中の期間についてはインスタンスの料金は課金されません。
サービス階層の詳細については、Service 階層のページをご覧ください。
ストレージの種類
パフォーマンスのニーズに応じて [HDD] または [SSD] を選択します。パフォーマンス重視のワークロードには SSD を使用することをおすすめします。HDD は高スケール インスタンスでは使用できません。次の表に、基本 HDD、基本 SSD、高スケール SSD の各階層インスタンスの速度の違いについて要点を示します。高スケール SSD 階層インスタンスのパフォーマンスは、インスタンスの容量に応じて自動的にスケーリングされます。
仕様 | 基本 HDD | 基本 SSD | 高スケール SSD |
---|---|---|---|
読み取り IOPS |
|
60,000 | 90,000-480,000 |
書き込み IOPS |
|
25,000 | 30,000-160,000 |
読み取りスループット(MB/秒) |
|
1,200 | 3,000-16,000 |
書き込みスループット(MB/秒) |
|
350 | 660-3,520 |
パフォーマンスの詳細については、パフォーマンス ページをご覧ください。
容量の割り当て
Filestore インスタンスの容量は、ランタイムに影響を及ぼすことなく拡大でき、インスタンスの割り当てサイズに基づいて課金されるため、インスタンスの作成時に必要な分に容量を設定できます。容量の上限に近づいたら、必要に応じて容量を拡大できます。インスタンスの容量をモニタリングする方法については、インスタンスのモニタリングをご覧ください。
GB
または TB
を使用して、容量を整数で指定できます。デフォルトの単位は GB
です。
次の表に、各階層で使用できるインスタンスのサイズを示します。
階層 | 最小サイズ | 最大サイズ | 最小増分 |
---|---|---|---|
基本 HDD | 1TB (1024GB ) |
63.9TB (65433GB ) |
1GB |
基本 SSD | 2.5TB (2560GB ) |
63.9TB (65433GB ) |
1GB |
高スケール SSD | 60TB (61440GB ) |
320TB (327680GB ) |
10TB |
基本階層インスタンスのサイズは、インスタンスの最小サイズから最大サイズまでの任意のギビバイト値またはテビバイト相当値に設定できます。高スケール階層インスタンスのサイズは、10 テラバイトの倍数、またはギビバイト相当値であるインスタンスの最小サイズと最大サイズの間の任意の値に設定できます。単位については、ストレージ サイズの単位をご覧ください。
作成された基本階層インスタンスのサイズはスケールアップのみが可能であり、高スケール階層インスタンスのサイズはスケールアップまたはスケールダウンできます。詳細については、容量のスケーリングをご覧ください。
合計容量の割り当て
すべてのプロジェクトには、Google Cloud リージョンごとに、基本インスタンスと高スケール インスタンスに個別の容量割り当てが割り当てられます。割り当て上限に達すると、追加の Filestore インスタンスを作成する、または既存のインスタンスの容量を増やすことはできません。使用可能な割り当てを確認するには、Google Cloud Console の [割り当て] ページに移動します。
追加の割り当てをリクエストする方法については、割り当て量の増加のリクエストをご覧ください。
ファイル共有の命名
ファイル共有は、すべての共有ファイルが保存される Filestore インスタンスのディレクトリです。また、クライアント VM でマウントまたはマッピングするものでもあります。
ファイル共有の名前は、次の条件を満たしている必要があります。
- 1~16 文字の範囲である。
- 文字から始まる。
- 大文字、小文字、数字、アンダースコアで構成される。
- 末尾が文字または数字である。
承認済みネットワークを選択する
承認済みネットワークは、Filestore インスタンスの作成時にピアリングされる Cloud プロジェクトの VPC ネットワークです。Compute Engine VM は、インスタンスに保存されている共有ファイルにアクセスするために、Filestore インスタンスと同じネットワーク上にある必要があります。インスタンスの作成後に、承認済みネットワークは変更できません。
共有 VPC サービス プロジェクトを使用している場合は、共有 VPC ネットワーク上で Filestore インスタンスを直接作成することはできません。詳細については、既知の問題をご覧ください。
この 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 |
|
クライアントは 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
アクセスを許可する必要があります。このルールはインスタンスの作成後に削除できます。Cloud Console では、最大 64 件の IP アドレスまたは IP アドレス範囲を指定したルールを最大 10 種類作成できます。
gcloud
ツールでは、最大 10 個の異なるルールにまたがって、Filestore インスタンスごとに最大 64 個の異なる IP アドレスまたは CIDR ブロックを構成できます。ルールは、access-mode
、squash-mode
、anon_uid
/ anon_gid
構成の組み合わせとして定義されます。anon_uid
フィールドと anon_gid
フィールドのデフォルト値は 65534
で、API と gcloud
ツールでのみ構成できます。
例
異なる 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
ツールを使用して 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/8
、172.16.0.0/12
、192.168.0.0/16
)内であり、基本階層インスタンスのブロックサイズは 29、高スケール階層インスタンスのブロックサイズは 23 であることが必要です。選択する IP アドレスの範囲は、選択した VPC ネットワークに既存のサブネットや、そのネットワーク内の既存の Filestore インスタンスで予約されている IP アドレス範囲と重複しないようにする必要があります。
Google Cloud Console の [VPC ネットワーク] ページに移動すると、ネットワークのサブネットの IP アドレス範囲を確認できます。
Google Cloud Console の Filestore インスタンス ページで、Filestore インスタンスの予約済み IP アドレス範囲を確認できます。
有効な Filestore インスタンスの IP アドレス範囲の例は、基本階層インスタンスの場合は 10.0.0.0/29
、高スケール階層インスタンスの場合は 172.16.1.0/23
です。
次のステップ
- インスタンスの詳細を取得して、インスタンスの IP アドレスを取得する。これは、クライアントから Filestore ファイル共有にアクセスするために必要です。
- Filestore ファイル共有を Compute Engine VM インスタンスにマウントする。
- Google Kubernetes Engine クラスタから Filestore ファイル共有にアクセスする。