$30 off During Our Annual Pro Sale. View Details »

AWSのコストを4桁万円削減して円安をなかったことにした話

Takeharu Terasawa
November 07, 2023
14k

 AWSのコストを4桁万円削減して円安をなかったことにした話

GMO Research Tech Conference 2023 で発表しました。

Takeharu Terasawa

November 07, 2023
Tweet

Transcript

  1. Copyright © GMO Research, Inc. All rights reserved. 1 1.結論

    AWSのコストをこんな感じで削減しました。 これを達成するためにやったことを紹介します。
  2. Copyright © GMO Research, Inc. All rights reserved. 2 1.結論

    2022年1月からインフラ担当になる事が決定。AWSのコストが気になり、2021 年12月位からAWSコストとにらめっこするようになりました。 ここから
  3. Copyright © GMO Research, Inc. All rights reserved. 3 2.前提

    弊社のシステムはオンプレミス環境からクラウド環境に「リフトアンドシフト」 式で移行をしています。 つまり移行のタイミングではクラウドネイティブではなく、EC2でオンプレを焼 き直すような構成を取っていました。 上記のような前提なので、これから説明する内容は特に目新しいテクニックでは なく、知っている人にとっては当たり前の事になります。 一つでも知らない事があって、役に立つと良いなと思って共有していきます。
  4. Copyright © GMO Research, Inc. All rights reserved. 4 3.コスト対策でやったこと

    ▪Saving Plans(SP)の購入 元々、AWSのコスト削減で最初に考えられるリザーブドインスタンスを購入して いました。 数年前からECS Fargate を使ったコンテナ化を進めているのと、以降で出てくる インスタンス見直しをしているというのもあり、RIと合わせてSavings Plansも 購入しています。 Savings Plansとは RIと同様に1年または3年の期間で、一貫したコンピューティング使用量 (USD/時 間で測定) を契約する代わりに、Amazon EC2、AWS Lambda、AWS Fargate の 低額の使用料金がオファーされる柔軟な料金モデル (柔軟な分RIより割引率は低い)
  5. Copyright © GMO Research, Inc. All rights reserved. 5 3.コスト対策でやったこと

    ▪AWS Compute Optimizerを有効化 AWS Compute OptimizerはAWSリソースのパフォーマンス最適化とコスト削減を支援してくれます。 機械学習によりワークロードに最適なコスト効率の良いリソースを提案してくれます。 わざわざ数百台あるEC2のリソースを担当者が確認して回る必要がないので、とても簡単にコスト削 減のとっかかりを得ることが出来ます。 AWS Compute Optimizerは無料で提供されています。コスト的なデメリット無しなので有効化しな い理由が無いと思います。 インスタンス詳細で確認できる アカウント配下の全インスタンスを一覧で確 認する事もできる
  6. Copyright © GMO Research, Inc. All rights reserved. 6 3.コスト対策でやったこと

    ▪EC2のインスタンスタイプ見直し AWS Compute Optimizerを有効化したので、まずは過剰なプロビジョニングと判定されて いるEC2について、実際のリソース使用状況を念のためzabbixで確認しながら、スケールダ ウンを行いました。 ※素のAWS Compute Optimizerではメモリの使用量についてはリコメンド対象にならない ので、EC2にCloudWatchエージェントをインストールしてメモリの値を取れるようにする と更にやりやすくなります。 AWS Compute Optimizerの概要ページにも記載 があります https://aws.amazon.com/jp/compute-optimizer/
  7. Copyright © GMO Research, Inc. All rights reserved. 7 3.コスト対策でやったこと

    ▪EBSボリュームのサイズを適正化 EBSについても大きく取りすぎているサーバーが多かったので、適正なサイズに変更を行 いました。 但し、EBSは大きくする事は簡単ですが、小さくするには別ボリュームを作ってデータを コピーし、OSからの参照先を切り替えるという非常に面倒な作業をする必要があります。 そんな面倒な事をするのにコストメリットを感じなかったので、OSバージョンアップ時に 一律ディスクサイズの見直しをして適正なサイズに変更しています。 ※クラウドサービスは大きくするのは簡単で小さくするのは難しいので 小さく始めましょう
  8. Copyright © GMO Research, Inc. All rights reserved. 8 3.コスト対策でやったこと

    ▪停止したままになっている不要インスタンスを削除 停止ステータスのまま残っているインスタンスがあったため、イメージを取得して削除し ました。 EC2インスタンスは停止するとCPUリソースに関しては課金されません。 ですがEBSボリュームについては停止したインスタンスについていても課金対象となりま す。 ※EC2インスタンスの価格表はCPUの利用時間単価が書いてあるので、 停止したら全ての課金が止まるという勘違いをしないようにしましょう。
  9. Copyright © GMO Research, Inc. All rights reserved. 9 3.コスト対策でやったこと

    ▪古くて不要になったAMIを削除 サーバーに対して設定変更を行う前や後に切り戻しのためにAmazon マシンイメージ(AMI) を作成する運用があります。 この取得したAMIはEBSの利用サイズ分課金されます。 不要になったイメージが放置されていたので無駄に課金が発生していました。これを整理 して削除しました。 AMIはEBSボリュームの実使用量を圧縮して保存するためEBSをそのまま置いておくよりは コストが安くなります。
  10. Copyright © GMO Research, Inc. All rights reserved. 10 3.コスト対策でやったこと

    ▪ S3に保存しているログを一定期間でGlacierに移動 S3にアプリケーションのログやアクセスログを保存していますが、直近のログ以外が利用 されるケースは少ないため、一定期間経過後にGlacierへの移動を行うようにしました。 S3 Glacier とは 標準ストレージと比較して価格は20%(80%割引) すぐに取り出す事が出来ない(利用まで1分~12時間かかる) 取り出す際に別途料金が発生する 最小オブジェクトサイズが40KB 最小ストレージ期間が90日 安価ですが制約が多いので古いログの様に保管の必要があるけれど 直ぐ取り出すことが出来なくても良いデータに向いています
  11. Copyright © GMO Research, Inc. All rights reserved. 11 3.コスト対策でやったこと

    ▪ EFS(Elastic File System)の低頻度アクセスを利用する 共有ディスクとして利用しているEFSについて、古いデータの利用頻度が低い事を確認し90日経過後に 低頻度アクセスに移動する事にしました。 GMORのケースではEFSの料金が約90%削減されました。 低頻度アクセスとは 標準ストレージと比較して価格は8%(92%割引) 取り出す際に別途料金が発生する 最小請求サイズが128KB
  12. Copyright © GMO Research, Inc. All rights reserved. 12 3.コスト対策でやったこと

    ▪ Fargate Spot の利用 コンテナで動作するアプリケーションのステージング環境についてはFargate Spot を利用する事でコストを70%削減しました。 Fargate Spot とは 通常のタスクと比較して7割引きで利用できる サービス指定プラットフォームバージョンが1.3.0以降で利用できる 但し、AWS側の都合によっていつタスクが終了するのかわからない キャパシティープロバイダー戦略で割合を指定出来る 上記の特徴を考慮して、GMORではある程度落ちても問題ないステージング環境で利用 しています。
  13. Copyright © GMO Research, Inc. All rights reserved. 13 4.削減効果とドル円レート比較

    コツコツとコスト削減を行ってきましたが、円安のグラフと合わせてみると残念 感があります。(やってなかったら大変だったという事ですが)
  14. Copyright © GMO Research, Inc. All rights reserved. 14 5.まとめ

    ▪改善を行う上で大事なこと 当たり前ですが、継続してウォッチし続ける事が一番大事だと思います。 出来るならロールを定義して担当者を付けるのが良いそうです。 👇 ▪AWSの定義するコスト最適化ベストプラクティス https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33- 23/wat.pillar.costOptimization.ja.html
  15. Copyright © GMO Research, Inc. All rights reserved. 15 本文書は、GMOリサーチ株式会社が著作権その他の権利を有する営業秘密です。当社の許可なく複製し利用すること、

    また漏洩することは「著作権法」「不正競争防止法」によって禁じられております。 This document and all information contained in this document are the legal property of GMO Research, Inc. Any distribution, copying, or disclosure of information contained in this document without the consent of GMO Research, Inc. is strictly forbidden by the Japanese Intellectual Property Rights Law and Fair Competition Law.