要約

  • ソフトデリートに対応する Google Cloud Storage のバケットは、既定で7日間の保持期間を持つ。削除済みオブジェクトも期間中は保管料金が発生する。
  • 後から機能を無効にしても、すでに削除したオブジェクトの期限は短くならない。毎日一定の1TiBを削除する処理なら、7日間の保持で約7TiBの削除済み在庫が生まれる。

数分の仕事に一週間の宿泊

一時ファイルには短い寿命を与え、処理が終われば削除する。設計書ではきれいな片付けだ。Google Cloud Storage では、その片付けが有料の復元待合室への引っ越しになることがある。

ソフトデリートは、削除または上書きされたオブジェクトを一定期間残し、誤操作や悪意ある削除のあとに復元できるようにする。対応するバケットでの既定期間は7日。使用中の一覧から消えても、保管料金は続く。

料金表は使用中、非現行バージョン、ソフトデリート状態のオブジェクトに、同じ方法で保管料金を適用すると説明している。利用者が買うのは、消した判断を取り消せる時間だ。その時間には置き場所が要る。

使用中1TiBでも保管対象は増える

条件をそろえて計算してみよう。すべて同じ場所の Standard クラスで、オブジェクトのバージョニングは無効、追加の復元コピーもない。使用中の内容データは常に1TiB。毎日1TiBを連続的かつ均等に削除する状態が少なくとも7日続き、保持期間は7日とする。

定常状態では、削除済みで残る内容は毎日1TiB掛ける7日で、およそ7TiBになる。使用中の1TiBを加えると、およそ8TiBの内容に保管料金が積み上がる。仕事に使う量が増えなくても、捨てる流れが別の在庫をつくる。

これは条件付きの容量計算である。実際の金額には、そのバケットの削除量、クラス、場所、契約単価が必要だ。リクエスト、ネットワーク、割引などは別の計算であり、クラウド請求全体が8倍になったという実測ではない。

同じ1TiBを持つ仕事でも、ほとんど削除しない処理と毎日入れ替える処理では、復元待ちの在庫が違う。使用中容量だけでは、この違いが予算に映らない。

無効化は過去の予約を消さない

保持期間は7〜90日に設定でき、機能を無効にもできる。新しいバケット向けの既定値も変更できる。ただし変更が効くのは、新しい設定の有効化後に削除する資源からだ。

0日目に7日の設定で削除したオブジェクトは、1日目に機能を無効化しても、元の7日間の予定を守る。Google の無効化手順も、既存のソフトデリート済みオブジェクトは以前の期間が終わるまで残ると明記している。

新たな入庫を止めることと、旧在庫を即座に空にすることは別の操作になる。古い集団はそれぞれの期限で退去し、最後の集団には元の期間に近い待ち時間が残りうる。設定画面を閉じても、宿泊予約の台帳は閉じない。

自動削除の次にも停車駅がある

ライフサイクル管理の削除も、オブジェクトをソフトデリート状態に送ることがある。その状態になったものを、同じルールで早期に完全削除したり、別の保管クラスへ移したりはできない。バージョニングが有効なら、使用中オブジェクトの削除はまず非現行化になる場合があるため、先ほどの計算は無効を前提にした。

Google 自身も、短命な一時データでは保管コストが大きく増えうると説明する。クエリ結果やステージング用ファイル、削除頻度の高い仕事が例に挙がる。すぐ再計算できる中間結果が、捨てるたびに一週間の居場所を買う。

失えば再現できない原本と、再実行すれば戻る中間結果では、復元の値打ちが違う。買うべき窓の長さは、再生成の手間と喪失の影響を比べて決めたい。一律の既定値に任せれば、その比較を省いた分だけ費用か復元機会のどちらかを見落とす。

決める時点は、大量に捨て始める前だ。削除処理が立派に動いていても、有料の待合室は満員になれる。

出典