• No : 766
  • 公開日時 : 2024/08/29 12:36
  • 更新日時 : 2024/10/05 05:55
  • 印刷

Linuxコマンドでバケットをマウントして使う方法を教えてください。

回答

クラウドストレージサービスでは gcsfuse のツールを使用してください。
 
導入手順およびマウント方法は以下を参照してください。
※CentOS 7.5を使った例になります。
 
■gcsfuse 導入手順およびマウント方法

1. アプリケーションが使用する token を生成
次のコマンドを実行し、OAuth 2.0 で認証し、アプリケーションが使用するtokenを生成します。
(gcloud init の初期時に行う、OAuth 2.0 の認証とは異なります。)
$ gcloud auth application-default login


次のコマンドを実行し、tokenが設定されていることを確認します。

$ gcloud auth application-default print-access-token
例:
[test_fuse_server]$ gcloud auth application-default print-access-token
ya29.Gl1qBiBXP7q0zDSb0By3KJCK8AUFLnBbPAeX0dd6…


2.  config に設定を追記

$ sudo tee /etc/yum.repos.d/gcsfuse.repo > /dev/null <<EOF
[gcsfuse]
name=gcsfuse (packages.cloud.google.com)
baseurl=https://packages.cloud.google.com/yum/repos/gcsfuse-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
        https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF


3. gcsfuse のインストール

$ sudo yum install gcsfuse


4. GCPへログイン

$ gcloud auth login


5. マウントしたいバケットを作成

$ gsutil mb -c regional -l asia-northeast1 gs://バケット名
※クラウドストレージでは、ストレージクラスをregional、ロケーションをasia-northeast1(東京リージョン)を推奨としています。
 

6. マウント

$ gcsfuse my_baquet_name /path/to/mount


7. 確認
7-1. マウント先のディレクトリへ移動

$ cd /path/to/mount


7-2. 10MB のダミーファイルを作成

$ dd if=/dev/zero of=tempfile10M bs=1M count=10
$ ls -ahl
-rw-r--r--. 1 admin admin 1.0M Aug 4 06:17 tempfile10M


7-3. 上記手順で作成したファイルが指定されたバケットに格納されているかを確認

$ gsutil ls gs://my_baquet_name
 
※アンマウントする場合は次のコマンドを実施してください。
$ fusermount -u /path/to/mount (Device Busyの場合はオプション -uz)

 

gcloudコマンドのインストール方法は次のFAQを参照してください
▼gsutil(Google Cloud SDK)のインストール方法を教えてください。
https://faq.idcf.jp/faq/show/770?site_domain=default

gcsfuse の詳細は次のURLを参照してください。
▼Cloud Storage FUSE(Google社)
https://cloud.google.com/storage/docs/gcs-fuse
※弊社管理外のサイトとなります。