ある会社ではCloud Storageにシステムログを保存しています。このシステムログは不具合があった時に調査のために使用しますが、約1ヶ月後にはほとんどアクセスされることはありませんが、1年間は削除することはできません。また、ログファイルのサイズは100KB程度です。コスト最適化のためにはどのような設定をすると良いでしょうか?

  1. Cloud Functionsで30日後にオブジェクトをNearline Storageに移動するスクリプトをデプロイして、バケットに連携する。
  2. Autoclassを有効化して、自動でストレージクラスが変更されるように設定する
  3. オブジェクトのプロパティ設定で30日経過後にNearline Storageに移動するように設定し、1年後には削除されるように設定する。
  4. ライフサイクル管理でルールを設定して、30日経過後にNearline Storageに移動するように設定し、1年後には削除されるように設定する。
解答

正解は4番です。

Cloud Storeageにはライフサイクル管理でルールを設定することができます。ライフサイクル管理では条件を満たしたオブジェクトに対して

  • オブジェクトの削除
  • ストレージクラスの変更
  • 不完全なマルチパートアップロードの削除

をすることができます。

不完全なマルチパートアップロードとは、大きなファイルをアップロードするときに分割してアップロードが行われるのですが、途中で通信が途絶えたりして、アップロードが完全に終わらなかった場合には、それまでにアップロードしたデータは残ります。しかし、完全なオブジェクトにはなっていないので、ファイルとして利用することはできません。

ライフサイクル管理でファイルの作成から30日が経過した段階で、Nearline Storageに移動して、365日後に削除するように設定することで、ずっとStandard Storageで保存し続けることより、コストを抑えることができます。(参考:公式

2番のAutoclassを有効化することで同様のことが行えるのですが、128KiB未満では適用されず、自動で移行されたり、削除されることはありません。(参考:公式

私もこのオンライン学習で学びました!

IT資格の人気オンラインコース