EKS/ECS Fargate のCPUモデルチェック

EKS Fargate が出たので、男の子なら ECS Fargate と対決させてみたくなるじゃないですか。

でも、結果が全然おもしろくなかったので、雑にいきますね!



EKS のCPUモデル

まずは、EKS Fargate を起動して、CPUをチェックしていきました。リソース量を多くしてあからさまに変わったら恥ずかしいので、ちゃんと1回ずつ網羅しておきました。例によって、テーブルに起こすの面倒なので画像で失礼しやす。

ちな、CPUの性能値については、私の大好きなこちらから検索したものになります。



いくつか補足を。

  • 起動の時間にはムラがある。おそらくNodeとして新規起動なのか、起動済みに入るのかで変わるのだろう
  • CPUモデルはリソース量に関係なくランダムだと思われる
  • PodからみたNodeのメモリ容量は、4GiB弱~32GiB あたりで構成されるようだ
  • 30GiB で指定したら、Fargateが10分待っても起動しなかったので、指定値オーバーだろうか。計算上はオーバーしていないのだが

  • 肝心のCPUは、というと、最新のC5相当は出てこないけど、C4, M/R5 相当が使われている、と思っておけばよさそうです。


    ECS のCPUモデル

    前にこちらで触れたのですが、半年以上経っているので、なんとなく見てきました。



    あれれ、前はレーティングが 1400台~1700台 のしか出てこなかったので、ジワリと強化されているように見えます。だいたい C系最新より1~2世代前、もしくは M/R 最新と同等程度、とみてよさそうです。

    実は AWS Fargate の料金 は EKS/ECS で同じなので、この辺の条件はどちらも共通なのでしょう。


    ECS Fargate Spot

    私は良い子ちゃんなので、一応 Fargate Spot も同じか確認しようとするのですが、途中でそれを止めました。なので↑で記載していません。なぜかというと、

    FARGATE_SPOT を使おうとすると、Blue/Green Deployment が有効にできないからです。

    もっとちゃんと言うと、新しいクラスタ用の項目である capacity provider はデフォで空白設定なのですが、Default capacity provider strategy を FARGATE or FARGATE_SPOT どちらだとしても設定すると、Service 作成において Blue/Green を選べなくなります。

    この辺については、公式ドキュメントで見つけることはできませんでした。

    ちなみに私の場合、Terraform でウキウキで apply 通したら、Default capacity provider strategy が設定できて、かつ Blue/Green Deployment も作れていたので、FARGATE のあとに FARGATE_SPOT でタスクを起動していこうと思ったら、どうやっても FARGATE になるので調べてみると経験者が他にいたので発覚した、という感じです。エラーになるのではなく、Blue/Green があると、FARGATE_SPOT になっていても強制的に FARGATE になる仕様のようですね。

    個人的には、ECS Fargate Spot が Blue/Green でも扱えれば、現状の EKS と比べると一歩優位に立つのかなと期待していただけに、かなりのガッカリ仕様で今後に期待です。



    もしかしたら、たまたま今回の結果のようなCPUにあたっただけかもしれないのですが、春から比べるとCPU性能がだいぶ良くなったように見えるので、Fargate という選択肢はよりあり得る方に寄ったと思います。

    ただ現状だけでいうと、ECS Fargate Spot は Blue/Green できないし、EKS Fargate も Spot はまだないし、それ以外にいくつか個人的に不満のある状態なので、まだこれがベストと言える感じではなく、来年もまだまだこの流れが続きそうでござんす:-)