AWS S3のライフサイクルポリシーを設定して、使用料金を5分1に!
どうもお久しぶりです。@peto335です。今回はAWSのお話です。それもかなり初歩的なお話です。
内の会社では、とあるシステムのDBのDumpをS3に毎日バックアップを取っていました。ですが、毎日取っていると保存容量にかかる費用がばかにならず、毎月約360$かかっていました。とったところですぐに使うわけでは無い、又、過去のものは使用する事はほぼ無いという事でした。ただこのままだと保存容量が増えていき、コストが増すのが見えている状況でした。
ということで、以下の点から
保存容量にかかる費用の削減
バックアップを取っているが、常に使用するわけでは無い
S3のバケットにライフサイクルポリシーを適用する事で保存容量にかかる費用を削減する事としました。
ライフサイクルポリシーの設定方法
今回は、すでに作成済みのバケットにライフサイクルを設定するので、まず、マネジメントコンソール画面でS3を表示し、適用するバケットをクリックします。
「ライフサイクルルールを作成する」をクリックします。
ライフサイクルルール名を入力、今回はバケット内の全データを対象とするので「バケット内のすべてのオブジェクトに適用」を選択します。
S3でバージョニングが未設定なので「オブジェクトの最新バージョンをストレージクラス間で移動」を選択します。
以下のようなルールにしました。
バックアップから 1~30日 S3
30日~120日 S3 Glacier Flexible Retrieval
120日以降 S3 Glacier Deep Archive
上記を実現するには以下のように設定します。
「ルールの作成」をクリックし完了です。今回はデータの削除までは設定しなかったので、「非現行バージョンのアクション」にはなにも設定していません。
終わりに
結果として、65$/月まで下げる事ができました。
本当に簡単に設定する事ができました。こんな簡単にコスト削減出来るとは・・・。すぐに取り掛かれば良かった。