WindowsのコマンドラインでGoogle Cloud Strageにアップロード
年末のバックアップ処理でGoogle Cloud Storageにブラウザでアップロードしたら失敗したので、コマンドラインでやってみたときの覚書。
Gemini 3 Pro Previewと対話。
環境: Windows 11, Google Cloud SDK 550.0.0
1. ファイルをアップロード
Google Cloud SDKのバージョン確認。
PS> gcloud version
ログインする。
PS> gcloud auth login
生成されたURLをブラウザに貼り付けて認証。
プロジェクトIDを設定。
PS> gcloud config set project hoge-backup
バケット内の一覧を表示。
PS> gcloud storage ls gs://svn-backup.hoge.jp/20251221/
移動してアップロード。
PS> cd D:\Downloads
PS> ls
PS> gcloud storage cp .\repo-hoge_20251217.tgz gs://svn-backup.hoge.jp/20251221/
確認。
PS> gcloud storage ls gs://svn-backup.hoge.jp/20251221/
ファイルサイズが大きいほど、gcloud storage コマンドの方が圧倒的に速く、かつ安全らしい。
またgcloud storage コマンドは失敗しても途中から再開できる。
(ブラウザの場合は最初からやり直し)
Gemini先生に作ってもらったワンラインコマンド。
(開始時間/終了時間/所要時間を表示)
PS> $s = Get-Date; Write-Host "開始: $s"; gcloud storage cp .\repo-hoge_20251217.tgz gs://svn-backup.hoge.jp/20251221/; $e = Get-Date; Write-Host "終了: $e"; Write-Host "所要時間: $($e - $s)"
2.ストレージクラスの確認
アップロードする際に下記メッセージが表示される。
WARNING: Destination has a default storage class other than "STANDARD", hence parallel composite upload will not be performed. If you would like to disable this check, run: gcloud config set storage/parallel_composite_upload_compatibility_check=False
これは「意図せぬ追加料金が発生するのを防ぐために、あえて最速のアップロード機能を無効にしました」という意味。
ストレージクラスに関しては公式サイトで確認。
参考: ストレージ クラス | Cloud Storage | Google Cloud Documentation
バックアップ用であればArchiveにしておくと料金が安くて済む。
|
クラス名 |
向いている頻度 |
保管料金 |
データ取り出し料金 |
最低保存期間 |
|
NEARLINE |
月1回 程度 |
安い |
かかる |
30日 |
|
COLDLINE |
3ヶ月に1回 程度 |
とても安い |
高い |
90日 |
|
ARCHIVE |
年に1回 未満 |
激安 |
とても高い |
365日 |
バケットの設定を確認するコマンド。
PS> gcloud storage buckets describe gs://svn-backup.hoge.jp
creation_time: 2023-12-25T01:11:38+0000default_storage_class: ARCHIVEgeneration: 1703466698077507967location: USlocation_type: multi-regionmetageneration: 1name: svn-backup.hoge.jppublic_access_prevention: enforcedrpo: DEFAULTsoft_delete_policy:effectiveTime: '2024-03-01T08:00:00+00:00'retentionDurationSeconds: '604800'storage_url: gs://svn-backup.hoge.jp/uniform_bucket_level_access: trueupdate_time: 2023-12-25T01:11:38+0000
2行目の「default_storage_class: ARCHIVE」でARCHIVEストレージクラスがデフォルトになっていることが分かる。
3.バケットのライフサイクル設定
ブラウザでバケットをクリックして「ライフサイクル」を設定すると指定した期間でストレージクラスを変更したり削除したりできる。
バックアップ用なので次のように設定した。
- 90日経過したらColdlineに設定
- 365日経過したらArchiveに設定
- 730日(2年)経過したらオブジェクトの削除
設定後、即時適用されるわけではなく、通常24時間以内に適用されるらしい。