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

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

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

    View Slide

  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タスクのサイズ(垂直スケーリング)

    View Slide

  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クラスターのキャパシティを適切に調整する

    View Slide

  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. キャパシティタイプの選択

    View Slide

  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タスクのサイズ(垂直スケール)

    View Slide

  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の購入 ◯
    一年分を購入している

    View Slide