AWS
docker
ECS
Fargate

Fargateって秒速何センチメートルでスケールアウトするの?

2018年早々には、昨年の大ヒット作が地上波初登場!
この機会に同監督の過去作を見直してみるのはいかがでしょうか。


はい。
そんなわけでFargateです。

約1年ほどECSでサービスを運用してきました。
コンテナを起動した時の驚き。Vagrantとは次元が違う爆速感。

これはDockerの時代くるわ〜

と手元の開発環境をDocker化。勢い余ってサーバーサイドまでコンテナ化しました。
が、ふと我に返って足元を覗き込んで見ると、ECSはマネージドというにはあまりに急造に組んだ足場よろしくその土台にあるEC2がスケスケ。
定期的にEC2のAMIとコンテナのイメージ双方で、yum updateやらapt updateやらapk updateしちゃったりしなかったりして、これって単にお守りする層が二倍になってるんちゃうん!?
と疑心暗鬼にとらわれておりました。
Lambda使ってAMIをアップデートする例なんかも公開されてますけど、なんかこう違うんですよ。

AMI にパッチを適用し、Auto Scaling グループを更新する
http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/automation-asgroup.html

そんなとこにリソースを割きたくないんですよぉぉ。箸より重いものを持ちたくないんですよぉぉぉぉ。

そこに颯爽と登場したのが、我らがFargateです。
実際チュートリアルに従ってFargate製クラスタをつくってみても、EC2のページはもぬけの殻。
これだ!
これを求めていたんだ!

気になるお値段に関しては既に素晴らしいポストが並んでおります。

俺はSSHをしたくない ~ Fargate vs ECS+SpotFleet のPrice比較 ~
http://tech-blog.abeja.asia/entry/fargate-ecs-spotfleet

新しいマネージドコンテナサービスAWS Fargateの価格は高いか安いか?ECS/Fargateのコスト最適化を考えてみよう
https://qiita.com/sudoyu/items/cde059bf98f3d32cfa61

次はスケール速度だっ!
ECS+EC2の時は、Cloudwatchのアラーム発報からオートスケール発動、EC2の起動完了まで約5分、そこからECSのAgentが最適な数にコンテナを増やすまでさらに5分で体感10分くらい待っていた感じでしたがはたして....。

前提

AWS FargateでNginxを動かしてみる
https://qiita.com/riywo/items/b223bdad2b3ae3bebf55

恥ずかしげもなく2日目の記事の内容を完全トレースして環境を構築します。
その後、またまた本記事記載のスケールアウト方法を試してその結果をストップウォッチで計測。
せめてecs-clitimeで計測しろや〜とはごもっともなご意見ですが、残念ながら秒速で起動!というほどには爆速ではないのはわかりきっているので省エネです。ご容赦を。

結果

回数 要した時間(分:秒)
1 2:21
2 1:11
3 2:20
4 0:59
5 1:45
6 1:11
7 1:53
8 1:47
9 2:15
10 2:14

ばらつきはありますが、ざっくり2分程度待てばスケールする模様。アラート発報からの待ち時間を考えても5分もあればスケールしてくれるんではないでしょうか。ECS+EC2の時のざっくり半分くらいのイメージです。ざっくりいいすぎですみません。

sorryページを青ざめながら眺める時間が半減するのであれば、それだけでもFargateに乗り換える価値ありかもしれません!

はよ東京リージョンにこい〜!