10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[ECS on Fargate]QiitaのサーバーのCPUをArmにしたらレスポンスタイムが20%高速化した

Last updated at Posted at 2025-12-01

Qiita/Qiita Teamは元々EC2で動かしていたアプリケーションサーバーを、1年少々かけて以下のように徐々に変更していました。

  • EC2(c5系) -> ECS on EC2(c7i系)
  • ECS on EC2(c7i系) -> ECS on Fagrate(x86)
  • ECS on Fagrate(x86) -> ECS on Fargate(Arm)

今回は最後のECS on Fagrate(x86) -> ECS on Fargate(Arm)についてのお話です。
(ECSへの移行は Qiita を ECS 化しました #ecspresso - Qiita にまとまっています)。

Arm移行の動機

Armに移行する同期は以下のようなものでした。

移行について

ECS化の時と同様に、検証環境でテストし、リクエスト比率を徐々に変更して本番環境をArmへ移行という手順を取りました。
やったこととしては、大まかに以下の通りです。

  • armとx86両対応イメージを作る
  • ecspressoを使ってarmで動作する用のECS Serviceとtask definitionを作成
    • 従来の定義からplatformをArmと指定しただけのtask definitionを、現在動作しているものとは別で作成しました
    • 新規でtarget groupを作成し、新しいECS taskはそちらを使うようにすることで後述するlbでのリクエスト切り替えを行えるようにしました
  • lb listener ruleのweightを変更することで、徐々にリクエストをArmで動作するECS taskに移行する

安全に移行したい場合、ECS Serviceなども完全に分けて、別のtarget groupに紐つけて徐々にweightを変えてしまうのが一番早いと思います。lb listener ruleをterraformで管理している場合は、weightだけignoreしてコンソールやCUIから変えると良いでしょう。

移行した結果

移行した結果、具体的な数値はお見せできませんが、大体20%程度レスポンスタイムが改善しています。

スクリーンショット 2025-04-18 18.36.06.png

また、レスポンスタイムの改善によりCPUの利用効率が良くなったのか、x86と同じautoscaling policyで動かしていたにもかかわらず、ピーク時間のサーバー台数も30%程度削減しています。これにより、当初見込んでいた額より多くのサーバー費用削減を行うことができました(画像はQiitaのサーバー台数の推移で、昼は多く、夜は少ないです)。

スクリーンショット 2025-04-18 18.38.57.png

最後に副次的なメリットとして、spot instanceが確保しやすくなったというのがあります。
1月下旬からFaragte Spotの枯渇が発生しやすくなり、spot instanceを利用している一部環境でデプロイに失敗することもあったのですが、Armに切り替えたことでほとんどなくなりました。

移行した感想+まとめ

サーバー費用を抑えられたのはもちろん、レスポンスタイムが20%近く良くなったのは想定以上の収穫でした。
イメージさえ用意できれば簡単に移行できるので、x86で動かしているサーバーがある場合は是非意向を検討してみると良いでしょう。

10
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?