Filestore インスタンスを Cloud TPU VM にマウントする

Filestore は、Compute Engine 向けのフルマネージド ネットワーク接続ストレージ(NAS)です。Filestore ではネイティブで既存のエンタープライズ アプリケーションに対応し、NFSv3 互換のクライアントがサポートされています。

準備

Cloud TPU VM に Filestore インスタンスをマウントするには、Cloud TPU VM に関連付けられたサービス アカウントに Filestore ロール(Cloud Filestore 編集者または Cloud Filestore 閲覧者)を追加する必要があります。Cloud TPU VM の作成時にカスタム サービス アカウントを指定しない場合、Cloud TPU VM はデフォルトの Compute Engine サービス アカウントを使用します。Cloud TPU VM の作成時にサービス アカウントを指定する方法の詳細については、Cloud TPU 環境を設定するをご覧ください。サービス アカウントを作成する方法の詳細については、サービス アカウントを作成するをご覧ください。

サービス アカウントに Filestore 編集者のロールを追加する

次の手順では、Cloud Filestore 編集者のロールを Compute Engine のデフォルト サービス アカウントに追加する方法について説明します。以下の手順で、Cloud Filestore 編集者のロールを任意のサービス アカウントに追加できます。ステップ 2 で、Compute Engine のデフォルトのサービス アカウントの代わりに、カスタム サービス アカウントを検索して使用できます。

  1. IAM コンソールを開きます。

  2. [プリンシパル別に表示] タブを選択し、[フィルタ] フィールドに「Name:Compute Engine default service account」と入力します。

  3. サービス アカウントの横にある [] をクリックします。 IAM コンソールに、Compute Engine のデフォルトのサービス アカウントに割り当てられているロールを一覧表示するダイアログが表示されます。

  4. 別のロールを追加するには、[] をクリックします。

  5. [ロールを選択] プルダウン メニューを展開し、フィルタに「Filestore」と入力して、[Cloud Filestore 編集者] を選択します。

  6. [保存] をクリックしてダイアログを閉じます。Compute Engine のデフォルトのサービス アカウントに Filestore 編集者のロールを追加しました。

サービス アカウントの詳細については、サービス アカウントの概要をご覧ください。 IAM ロールの詳細については、ロールと権限をご覧ください。

Filestore インスタンスを作成する

Filestore インスタンスの作成の手順に従って、Filestore インスタンスを作成します。

Cloud TPU VM に Filestore インスタンスをマウントする

Cloud TPU に Filestore インスタンスをマウントするために使用するコマンドは、単一の Cloud TPU または Cloud TPU Pod スライスのどちらを使用するかによって異なります。

単一の Cloud TPU VM に Filestore インスタンスをマウントする

  1. SSH を使用して Cloud TPU VM に接続します。
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --zone=your-zone
        
  2. nfs-common パッケージをインストールする
          sudo apt-get update --allow-releaseinfo-change \
            && sudo apt-get -y update \
            && sudo apt-get -y install nfs-common
        
  3. NFS をマウントするディレクトリを作成します。
          sudo mkdir -p mount-dir \
            && sudo chmod ugo+rw mount-dir
        
  4. Filestore の IP アドレスを見つけます。
          gcloud filestore instances describe filestore-instance-name \
            --region filestore-region
        
  5. Cloud TPU VM 上の Filestore インスタンスをマウント ディレクトリにマウントします。
          sudo mount filestore-ip:file-share-name mount-dir-name
        

Cloud TPU Pod スライスに Filestore インスタンスをマウントする

Cloud TPU Pod スライスは、2 つ以上の Cloud TPU VM で構成されます。次のコマンドでは、--worker=all フラグと --command フラグを指定した gcloud compute tpus tpu-vm ssh コマンドを使用して、すべての Cloud TPU VM で一度にコマンドを実行します。

  1. Pod スライス内のすべての Cloud TPU VM に nfs-common パッケージをインストールします。
            gcloud compute tpus tpu-vm ssh your-tpu-name \
              --project=your-gcp-project \
              --zone=your-zone \
              --worker=all \
              --command="sudo apt-get update --allow-releaseinfo-change && sudo apt-get -y update && sudo apt-get -y install nfs-common"
          
  2. Filestore インスタンスをマウントするディレクトリを作成します。 mount-dir-name は、任意のジディレクトリ名に置き換えます。
          gcloud compute tpus tpu-vm ssh your-tpu-name \
            --project=your-gcp-project \
              --zone=your-zone \
              --worker=all \
              --command="sudo mkdir -p mount-dir-name && sudo chmod ugo+rw mount-dir-name"
          
  3. Filestore インスタンスの IP アドレスを見つけます。
          gcloud filestore instances describe filestore-instance-name \
            --region filestore-region
        
  4. Filestore インスタンスを Cloud TPU VM にマウントします。次のように置き換えます。
          sudo mount filestore-ip:file-share-name mount-dir
        

Filestore インスタンスへのデータの書き込み

Filestore インスタンスをマウントするディレクトリに対して Linux の読み取りと書き込みの権限を必ず付与してください。このディレクトリは、ローカル ファイル システムと同じように使用できます。