GoogleCloudのComputeEngineにてディスクにデータを配置していたのですがvast.aiとの連携のためにGoogleDriveに配置したいお気持ちになりました。その際に調べて実行した内容をまとめようとしてましたが作業中に1.5万オーバーのやらかしをしました。
Cloudに少し慣れたと勘違いし、楽天的に作業をしていたのが悪い。
噛み砕けてない部分もありますがまとめて同じ轍を踏まないようにしたいと思います。
やったこと
Compute Engineのディスクに約500GBのデータが存在。データをGoogleDriveに移すためにディスク>スナップショット>カスタムイメージへ変換をコンソールで実行しました(以下図の③・④の流れ)
参考: https://cloud.google.com/compute/docs/images/export-image?hl=ja#gcloud
カスタムイメージをCloud Storageのバケットに移動するにはCloud Buildが使用されるそうです。
Cloud Buildの使用はリージョンで制限があるとのことで、利用できるリージョンにバケットを作成(今回はasia-east1)。
参考: https://cloud.google.com/build/docs/locations?hl=ja
あとはCloud Shellにて以下のコマンドを実行。上記の全体の作業の合間で1.5万が飛んでいきました。
gcloud compute images export \
--destination-uri gs://my-bucket/my-image.tar.gz \
--image my-image \
--project my-project
何が起こったのか
レポートから内訳を確認すると以下3つのSKUが原因。SKU IDから料金を探ります。
PD snapshot Data Transfer Out within Asia
スナップショットを外に出す時にかかるコスト。2023年4月1日から新しい料金とのことで800%の値上げ。結構すげえですね。
参考: https://cloud.google.com/compute/pricing-announce?hl=ja
Multi-regional Snapshot upload/download within Asia
マルチリージョンへのアップロードとダウンロードでかかるコスト。各々価格も同じなので請求費用とも整合が取れてます。
上記から推察。スナップショットとイメージはアジアのマルチリージョンに存在していました。
流れとしては
ディスク ①> スナップショット ② > イメージ ③> バケット
の矢印3つ。①でお金がかかることは考えにくいので
Multi-regional Snapshot upload within Asia: ②
Multi-regional Snapshot download within Asia: ②
PD snapshot Data Transfer Out within Asia: ③
となってしまったんだろうなと考えています。これが本当なら②で2つもお金がかかるのは罠な気がする。私の場合は罠以前の問題ですが
腑に落ちてないこと
上記の認識が正しいとの仮定だと、イメージを出力しているつもりなところでも全て’スナップショット’に対する料金発生なのでここが腑に落ちてない。どなたかアドバイスありましたらいただけると幸いです。
参考文献
Cloud Storage へのカスタム イメージのエクスポート | Compute Engine ドキュメント | Google Cloud
gcloud compute images export | Google Cloud CLI Documentation
Cloud 永続ディスクのスナップショットの料金 | Compute Engine ドキュメント | Google Cloud