Upgrade to Pro — share decks privately, control downloads, hide ads and more …

S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving ...

S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs

shonansurvivors

January 27, 2023
Tweet

More Decks by shonansurvivors

Other Decks in Technology

Transcript

  1. 自己紹介 株式会社スマートラウンド SRE 山原 崇史 (やまはら たかし) 経歴  SIer・銀行・Web系ベンチャー 👉

    スマートラウンド 好きなAWSサービス  IAM Identity Center(AWS SSO) / S3 Storage Lens Twitter  @shonansurvivors
  2. Computeにおけるコスト適正化 コスト適正化には性能の調整が必要となる場合が多く (※)、突き詰めるには一定のスキルが求められる 性能 コスト 性能は充分だが過剰 性能は充分 性能を調整し、コストを適正化 そのサービスに 必要な性能

    (性能要件) ▶ コストは低いが性能は不足 ※費用の前払い (Reserved Instances, Savings Plans)や、停止リスクの受容 (Spot InstancesやFargate Spotの利用)により、同一性能を低コストで実現することも可能 ここでの性能とは、前ページで触れたス ペックに対して「インスタンス数や Auto Scaling等も加味して実際に発揮される性 能」と捉えてください。
  3. S3のコストの特性 (1/2) • ストレージタイプというものが複数から選択可能で、コスト構造は単純ではない ◦ タイプにはStandard、Standard - Infrequent Access、Glacierなどがある(他にもある) ◦

    タイプによって、保存サイズあたりの費用や、リクエスト量に応じた費用や、 取り出しにかかる費用や時間が異なったりする
  4. S3の用途 保存対象物の一例 • Webアプリケーションなどにおける顧客データ (顧客が生成、保管する PDFや画像など) • Webページの静的コンテンツ (HTML、CSS、JavaScript、画像など) •

    各種ログ • ビルドによる生成物(アーティファクト) • その他様々 ◦ Athenaのクエリ結果 ◦ ECS用の環境変数ファイル (.env) ◦ Terraformの状態管理ファイル (tfstate)
  5. S3の用途 保存対象物の一例 • Webアプリケーションなどにおける顧客データ (顧客が生成、保管する PDFや画像など) • Webページの静的コンテンツ (HTML、CSS、JavaScript、画像など) •

    各種ログ 👈 古くなるにつれて次第に参照の必要性が低くなってくる (※) • ビルドによる生成物(アーティファクト) 👈 古いものは利用される機会が少ない • その他様々 ◦ Athenaのクエリ結果 ◦ ECS用の環境変数ファイル (.env) ◦ Terraformの状態管理ファイル (tfstate) 👆この辺りも古いものは不要だがサイズが小さく、削除によるコスト削減効果は薄いかも ※過去から発生していたセキュリティインシデント調査のために必要なことや、各種法規制・基準の要件で保存が義務付けられることなどもあり、古ければ即不要ということは無い
  6. S3のコスト削減の実例 1. 請求書やCost Explorerから、AWS全体のコストの中でS3の占める割合の多い ことを確認 2. S3 Storage Lensを使用し、サイズの大きいバケットを洗い出し 3.

    サイズ上位のバケットの 用途を確認(他のエンジニアにヒアリングするなど) 4. 「ビルドにより生成されたアーティファクト」を保存するバケットがあったため、 ライフサイクルルール を設定することで一定期間経過後のオブジェクトは自動削除 ほったらかしコスト削減(抑制)術

  7. CloudWatch Logsのコストの特性 • ログ保管 ◦ 1GBあたり $0.033 (ちなみにS3 Standardは、1GBあたり$0.025) ◦

    保持期間を設定することで、 ほったらかしコスト削減可能 • ログの書き込み ◦ 1GBあたり $0.76 であり、コストが嵩みがち ◦ 確認方法は請求書であれば PutLogEvents、 Cost ExplorerであればDataProcessing-Bytes(ディメンションに使用タイプを指定 )
  8. まとめ • S3 ◦ 様々なタイプがあるが、 サイズが小さければ小さいほどコストを抑えられる のは共通 ◦ 用途別に見て、古いオブジェクトが不要になるバケットであればコスト削減候補 ◦

    S3 Storage Lensとライフサイクルルール を活用して、ほったらかしでコストを削減(抑制) • CloudWatch Logs ◦ 保管サイズの他に書き込み量に注目 ◦ 不要なログ出力があれば抑制を検討