G-gen の藤岡です。当記事では、Google Cloud(旧称 GCP)の Cloud Shell の $HOME
ディレクトリのアーカイブを Cloud Storage へアップロードし、Cloud Shell を初期化する方法について紹介します。
サービスの概要
Cloud Shell
Cloud Shell は Google Cloud コンソールから利用できる、オンラインの開発および運用環境です。 利用者は、Debian ベースの Linux OS である Compute Engine VM を一時的にプロビジョニングしたものを使用します。
gcloud CLI や Git 等のツールや、Java、Go、Python 等の言語がプレインストールされています。なお、Cloud Shell は 無料 で利用できます。
永続ディスクストレージ
Cloud Shell にプロビジョニングされた VM には $HOME
ディレクトリに 5 GB の永続ディスクストレージがマウントされます。
ユーザーごとに永続ディスクストレージが割り当たるため、他のユーザーからアクセスすることはできません。
120 日間 Cloud Shell にアクセスがないと、$HOME
ディレクトリが削除されます。削除前に以下のようなメールが届きます。
送信元:noreply-cloudshell@google.com
件名: Google Cloud Shell ホーム ディレクトリの削除通知
Cloud Storage
Cloud Storage (以下 GCS) は、容量無制限・低価格・堅牢なオブジェクトストレージサービスです。詳細は以下の記事をご参照ください。 blog.g-gen.co.jp
実施内容
事前確認
Cloud Shell の初期化前の容量を確認します。
# 設定の確認 fujioka@cloudshell:~ (xxxx)$ gcloud config configurations list NAME: cloudshell-xxxx IS_ACTIVE: True ACCOUNT: PROJECT: xxxx COMPUTE_DEFAULT_ZONE: COMPUTE_DEFAULT_REGION: fujioka@cloudshell:~ (xxxx)$ # 容量確認 fujioka@cloudshell:~ (xxxx)$ df -h Filesystem Size Used Avail Use% Mounted on overlay 60G 47G 14G 78% / tmpfs 64M 0 64M 0% /dev /dev/disk/by-id/google-home-part1 4.8G 1.2G 3.4G 27% /home /dev/sda1 60G 47G 14G 78% /root /dev/root 2.0G 999M 959M 52% /usr/lib/modules shm 64M 0 64M 0% /dev/shm tmpfs 3.2G 1.3M 3.2G 1% /google/host/var/run fujioka@cloudshell:~ (xxxx)$
アーカイブの作成
Cloud Shell の $HOME
のアーカイブを作成します。
# アーカイブの作成 fujioka@cloudshell:~ (xxxx)$ tar -czvf backup.tar.gz $HOME ... tar: /home/fujioka: file changed as we read it fujioka@cloudshell:~ (xxxx)$ # アーカイブが作成されたことを確認 fujioka@cloudshell:~ (xxxx)$ ls -l total 335832 ... -rw-r--r-- 1 fujioka fujioka 343831350 Apr 5 12:03 backup.tar.gz ... fujioka@cloudshell:~ (xxxx6)$
GCS にアップロード
作成した backup.tar.gz
を GCS にアップロードします。
# バケットの作成 fujioka@cloudshell:~ (xxxx)$ gcloud storage buckets create gs://cloudshell-home-backup Creating gs://cloudshell-home-backup/... fujioka@cloudshell:~ (xxxx)$ # バケットの確認 fujioka@cloudshell:~ (xxxx)$ gcloud storage ls gs://cloudshell-home-backup/ fujioka@cloudshell:~ (xxxx)$ # オブジェクトのアップロード fujioka@cloudshell:~ (xxxx)$ gcloud storage cp backup.tar.gz gs://cloudshell-home-backup ... Completed files 1/1 | 327.9MiB/327.9MiB Average throughput: 199.9MiB/s fujioka@cloudshell:~ (xxxx)$ # オブジェクトの確認 fujioka@cloudshell:~ (xxxx)$ gcloud storage ls --recursive gs://cloudshell-home-backup/* gs://cloudshell-home-backup/backup.tar.gz fujioka@cloudshell:~ (xxxx)$
Cloud Shell の初期化
Cloud Shell を初期化します。
# ホーム ディレクトリからすべてのファイルを削除 fujioka@cloudshell:~ (xxxx)$ sudo rm -rf $HOME -bash: history: /home/fujioka/.bash_history: cannot create: No such file or directory fujioka@cloudshell:~ (xxxx)$
Cloud Shell のメニューで [さらに表示] > [再起動] をクリックします。
任意の理由にチェックを入れ、[再起動] をクリックします。
再接続をすると、新しい VM がプロビジョニングされ /home
の使用可能な容量も増えていることが確認できます。
fujioka@cloudshell:~ (xxxx)$ df -h Filesystem Size Used Avail Use% Mounted on overlay 60G 47G 14G 78% / tmpfs 64M 0 64M 0% /dev /dev/disk/by-id/google-home-part1 4.8G 68K 4.6G 1% /home /dev/sda1 60G 47G 14G 78% /root /dev/root 2.0G 999M 959M 52% /usr/lib/modules shm 64M 0 64M 0% /dev/shm tmpfs 3.2G 1.3M 3.2G 1% /google/host/var/run fujioka@cloudshell:~ (xxxx)$
藤岡 里美 (記事一覧)
クラウドソリューション部
数年前までチキン売ったりドレスショップで働いてました!2022年9月 G-gen にジョイン。ハイキューの映画を4回は見に行きたい。
Google Cloud All Certifications Engineer / Google Cloud Partner Top Engineer 2024
Follow @fujioka57621469