■ はじめに
https://dk521123.hatenablog.com/entry/2017/07/26/115400
https://dk521123.hatenablog.com/entry/2017/12/07/223753
の続き。 今回は、S3でのコスト節約を考える。 普通のシステムを扱う場合、S3のコストはあんまり考えたことがなかったが、 ビッグデータを扱う場合、結構、とんでもないことなるので。
目次
【1】S3 の料金体系 【2】S3 の ストレージタイプ 【3】コスト節約案
【1】S3 の料金体系
* まずは、何でお金を取られるかを知る。 * 以下が分かりやすい(公式サイトは分かりづらい)
https://qiita.com/kawaz/items/07d67a851fd49c1c183e
公式サイト:料金表
https://aws.amazon.com/jp/s3/pricing/
課金されるポイント
https://dk521123.hatenablog.com/entry/2017/03/06/212734
より抜粋 ~~~~~ 1)データ格納容量 2)データ転送量(OUTのみ) 3)APIリクエスト数 ~~~~~ ※ 結局、「1)データ格納容量」の扱いをどうするかが、ポイントになりそう
1)データ格納容量
* ファイルの保存容量
2)データ転送量(OUTのみ)
* S3への受信(アップロード)は、無料 * S3からの送信に料金がかかる => ただし、同一リージョン内のAWSサービスとの通信は、無料
* GET:低価格 * PUT/POST/LIST/COPY:高め * DELETE:無料
【2】S3 の ストレージタイプ
* S3 には、ストレージタイプ があり、価格も異なる ~~~~~ 1)S3 標準 2)S3 標準 – IA 3)S3 Intelligent-Tiering (S3 INT) 4)S3 1 ゾーン – IA 5)S3 Glacier / S3 Glacier Deep Archive ~~~~~
※ IA (Infrequent Access)
* Infrequent Access = 低頻度アクセス (Infrequent : まれに) * 割安になる代わりに、「最小ストレージ期間 30 日」という制約がある => 途中で削除しても、30日分料金は取られる
公式サイト
https://aws.amazon.com/jp/s3/storage-classes/
その他一般サイト
https://qiita.com/s-katsumata/items/927e57834ca5256c4eee
https://techblog.forgevision.com/entry/2019/02/27/094449
https://dev83.com/aws-s3/
1)S3 標準
* デフォルト ストレージ
2)S3 標準 – IA
* 標準ストレージよりも安価になる * ただし、リクエストに対する料金は、標準ストレージよりも高くなる
https://aws.amazon.com/jp/s3/pricing/?nc=sn&loc=4
想定用途
* バックアップ
3)S3 Intelligent-Tiering (S3 INT)
* 30日間アクセスがない場合、低頻度のアクセス階層に移動 * アクセスがあった場合、自動的に高頻度のアクセス階層に移動
想定用途
* アクセスパターンが未知または予測不能で、 長期間使用するデータ
4)S3 1 ゾーン – IA
* 「2)S3 標準 – IA」よりも、コスト 20% 削減
デメリット(っというより制限)
* ひとつの アベイラビリティーゾーン(AZ) にデータを保存する => 他のストレージタイプは、3つのAZで保存
想定用途
* 再作成可能でアクセス頻度の低いデータ
5)S3 Glacier
* 上記のS3より更に安価 * 詳細は、以下の関連記事を参照のこと。
https://dk521123.hatenablog.com/entry/2020/10/01/230953
デメリット(っというより制限)
* データの取出しに時間がかかる * 最低保存期間がある
想定用途
* 長期アーカイブ => めったに取り出すことのないデータ(監査ログなど)
【3】コスト節約案
1)ファイルの整理 2)S3ストレージタイプを適切に適用する etc...
1)ファイルの整理
* 古典的な方法かもしれないが... * 例えば、以下を行う。 ~~~~~~ A)不要なファイル削除 B)あまりアクセスしないファイルを圧縮して小さくする etc... ~~~~~~
圧縮について
圧縮率を比較したサイトは、以下。
https://forest.watch.impress.co.jp/article/1998/11/16/compress.html
http://www.emit.jp/gca/cmptest.html
http://www.emit.jp/dgca/cmptest.html
注意点
* 上記のサイトの中で、lzh形式の圧縮率が優秀だが、 すでに開発が終了しており、使用は控えるように勧告されているっぽい
https://ja.wikipedia.org/wiki/LHA
* 圧縮形式は、圧縮対象ファイルにより、選定した方がいい => テキスト or 画像 etc...。ファイルサイズはおよそどの位なのか 等 => 圧縮対象ファイルが巨大だと、圧縮形式により、色々とトラブルがありそう
https://cho-inn.com/2015/09/zip-limit-size/
https://www.ponsoftware.com/archiver/help/OVER_4GB.htm
2)S3ストレージタイプを適切に適用する
* 各ストレージタイプの特徴を理解した上で、S3上にあるファイル群に対して 適用する * 以下の公式サイトでは、「Amazon S3 Intelligent-Tieringを有効にする」
https://aws.amazon.com/jp/blogs/news/9ways-to-optimize-aws-cost/
https://www.ntt-tx.co.jp/column/tec/cloud_v11n/191001/
参考文献
公式サイト
https://aws.amazon.com/jp/premiumsupport/knowledge-center/s3-reduce-costs/
その他一般サイト
https://dev.classmethod.jp/articles/reinvent-2019-report-stg240/
https://www.ragate.co.jp/blog/articles/1529
関連記事
運用中、気を付けること
https://dk521123.hatenablog.com/entry/2017/05/10/235544
AWS のコスト節約を考える ~ EC2編 / リザーブド・スポットインスタンス etc ~
https://dk521123.hatenablog.com/entry/2017/07/26/115400
AWS のコスト節約を考える ~ EC2編 / 業務外でのEC2停止 ~
https://dk521123.hatenablog.com/entry/2017/12/07/223753
S3関連
Amazon S3 ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2017/03/06/212734
Amazon S3 ~ S3 Glacier / S3 Glacier Deep Archive ~
https://dk521123.hatenablog.com/entry/2020/10/01/230953
Amazon S3 ~ バージョニング編 ~
https://dk521123.hatenablog.com/entry/2017/04/03/235355
Amazon S3 ~ AWS CLIでS3を操作する ~
https://dk521123.hatenablog.com/entry/2017/04/01/235355
Amazon S3 ~ Python boto3でS3を操作する ~
https://dk521123.hatenablog.com/entry/2019/10/21/230004