Slide 1

Slide 1 text

Glacierだからってコストあきらめてない? 2025年7月5日 株式会社コドモン 佐々木真也

Slide 2

Slide 2 text

2 ● 名前 ○ 佐々木真也 ● 所属 ○ 株式会社コドモン ■ SREチーム マネージャー ● X ○ @taishin ● 居住地 ○ 大阪 自己紹介

Slide 3

Slide 3 text

3 パパママと、子どもとの時間に 1秒でも多くの笑顔と愛情を すべての先生に 子どもと向き合う時間と心のゆとりを 「保育・子育て」と 社会をつなげる 保護者の子育てへの伴走 保育・教育者の環境改善 子育ての社会インフラ作り 子どもを取り巻く環境を テクノロジーの力で よりよいものに ミッション 私たちの使命

Slide 4

Slide 4 text

すべての先生に 子どもと向き合う 時間と心のゆとりを こんなプロダクトを開発しています メインプロダクトは、こども施設職員の業務を支援するWebアプリケーション。 保護者と施設のやり取りを支えるモバイルアプリケーションや、施設職員向けモバイル版 アプリケーション、外部サービスと連携するAPIなども開発しています。 4

Slide 5

Slide 5 text

5

Slide 6

Slide 6 text

6 CONFIDENTIAL - © 2022 CoDMON Inc. 6 S3 ストレージクラス ● S3 Standard ● S3 Standard-IA ● S3 Glacier Instant Retrieval ● S3 Glacier Flexible Retrieval ● S3 Glacier Deep Archive 高コスト 低コスト

Slide 7

Slide 7 text

7 CONFIDENTIAL - © 2022 CoDMON Inc. 7 S3 ストレージクラス ● S3 Standard ● S3 Standard-IA ● S3 Glacier Instant Retrieval ● S3 Glacier Flexible Retrieval ● S3 Glacier Deep Archive 高コスト 低コスト

Slide 8

Slide 8 text

8 CONFIDENTIAL - © 2022 CoDMON Inc. 8 ウチのGlacier Deep Archive(GDA)の高くない? S3 Standard S3 GDA

Slide 9

Slide 9 text

9 CONFIDENTIAL - © 2022 CoDMON Inc. 9 GDA 料金がかかっていたS3バケット ● PB!! 1.xxx PB ● サイズ ○ 1.XPB ● オブジェクト数 ○ 5X万

Slide 10

Slide 10 text

10 CONFIDENTIAL - © 2022 CoDMON Inc. 10 S3 Glacier Deep Archive 保存料金 ● USD 0.002/GB /月 (東京リージョン)  ● 1PBの場合 ○ 月 0.002 * 1024 * 1024 * 150 = ¥314,572.8 ○ 年 314,572.8 * 12 = ¥3,774,873.6

Slide 11

Slide 11 text

11 CONFIDENTIAL - © 2022 CoDMON Inc. 11 GDA 料金がかかっていたS3バケットのオブジェクト ● .sql ?

Slide 12

Slide 12 text

12 CONFIDENTIAL - © 2022 CoDMON Inc. 12 GDA 料金がかかっていたS3バケットのオブジェクト ● .sql ? mysqldump? ただのテキストデータなのでは?

Slide 13

Slide 13 text

13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 データベースのバックアップ ● データベース(Aurora MySQL)のバックアップを保存する必要があった ● 現在はAmazon Aurora Export S3を利用 ○ Apache Parquet形式なので、圧縮される ● 以前は mysqldumpのデータをS3にそのまま保存 ○ .sqlファイル、テキスト形式 ○ テーブルごとにファイルを作成・・・

Slide 14

Slide 14 text

14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 データベースのバックアップ ● データベース(Aurora MySQL)のバックアップを保存する必要があった ● 現在はAmazon Aurora Export S3を利用 ○ Apache Parquet形式なので、圧縮される ● 以前は mysqldumpのデータをS3にそのまま保存 ○ .sqlファイル、テキスト形式 ○ テーブルごとにファイルを作成・・・

Slide 15

Slide 15 text

15 CONFIDENTIAL - © 2022 CoDMON Inc. 15 それなら ● テキストファイルだったら圧縮すれば、データ量が減って、コストが下が るのでは? ① Glacierから取り出し

Slide 16

Slide 16 text

16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 それなら ● テキストファイルだったら圧縮すれば、データ量が減って、コストが下が るのでは? ② ダウンロード

Slide 17

Slide 17 text

17 CONFIDENTIAL - © 2022 CoDMON Inc. 17 それなら ● テキストファイルだったら圧縮すれば、データ量が減って、コストが下が るのでは? ③ 圧縮

Slide 18

Slide 18 text

18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 それなら ● テキストファイルだったら圧縮すれば、データ量が減って、コストが下が るのでは? ④ Glacierにアップロード

Slide 19

Slide 19 text

19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 AWS SAに相談 ● 割とよくやることらしい ○ 自動化している事例 https://aws.amazon.com/jp/blogs/news/compressing-and-archiving-logs-to-the-amazon-s3-glacier-storage-classes/

Slide 20

Slide 20 text

20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 AWS SAにもらったアドバイス ● 事前に圧縮率を検証したほうがいいよ ○ 圧縮後が80%くらいならGlacierの取り出し料金は1年くらいでペイで きそう ● Glacierはオブジェクトごとにメタデータが付与され、その容量も課金対象 なので、アーカイブしてファイル数も減らした方がいいよ ● ゲートウェイ型のVPCエンドポイントを使えば S3 <-> EC2間のデータ転 送量はかからないよ ● 作業はエラー検知、ハンドリングもした方がいいよ

Slide 21

Slide 21 text

21 事前検討

Slide 22

Slide 22 text

22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 圧縮率の調査 ● GZIPでの圧縮 ○ データサイズ 534GB → 50GB ○ 圧縮後のデータ量 9% 圧縮後が80%で一次費用1年で元取れるかもってことだっ たので9%ならもっと早く回収できそう ↓ 実施決定

Slide 23

Slide 23 text

23 CONFIDENTIAL - © 2022 CoDMON Inc. 23 圧縮方式 ● gzipを採用 ○ 選定理由 ■ bz2は圧縮率は高いが、時間がかかりすぎ、作業にかかる一時費用にも差が大きそう ■ 圧縮後の費用差もそんなに高額ではない gzip bz2 圧縮後のデータサイズ 50GB 32GB 圧縮後の割合 9% 6% 圧縮完了までの時間 約2時間 約21時間 534GBのデータでのテスト結果

Slide 24

Slide 24 text

24 CONFIDENTIAL - © 2022 CoDMON Inc. 24 ファイル数の削減 ● 一回のバックアップデータを一ファイルにアーカイブしてファイル数を削減 xxx.sql xxx.sql xxx.sql 2020120101.tar.gz

Slide 25

Slide 25 text

25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 EC2インスタンス ● インスタンスサイズ ○ c7g.largeを選定 ■ maxでCPU使用率60%、メモリ使用率50% ■ c7g.xlargeにしても完了までの時間に変化はなかった ● EBSサイズ ○ 1.5TB ■ 一回のバックアップの最大が900GBくらい ■ 圧縮作業時でも使用量は1.2倍程度なので1.5TBで対応可能と判断

Slide 26

Slide 26 text

26 CONFIDENTIAL - © 2022 CoDMON Inc. 26 EC2インスタンス ● AMIの用意 ○ 実行スクリプトを配置 ○ Cloudwatchエージェントの設定 ■ CloudWatch Logsに実行経過、エラー、完了を送信 ○ Session Managerでログインできるようにする

Slide 27

Slide 27 text

27 構成と費用が発生するポイント

Slide 28

Slide 28 text

28 CONFIDENTIAL - © 2022 CoDMON Inc. 28 構成

Slide 29

Slide 29 text

29 CONFIDENTIAL - © 2022 CoDMON Inc. 29 Glacierからの取り出し ● ⼤容量復元 ○ 0.005 USD/GB ○ 0.025 USD/1,000 リクエスト ● 今回の試算 ○ 0.005USD/GBx1,000,000 GB = 5,000 USD ○ 0.025USD/1,000リクエストx500,000=12.5 USD

Slide 30

Slide 30 text

30 CONFIDENTIAL - © 2022 CoDMON Inc. 30 S3 → EC2へのデータ転送 ● ゲートウェイエンドポイントを経由 することで、データ処理料金や時間 単位料金は無料 ● GET 料⾦ ○ 0.00037 USD/1,000 リクエスト ○ 無視できる範囲

Slide 31

Slide 31 text

31 CONFIDENTIAL - © 2022 CoDMON Inc. 31 EC2、EBS使用料 EC2、EBSは従量課金

Slide 32

Slide 32 text

32 CONFIDENTIAL - © 2022 CoDMON Inc. 32 VPCエンドポイント利用料金 Interfaceタイプは有料 Gatewayタイプは無料

Slide 33

Slide 33 text

33 CONFIDENTIAL - © 2022 CoDMON Inc. 33 EC2 → S3へのデータ転送 ● ゲートウェイエンドポイントを経由 することで、データ処理料金や時間 単位料金は無料 ● PUT 料⾦ ○ 0.065 USD/1,000 リクエスト ○ アーカイブしてファイル数を減らす ことで無視できる範囲

Slide 34

Slide 34 text

34 実行

Slide 35

Slide 35 text

35 CONFIDENTIAL - © 2022 CoDMON Inc. 35 実行 ● 2ヶ月分くらいのバックアップをGDAから取り出し ● 作成したAMIからEC2を30台くらい起動 ● 各インスタンスでスクリプトを実行 ● 2日くらいで終了 ○ 終了したらCloudWatch Logs → Slackで通知

Slide 36

Slide 36 text

36 結果

Slide 37

Slide 37 text

37 CONFIDENTIAL - © 2022 CoDMON Inc. 37 GDA 料金がかかっていたS3バケット ● GDA削減額 ○ 該当バケット約90% 削減 ● 一時費用 ○ 約5ヶ月でペイ

Slide 38

Slide 38 text

38 まとめ

Slide 39

Slide 39 text

39 CONFIDENTIAL - © 2022 CoDMON Inc. 39 まとめ ● GDAの費用は知らない間に大きくなってる ● テキストデータなら圧縮効果は大きいのでやってみる価値はあり ● 計画は大事!

Slide 40

Slide 40 text

40 コドモン採用ページ 開発ブログ コドモンでは一緒に働きたい仲間を募集しています!

Slide 41

Slide 41 text

No content