gcloud ツールを使用したクイックスタート

このクイックスタートでは、gcloud コマンドライン ツールを使用して、Filestore の利用を速やかに開始する方法について説明します。このクイックスタートの学習内容は次のとおりです。

  • Filestore インスタンスを作成します。
  • そのインスタンスからのファイル共有を Compute Engine クライアント VM にマウントする。
  • マウントされたファイル共有にファイルを作成する。
  • Filestore インスタンスを削除する。

始める前に

  1. GCP プロジェクトを選択または作成します。

    プロジェクトを作成

     gcloud projects create project-id
    

    プロジェクトを選択

     gcloud config set project-id
    

    ここで、project-id は Google Cloud プロジェクトの ID です。

  2. Google Cloud Platform プロジェクトに対して課金が有効になっていることを確認します。 詳しくは、課金を有効にする方法をご覧ください。

  3. Cloud SDK をインストールし、初期化します

    すでに Cloud SDK をインストールしている場合は、次のコマンドを実行して更新します。

    gcloud components update
    

このチュートリアルを終了した後、作成したリソースを削除すると、それ以上の請求は発生しません。詳しくは、クリーンアップをご覧ください。

クライアントとなる Compute Engine VM を作成する

Linux

  1. Compute Engine インスタンスを作成します。インスタンスを次のように構成します。
    • インスタンスに nfs-client という名前を付けます。
    • --zone フラグを us-central1-c に設定します。
    • --image-project フラグを debian-cloud に設定します。
    • --image-family フラグを debian-10 に設定します。
    • --tags フラグを http-server, に設定します。
    gcloud compute instances create nfs-client --zone us-central1-c --image-project debian-cloud --image-family debian-10 --tags http-server,

Windows

  1. Compute Engine インスタンスを作成します。インスタンスを次のように構成します。
    • インスタンスに nfs-client という名前を付けます。
    • --zone フラグを us-central1-c に設定します。
    • --image-project フラグを windows-cloud に設定します。
    • --image-family フラグを windows-2012-r2 に設定します。
    • --tags フラグを http-server,http-server, に設定します。
    gcloud compute instances create nfs-client --zone us-central1-c --image-project windows-cloud --image-family windows-2012-r2 --tags http-server,http-server,

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

  1. Filestore インスタンスを作成します。インスタンスを次のように構成します。

    • インスタンスに nfs-server という名前を付けます。
    • --zone フラグを us-central1-c に設定します。
    • --tier フラグを BASIC_HDD に設定します。
    • --file-share フラグを name="vol1",capacity=1TB に設定します。
    • --network フラグを name="default" に設定します。
    gcloud beta filestore instances create nfs-server --zone=us-central1-c --tier=BASIC_HDD --file-share=name="vol1",capacity=1TB --network=name="default"
  2. 作成した Filestore インスタンスに関する情報を取得します。

    gcloud filestore instances describe nfs-server --zone=us-central1-c
    

    出力は次のようになります。

    createTime: '2019-10-11T17:28:23.340943077Z'
    fileShares:
    - capacityGb: '1024'
     name: vol1
    name: projects/yourproject/locations/us-central1-c/instances/nfs-server
    networks:
    - ipAddresses:
     - 10.0.0.2
     network: default
     reservedIpRange: 10.0.0.0/29
    state: READY
    tier: BASIC_HDD
    

    ファイル共有をマウントするときに使用するために、インスタンスの IP アドレスをコピーします。このクイックスタートでは、IP アドレス 10.0.0.2 を使用します。

Filestore ファイル共有を nfs-client インスタンスにマウントする

Linux

  1. nfs-client インスタンスへの SSH 接続を確立します。
    gcloud compute ssh nfs-client

  1. nfs-client のターミナル ウィンドウで次のコマンドを実行して、NFS をインストールします。

    sudo apt-get -y update &&
    sudo apt-get -y install nfs-common
    
  2. nfs-client インスタンスに Filestore ファイル共有のマウント ディレクトリを作成します。

    sudo mkdir /mnt/test
    
  3. Filestore インスタンスの IP アドレス、ファイル共有名、マウント先のマウント ディレクトリを指定して mount コマンドを実行し、ファイル共有を nfs-client インスタンスにマウントします。

    sudo mount 10.0.0.2:/vol1 /mnt/test
    
  4. 権限を変更し、ファイル共有にアクセスできるようにします。

    sudo chmod go+rw /mnt/test
    

Windows

管理者として nfs-client インスタンスにログインし、コマンド プロンプトを開きます。

  1. アカウントを作成し、nfs-client インスタンスの初期パスワードを設定します。

    gcloud compute reset-windows-password nfs-client
    
  2. インスタンスを構成してシリアルポート接続を有効にします。

    gcloud compute instances add-metadata nfs-client --metadata=serial-port-enable=1
    
  3. インタラクティブ セッションを開始します。

    gcloud compute connect-to-serial-port nfs-client --port=2
    
  4. SAC> プロンプトで、新しいチャネルを作成します。

    cmd
    

    Cmd0001 という名前のチャンネルが作成されます。

  5. チャンネルに接続します。

    ch -sn Cmd0001
    
  6. nfs-client インスタンスのユーザー名とパスワードを入力し、[Domain] フィールドは空白のままにします。これにより、nfs-client インスタンスの Command Prompt インターフェースに接続されます。

NFS クライアントをインストールする

  1. nfs-clientCommand Prompt で、Windows PowerShell に切り替えます。

    powershell
    
  2. NFS クライアントをインストールします。

    Install-WindowsFeature -Name NFS-Client
    
  3. プロンプトが表示されたら、nfs-client インスタンスを再起動します。

    restart-computer
    
  4. SAC> プロンプトで、次の通知が表示されるまで待ちます。

    EVENT: The CMD command is now available.
    

    次に、前述のように cmd コマンドと ch -sn コマンドを使用してログインし、nfs-client インスタンスに再接続します。

NFS クライアントが使用するユーザー ID を構成する

  1. コマンドプロンプトで powershell を実行して、Windows PowerShell に切り替えます。
  2. PowerShell で次のコマンドを実行して、2 つの新しいレジストリ エントリ AnonymousUidAnonymousGid を作成します。

    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 DWORD
    
  3. NFS クライアント サービスを再起動します。

    nfsadmin client stop
    
    nfsadmin client start
    

vol1 ファイル共有を nfs-client インスタンスにマッピングする

  1. PowerShell を終了します。

    exit
    
  2. Command Prompt から、ファイル共有 vol1nfs-server のドライブ Z: にマッピングします。

    net use z: \\10.0.0.2\vol1
    

マウントされたファイル共有にファイルを作成する

Linux

  1. nfs-client ターミナル ウィンドウで、次のコマンドを実行して testfile という名前のファイルを作成します。

    echo 'This is a test' > /mnt/test/testfile
    
  2. 次のコマンドを実行して、ファイルが作成されたことを確認します。また、返されたディレクトリ内に testfile があることを確認します。

    ls /mnt/test
    

Windows

  1. nfs-client インスタンスのコマンド プロンプト ウィンドウで、testfile という名前のファイルを作成します。

    echo 'This is a test' > Z:\testfile
    
  2. 次のコマンドを実行して、ファイルが作成されたことを確認します。

    dir Z:
    

    また、返されたディレクトリ内に testfile があることを確認します。

クリーンアップ

このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

Google Cloud プロジェクトを削除する

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト 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 オペレーションと、インスタンス上のリソースに対するアクセスを制御する方法を学ぶ。