gcloud CLI を使用して Filestore インスタンスを作成する
このクイックスタートでは、Filestore で Google Cloud CLI を使用してすぐに利用を開始する方法を説明します。このクイックスタートの内容:
- Filestore インスタンスを作成します。
- そのインスタンスからのファイル共有を Compute Engine クライアント VM にマウントする。
- マウントされたファイル共有にファイルを作成する。
- Filestore インスタンスを削除する。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Filestore API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable file.googleapis.com
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Filestore API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable file.googleapis.com
必要なロール
このクイックスタートを完了するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
Filestore インスタンスの作成と管理:
Cloud Filestore 編集者 (
roles/file.editor) -
Compute Engine インスタンスを作成して管理する: Compute インスタンス管理者(v1) (
roles/compute.instanceAdmin.v1)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
Compute Engine VM を作成する
Linux
-
Compute Engine インスタンスを作成します。インスタンスを次のように構成します。
-
インスタンスに
nfs-clientという名前を付けます。 -
--zoneフラグをus-central1-cに設定します。 -
--image-projectフラグをdebian-cloudに設定します。 -
--image-familyフラグをdebian-11に設定します。 -
--tagsフラグをhttp-serverに設定します。
gcloud compute instances create nfs-client --zone=us-central1-c --image-project=debian-cloud --image-family=debian-11 --tags=http-server
-
インスタンスに
Windows
-
Compute Engine インスタンスを作成します。インスタンスを次のように構成します。
-
インスタンスに
nfs-clientという名前を付けます。 -
--zoneフラグをus-central1-cに設定します。 -
--image-projectフラグをwindows-cloudに設定します。 -
--image-familyフラグをwindows-2012-r2に設定します。 -
--tagsフラグをhttp-serverに設定します。
gcloud compute instances create nfs-client --zone=us-central1-c --image-project=windows-cloud --image-family=windows-2012-r2 --tags=http-server
-
インスタンスに
Filestore インスタンスを作成する
このクイックスタートでは、カスタム パフォーマンスが有効になっているリージョン サービスティアでインスタンスを作成する方法について説明します。インスタンスの作成の詳細については、インスタンスを作成するをご覧ください。
Filestore インスタンスを作成します。インスタンスを次のように構成します。
- インスタンスに
nfs-serverという名前を付けます。 --regionフラグをus-central1に設定します。--tierフラグをREGIONALに設定します。--performanceフラグをmax-iops-per-tb=17000に設定します。--file-shareフラグをname="vol1",capacity=1TBに設定します。--networkフラグをname="default"に設定します。gcloud filestore instances create nfs-server --region=us-central1 --tier=REGIONAL --performance=max-iops-per-tb=17000 --file-share=name="vol1",capacity=1TB --network=name="default"
- インスタンスに
作成した Filestore インスタンスに関する情報を取得します。
gcloud filestore instances describe nfs-server --region=us-central1
このコマンドは次のような出力を返します。
createTime: '2025-02-12T09:15:08.163246004Z' customPerformanceSupported: true fileShares: -capacityGb: '1024' name: vol1 name: projects/yourproject/locations/us-central1/instances/nfs-server networks: -connectMode: DIRECT_PEERING ipAddresses: - 10.0.0.2 network: default reservedIpRange: 10.0.0.2/26 performanceConfig: iopsPerTb: maxIopsPerTb: '17000' performanceLimits: maxIops: '17000' maxReadIops: '17000' maxReadThroughputBps: '417792000' maxWriteIops: '5100' maxWriteThroughputBps: '139264000' protocol: NFS_V3 state: READY tier: REGIONAL
ファイル共有をマウントするときに使用するために、インスタンスの IP アドレスをコピーします。このクイックスタートでは、IP アドレス 10.0.0.2 を使用します。
Filestore ファイル共有を nfs-client インスタンスにマウントする
Linux
-
nfs-clientインスタンスへの SSH 接続を確立します。gcloud compute ssh nfs-client
nfs-clientのターミナル ウィンドウで次のコマンドを実行して、NFS をインストールします。sudo apt-get -y update && sudo apt-get -y install nfs-commonnfs-clientインスタンスに Filestore ファイル共有のマウント ディレクトリを作成します。sudo mkdir /mnt/testFilestore インスタンスの IP アドレス、ファイル共有名、マウント先のマウント ディレクトリを指定して
mountコマンドを実行し、ファイル共有をnfs-clientインスタンスにマウントします。sudo mount MOUNT-POINT-DIRECTORY /mnt/testここで
MOUNT-POINT-DIRECTORY は、Filestore ファイル共有がマウントされているディレクトリへのパスです。例:
10.0.0.2:/vol1省略可: Filestore ファイル共有がマウントされていることを確認します。
df -h --type=nfs
権限を変更し、ファイル共有にアクセスできるようにします。
sudo chmod go+rw /mnt/test
Windows
管理者として nfs-client インスタンスにログインし、コマンド プロンプトを開く
アカウントを作成し、
nfs-clientインスタンスの初期パスワードを設定します。gcloud compute reset-windows-password nfs-clientインスタンスを構成してシリアルポート接続を有効にします。
gcloud compute instances add-metadata nfs-client --metadata=serial-port-enable=1インタラクティブ セッションを開始します。
gcloud compute connect-to-serial-port nfs-client --port=2SAC>プロンプトで、新しいチャネルを作成します。cmdCmd0001という名前のチャンネルが作成されます。チャンネルに接続します。
ch -sn Cmd0001nfs-clientインスタンスのユーザー名とパスワードを入力し、[Domain] フィールドは空白のままにします。nfs-clientインスタンスのCommand Promptインターフェースに接続されます。
NFS クライアントをインストールする
nfs-clientのCommand Promptで、Windows PowerShellに切り替えます。powershellNFSクライアントをインストールします。Install-WindowsFeature -Name NFS-Clientプロンプトが表示されたら、
nfs-clientインスタンスを再起動します。restart-computerSAC>プロンプトで、次の通知が表示されるまで待ちます。EVENT: The CMD command is now available.
次に、前述のように
cmdコマンドとch -snコマンドを使用してログインし、nfs-clientインスタンスに再接続します。
NFS クライアントが使用するユーザー ID を構成する
- コマンドプロンプトで
powershellを実行して、Windows PowerShell に切り替えます。 PowerShellで次のコマンドを実行して、2 つの新しいレジストリ エントリAnonymousUidとAnonymousGidを作成します。New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" ` -Name "AnonymousUid" -Value "0" -PropertyType DWORD New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default" ` -Name "AnonymousGid" -Value "0" -PropertyType DWORDNFS クライアント サービスを再起動します。
nfsadmin client stop nfsadmin client start
vol1 ファイル共有を nfs-client インスタンスにマッピングする
PowerShellを終了します。exitCommand Promptから、Filestore インスタンスの IP アドレス、ファイル共有名、マウント先のドライブ レターを指定してmountコマンドを実行し、ファイル共有をnfs-clientインスタンスにマウントします。mount -o mtype=hard 10.0.0.2:/vol1 z:
マウントされたファイル共有にファイルを作成する
Linux
nfs-clientターミナル ウィンドウで、次のコマンドを実行してtestfileという名前のファイルを作成します。echo 'This is a test' > /mnt/test/testfile次のコマンドを実行して、ファイルが作成されたことを確認します。また、返されたディレクトリ内に
testfileがあることを確認します。ls /mnt/test
Windows
nfs-clientインスタンスのコマンド プロンプト ウィンドウで、testfileという名前のファイルを作成します。echo 'This is a test' > Z:\testfile次のコマンドを実行して、ファイルが作成されたことを確認します。
dir Z:また、返されたディレクトリ内に
testfileがあることを確認します。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、リソースを含む Google Cloud プロジェクトを削除します。
Google Cloud プロジェクトを削除する
Google Cloud プロジェクトを削除します。
gcloud projects delete PROJECT_ID
Filestore インスタンスを削除する
nfs-server インスタンスを削除します。
gcloud filestore instances delete nfs-server --zone=us-central1-c
Compute Engine インスタンスを削除する
インスタンスを削除します。gcloud compute instances delete nfs-client
次のステップ
- Filestore の概要を読んで、Filestore の基本をさらに学習する。
- インスタンスの作成の手順に従って、Filestore インスタンスを自分で設定する。
- アクセス制御を読んで、Filestore 操作と、インスタンス上のリソースに対するアクセスを制御する方法を学習する。
- Filestore インスタンス間でデータをコピーする方法を確認する。
- Cloud Storage から Filestore に大規模なデータセットを転送する方法を確認する。