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

ECSコスト削減のブレイクアウトセッションを聴いてきた話 / joining a breako...

yayoi_dd
January 31, 2023

ECSコスト削減のブレイクアウトセッションを聴いてきた話 / joining a breakout session on reducing costs with ECS

弥生株式会社 もくテク
AWS re:Invent 2022 参加報告会(2023/01/26)
https://mokuteku.connpass.com/event/266065/

yayoi_dd

January 31, 2023
Tweet

More Decks by yayoi_dd

Other Decks in Technology

Transcript

  1. 2023/01/31 11:05 ECSコスト削減のブレイクアウトセッションを聴いてきた話 - mizukmb https://scrapbox.io/mizukmb/ECSコスト削減のブレイクアウトセッションを聴いてきた話 1/6 ECSコスト削減のブレイクアウトセッションを聴いてきた 話 #もくテク

    #LT資料 2023-01-26 AWS re:Invent 2022 参加報告会  📣 LT内容 AW S _ r e : I n v e n tで聴いてきたECSコスト削減手法の紹介 私が所属するMisocaチームでどれだけコスト削減を行っているか紹介 自己紹介 水尻裕人 ( m i z u k m b ) G i tハブ_ _: https://github.com/mizukmb  ツイッター_ _ _ _ _ _: https://twitter.com/mizukmb  弥生株式会社 開発本部システム開発部エンジニア 入社6年目 クラウド請求書ソフトミソカ_ _ _ _ _の機能開発や運用 ルビー_ _ _/R u b y n R a i l s _ やAW S _で開発・運用 聴いてきた発表(CON308) 地球と赤外線での運用コストを削減する_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ z o n E C S
  2. 2023/01/31 11:05 ECSコスト削減のブレイクアウトセッションを聴いてきた話 - mizukmb https://scrapbox.io/mizukmb/ECSコスト削減のブレイクアウトセッションを聴いてきた話 2/6 (前半) AWSのプロダクトマネージャがAWS ECSのコスト削減方法について紹介

    (後半) CleverTap社の事例紹介 AWS公式からアーカイブ動画がYouTube上で公開されています 『reinvent2022 CON308』でググって見つけられます YouTubeリンク  紹介されていたECSコスト削減手法 1. ECSタスクのサイズ(垂直スケーリング) 2. ECSタスクの数(水平スケーリング) 3. ECSクラスターのキャパシティを適切に調整する 4. ハードウェアタイプの選択 5. キャパシティタイプの選択 6. Savings Plansの購入 1. ECSタスクのサイズ(垂直スケーリング)
  3. 2023/01/31 11:05 ECSコスト削減のブレイクアウトセッションを聴いてきた話 - mizukmb https://scrapbox.io/mizukmb/ECSコスト削減のブレイクアウトセッションを聴いてきた話 3/6 ECSタスクのCPUやメモリをワークロードに適切なサイズに調整しましょう 上のスライドでは、「CPUが100%に張りついているから増やすべきと考えると思うけど、おそら くメモリを減らす方が重要」と説明

    メモリを減らした分だけコスト削減!! 重要なのはCPU, メモリ使用率のメトリクスを観察して適切な値を知る事 Container Insights  を有効にする事でCPU, メモリ使用率のメトリクスを収集できる 2. ECSタスクの数(水平スケーリング) ECSタスクの数を必要な時に増やす(減らす)仕組み AWSのサービスにAuto Scaling があるので、これ使ってECSタスクの数を動的に調整する仕組 みを作ろう 閾値のターゲットとして以下が候補となる ECSタスクのCPU, メモリ使用率 ALBの平均レイテンシ、SQSのキューの長さ 等々…… 3. ECSクラスターのキャパシティを適切に調整する
  4. 2023/01/31 11:05 ECSコスト削減のブレイクアウトセッションを聴いてきた話 - mizukmb https://scrapbox.io/mizukmb/ECSコスト削減のブレイクアウトセッションを聴いてきた話 4/6 キャパシティ == 単体のECSタスクに割り当て可能な計算資源

    例えばECS on EC2な構成の場合、EC2インスタンスのCPUやメモリは使い切っているかを確認す る 発表では、EC2インスタンスのCPUやメモリを使い切るようにECSタスクの数や割り当てるCPUや メモリを調整するのは難しいと説明 Auto Scalingの設計も難しくなる… 必要最小限でCPUやメモリをECSタスクに割り当てる事ができるFargateがおすすめと話して た 4. ハードウェアタイプの選択 AWS Graviton2 の検討 x86ベースのインスタンスと比べると性能やコスト面でGravitonが優秀 5. キャパシティタイプの選択
  5. 2023/01/31 11:05 ECSコスト削減のブレイクアウトセッションを聴いてきた話 - mizukmb https://scrapbox.io/mizukmb/ECSコスト削減のブレイクアウトセッションを聴いてきた話 5/6 Fargate Spot を使用する

    最大90%の割引が期待できる Fargate Spotは突然中断する事があり、中断2分前に SIGTERM を送信する これを踏まえて、中断しても問題ないようにワークロードを設計する必要がある 例: オンデマンドとFargate spotを半々で稼動させて可用性を維持しつつコスト削減 6. Savings Plansの購入 1年または3年の期間で使用量を事前に購入する事で最大72%の割引を受けられる 割とポピュラーなコスト削減手段 Misocaはどのくらいコスト削減できているか… コスト削減表 1. ECSタスクのサイズ(垂直スケーリング) ◯ 2. ECSタスクの数(水平スケーリング) ◯ 3. ECSクラスターのキャパシティ ◯ 4. ハードウェアタイプの選択 × 5. キャパシティタイプの選択 △ 6. Savings Plansの購入 ◯ 4. ハードウェアタイプの選択 × AWS Gravitonを使ってないので採用できるか検討したい 5. キャパシティタイプの選択 △ Fargate Spotは採用していないが、Savings Plansを使っているのでコスト削減にはなっている まとめ ECSコスト削減のブレイクアウトセッション(CON308)を聴いてきました 1. ECSタスクのサイズ(垂直スケール)
  6. 2023/01/31 11:05 ECSコスト削減のブレイクアウトセッションを聴いてきた話 - mizukmb https://scrapbox.io/mizukmb/ECSコスト削減のブレイクアウトセッションを聴いてきた話 6/6 2. ECSタスクの数(水平スケール) 3.

    ECSクラスターのキャパシティを適切に調整する 4. ハードウェアタイプの選択 5. キャパシティタイプの選択 6. Savings Plansの購入 Misocaはそこそこコスト削減できてました 😃 (付録)Misocaはどのくらいコスト削減できているか詳細版 1. ECSタスクのサイズ(垂直スケーリング) ◯ 過去2〜3ヶ月のメトリクスを観察してvCPU, メモリサイズを決定した 2. ECSタスクの数(水平スケーリング) ◯ ALBのアクセス数から閾値を定めてAuto Scalingを設定した 3. ECSクラスターのキャパシティ ◯ Fargateを採用 4. ハードウェアタイプの選択 × AWS Gravitonは使っておらず、要検討 5. キャパシティタイプの選択 △ Fargate Spotは使ってないがSavings Plansを購入しているため 優先順位は高くないはず 6. Savings Plansの購入 ◯ 一年分を購入している