【勉強会レポート】：2023/6/7【MIXI × Money Forward × NewsPicks共同開催】AWSコスト最適化夏祭り 

# 1. はじめに
- 仕事でAWSコスト削減を始めているところだが、ちょうどぴったりのトピックの勉強会が開催されるとのこと。
- たまには都会(渋谷)に行って、MIXI様のおしゃれなオフィスを見てみたい、ということもあり、久しぶりにオフライン参加することにした。

# 2. イベント概要

- イベントURL(connpass)

https://mixi.connpass.com/event/283697/

- 録画(YouTube)


https://www.youtube.com/watch?v=5XY7KgzMU0E

- Twitter ハッシュタグ：　「[#AWSコスト夏祭り](https://twitter.com/search?q=%23AWS%E3%82%B3%E3%82%B9%E3%83%88%E5%A4%8F%E7%A5%AD%E3%82%8A)」

# 3. 発表内容

## 3.1 コスト最適化概論 (MoneyForward 牧田さん)

- 発表資料

https://www.slideshare.net/RikiMakita/ss-258287202

- メモ
    - 管理部門は、事業部門に聞かないと、本当に適切な利用をしているのかどうかは分からない。
    - そのコミュニケーションコストも大変なので、事業部門が自律的に管理できるようにしたい。
    - 具体的な方法として、バーチャルタグによる管理を行っている。
        - 「バーチャルタグ」は、AWS内のタグの内容を、外部(Excelとか)で、別途部門別にマッピングして管理するようなイメージ。
        - 「[Apptio Cloudability](https://www.apptio.com/ja/resources/webinars-ja/introducing-apptio-cloudability-solution-best-practice-finops/)」という、そういう系の管理ができるSaaSもあるらしい。


## 3.2 全社横断でのAWSコスト最適化の取り組み　(MIXI 小池さん)

- 発表資料：

https://speakerdeck.com/tmkoikee/quan-she-heng-duan-zu-zhi-denoawskosutozui-shi-hua-henoqu-rizu-mi

- メモ
    - SREグループ(2019/5～)があり、全社横断的技術支援を行っている。
    - まずは「計測せよ」。そのために、全社にAWSアカウント利用料金集計・通知ツールを開放。
        - その詳細「[AWS 利用料金 Slack 通知ツールを全社利用できるようにしました](https://mixi-developers.mixi.co.jp/aws-usage-fees-slack-notification-tool-made-available-for-company-wide-use-6b59a6d34752)」


## 3.3 コストモニタリングと最適化の運用サイクルを回してAWSコストを30％以上削減した話(NewsPicks 安藤さん)

- 発表資料

https://www.docswell.com/s/integrated1453/K248W7-aws-cost-optimization#p1

- メモ
    - 「セキュリティ・コストを適正化する」がSREチームのミッションの1つ。
    - 1年半前と比較して30%のAWSコスト削減を実現。
    - 親の顔よりもCost Explorerを見て、疑問があったら担当チームに聞きまくり、コストの変動要因の理解を深め、優先度を付けつつ対策する。
    - 開発環境の起動時間をGoogleカレンダーで設定できる開発チームフレンドリーなツールを開発。
        - その詳細「[AWSの開発環境の利用時間をGoogleカレンダー連動させたら開発チームが自由に使えてコスト70%削減！！](https://tech.uzabase.com/entry/2023/02/21/135927)」


## 3.4 Romi チームの OpenSearch のコスト最適化事例 (MIXI 加藤さん)

- 発表資料

https://speakerdeck.com/mixi_engineers/opensearch-cost-optimization-case-study-at-chat-ai-robot-romi-team

- メモ
    - 「[Romi](https://shop.romi.ai/?gad=1&gclid=CjwKCAjw-IWkBhBTEiwA2exyOwHq8_9tkvpBcbaz_Ss2u4TNw3C6navIYDsXAvXVE73-xWz4eQ6aOxoCtboQAvD_BwE)」は、スライムとかぴちょんくんみたいな雰囲気のAI会話ロボット。
    - 会話履歴データをOpenSearchに保存しているが、これが高い。
    - 謎タイムアウトしたりするのをとりあえずリッチなインスタンスタイプにして力で解決していたが、原因を究明。シャードの設計とかを修正し、インスタンスタイプを落としてコスト削減できた。

## 3.5 EKSのコスト削減について (MoneyForward Phan Nguyen Viet Ducさん)

- 発表資料
    - 未公開(内容は動画内で見られる)


- メモ
    - EKSを結構使っている(200個のnamespace、10～70pod/namespace)。
    - CloudWatchのログ削減(保持期間設定)、ALBの削減(nginx ingressの利用)、ノード数削減(Karpenter導入)、pod毎のcostを減らす(CloudNatix, SpotInstance)  など。
        - Karpenterって？ 「[Karpenterを導入した話](https://team-blog.mitene.us/karpenter-b48ca7cdc22a)」

## 3.6 「無料・容量無制限でアップロード」を支えるみてねのコスト削減術 (MIXI 伊東さん)

- 発表資料

https://speakerdeck.com/mixi_engineers/aws-cost-reduction-method-to-support-free-and-unlimited-uploading-in-mitene-family-album

- メモ
    - 写真、動画がS3にたまりまくる。
    - 再生リクエストがあったら、その時にスマホサイズの動画を動的に生成して配信するようにした（ずっとスマホサイズの動画ファイルを保存しておくよりコスト削減できる）
        - その詳細「[みてねの動画再生にHLSを導入した話](https://team-blog.mitene.us/hls-6b749943c0b9)」
    - S3 Standard-IAを使っていたが、S3 Glacier Instant Retrivalへ乗り換え。
    - 最近出た、Aurora I/O-Optimizedもおすすめ。
        - その詳細「[DBのコストを半額に！〜Amazon Aurora I/O-Optimizedの活用〜](https://team-blog.mitene.us/amazon-aurora-i-o-optimized-891130ca63cd)」


# 4. おわりに
- そもそものコスト削減への取り組みの考え方（まずは可視化して、その後対応の優先度付けして…）の話と、具体的なコスト削減のAWSでの設計・設定レベルの話の両方が聞けて、自分も試してみようという学びがたくさん得られた。
- 久しぶりに懇親会にも行って、「実際みんなどんな感じ？」という話もできて、自分も頑張ろうという気持ちになった。