このページでは、以下の対象間でデータをコピーする方法について説明します。
- Cloud Storage バケットから Filestore ファイル共有へ。
- 環境内のパソコンから Filestore ファイル共有へ。
- Filestore ファイル共有から Cloud Storage バケットへ。
以下の手順を行うには、gsutil
と gcloud
のコマンドライン ツールが必要です。
Cloud Storage バケットから Filestore ファイル共有にデータをコピーする
gsutil rsync
コマンドを使用して、Cloud Storage バケットから Compute Engine VM インスタンスにマウントされた Filestore ファイル共有にデータをコピーできます。gsutil rsync
コマンドは Linux VM と Windows VM の両方で機能します。Linux VM インスタンスでは、rsync
などの標準コマンドを使用してデータをコピーすることもできます。
Linux
Cloud Console で、[VM インスタンス] ページに移動します。
ターゲット Filestore のファイル共有がマウントされている Compute Engine VM インスタンスを選択し、[SSH] をクリックしてその VM インスタンスでターミナルを開きます。
次のコマンドを実行して、マウントされた Filestore ファイル共有にデータをコピーします。
gsutil rsync
コマンドで-r
オプションを指定すると、指定した場所のサブディレクトリが再使用されます。gsutil rsync gs://bucket mount-directory
ここで
- bucket は、データのコピー元になる Cloud Storage バケット、ディレクトリ、またはサブディレクトリです。
- mount-directory は、Filestore ファイル共有がマウントされているクライアントのディレクトリです。
例
次のコマンドでは、data
バケットとすべてのサブディレクトリのデータが /mnt/filer
ディレクトリにコピーされます。
gsutil rsync -r gs://data /mnt/filer
Windows
Cloud Console で、[VM インスタンス] ページに移動します。
ターゲット Filestore のファイル共有がドライブにマッピングされている Compute Engine VM インスタンスを選択し、[RDP] をクリックしてその VM へのリモート デスクトップ接続を開きます。
次のコマンドを実行して、マッピングされた Filestore ファイル共有にデータをコピーします。
gsutil rsync
コマンドで-r
オプションを指定すると、指定した場所のサブディレクトリが再帰的に処理されます。gsutil rsync gs://bucket mount-directory
ここで
- bucket は、データのコピー元になる Cloud Storage バケット、ディレクトリ、またはサブディレクトリです。
- mount-directory は、Filestore ファイル共有がマウントされているクライアントのディレクトリです。
例
次のコマンドは、data
バケットとすべてのサブディレクトリから、Filestore のファイル共有にマッピングされている Z:
ドライブにデータをコピーします。
gsutil rsync -r gs://data Z:\
環境内のパソコンから Filestore ファイル共有にデータをコピーする
gcloud compute scp
コマンドを使用して、環境内のパソコンから Compute Engine Linux VM インスタンスにマウントされた Filestore ファイル共有にデータをコピーできます。gcloud compute scp
コマンドは、Windows VM インスタンスでは機能しません。
- SSH を使用して、コピーするデータを含むパソコンに接続します。
次のコマンドを実行して、
gcloud
ツールがインストールされているかどうかを確認します。which gcloud
このコマンドは、
gcloud
ツールがインストールされていればインストール パスを返します。 インストール パスが返されない場合は、Cloud SDK のインストールの手順に沿ってインストールします。マウントされたファイル共有にデータをコピーします。
gcloud compute scp local-data-path client-name:/mount-directory --project=project-id --zone=zone
ここで
- local-data-path は、インスタンスにコピーするデータが格納されたローカル ファイルまたはディレクトリへのパスです。他のサブディレクトリからデータをコピーする場合は、local-data-path の後に
--recurse
フラグを使用します。 - client-name は、Filestore ファイル共有がマウントされている Compute Engine VM インスタンスの名前です。
- mount-directory は、Filestore ファイル共有がマウントされているクライアントのディレクトリです。
- project-id は、クライアント VM インスタンスが含まれる GCP プロジェクトの ID です。
gcloud config set project project-id
を使用して設定した場合は、このフラグを省略してgcloud
のデフォルト プロジェクトを使用できます。 - zone は、Compute Engine VM インスタンスが存在する GCP ゾーンです。
gcloud config set compute/zone zone
を使用して設定した場合は、このフラグを省略して代わりにgcloud
のデフォルトゾーンを使用できます。
- local-data-path は、インスタンスにコピーするデータが格納されたローカル ファイルまたはディレクトリへのパスです。他のサブディレクトリからデータをコピーする場合は、local-data-path の後に
例
次のコマンドは、ローカルの /etc/acme/data
ディレクトリとそのサブディレクトリのデータを、myproject
プロジェクト、ゾーン us-central1-c
の nfs-client
VM インスタンスの /mnt/filer
ディレクトリにコピーします。
gcloud compute scp /etc/acme/data --recurse nfs-client:/mnt/filer --project myproject --zone us-central1-c
Filestore ファイル共有から Cloud Storage バケットにデータをコピーする
gsutil rsync
コマンドを使用して、Compute Engine VM インスタンスにマウントされた Filestore ファイル共有のデータを Cloud Storage バケットにコピーできます。
続行する前に、Compute Engine VM が Cloud Storage に書き込めることを確認します。
Cloud Console で、[VM インスタンス] ページに移動します。
コピー元の Filestore ファイル共有がマウントされている Compute Engine VM インスタンスを選択します。
インスタンスに [読み取りと書き込み] スコープがあるかどうかを確認します。
- インスタンス名をクリックして、[VM インスタンスの詳細] ページを開きます。
- [Cloud API アクセス スコープ] を展開し、[ストレージ] に [読み取りと書き込み] スコープがあるかどうかを確認します。
Compute Engine VM に [読み取りと書き込み] スコープがない場合は、次の手順を行います。
- ページ上部の [停止] をクリックしてインスタンスを停止します。
- インスタンスが停止したら、ページの上部にある [編集] をクリックします。
- [アクセス スコープ] で、[各 API にアクセス権を設定] を選択します。
- [ストレージ] で、[読み取りと書き込み] を選択し、[保存] をクリックします。
- インスタンスの更新が完了したら、ページの上部にある [開始] をクリックします。
Filestore ファイル共有から Cloud Storage バケットにデータをコピーするには、次の手順を実施します。
Linux
Cloud Console で、[VM インスタンス] ページに移動します。
コピー元の Filestore ファイル共有がマウントされている Compute Engine VM インスタンスを選択し、[SSH] をクリックしてその VM インスタンスでターミナルを開きます。
次のコマンドを実行して、マウントされた Filestore ファイル共有からデータをコピーします。
gsutil rsync
コマンドで-r
オプションを指定すると、指定した場所のサブディレクトリが再帰的に処理されます。gsutil rsync mount-directory gs://bucket
ここで
- mount-directory は、Filestore ファイル共有がマウントされているクライアントのディレクトリです。
- bucket は、データのコピー先となる Cloud Storage バケット、ディレクトリ、またはサブディレクトリです。
例
次のコマンドは、/mnt/filer
ディレクトリとすべてのサブディレクトリのデータを archive
バケットにコピーします。
gsutil rsync -r /mnt/filer gs://archive
Windows
Cloud Console で、[VM インスタンス] ページに移動します。
コピー元の Filestore ファイル共有がマウントされている Compute Engine VM インスタンスを選択し、[RDP] をクリックしてその VM へのリモート デスクトップ接続を開きます。
次のコマンドを実行して、マッピングされた Filestore ファイル共有からデータをコピーします。
gsutil rsync
コマンドで-r
オプションを指定すると、指定した場所のサブディレクトリが再帰的に処理されます。gsutil rsync mapped-drive gs://bucket
ここで
- mapped-drive は、Filestore ファイル共有がマッピングされているクライアント上のドライブです。
- bucket は、データのコピー先となる Cloud Storage バケット、ディレクトリ、またはサブディレクトリです。
例
次のコマンドは、マッピングされたドライブ Z:
とすべてのサブディレクトリから archive
バケットにデータをコピーします。
gsutil rsync -r Z:\ gs://archive