ECSのfargate spotを使ってみる

· ☕ 4

ECSって便利そうだけど、お高いイメージがあって…

で、料金をちゃんと調べたら、びっくり安かったので、遊んでみることしました!

上手く行きそうだったら私のCD/CIはこれで動かそう!

ECSの料金

ちゃんと調べた。

fargate

ecs料金

あれ?安い!

料金
1 時間あたりの vCPU 単位 0.05056USD
1 時間あたりの GB 単位 0.00553USD

一番小さくすると、0.25vCPU、0.5GBだから、

1時間使っても

0.05056USD×0.25+0.00553USD×0.5
⇒0.01264+0.002765
⇒0.015405‬USD
⇒2円

2円じゃん!

fargate spot

fargateありだなーって思っていたら、その下にこれを見つけた。

ecs料金

え?さらに安いの?

料金
1 時間あたりの vCPU 単位 0.0155144USD
1 時間あたりの GB 単位 0.00169689USD

どうやら通常のfargetの7割引らしい!

去年2019年のinventで発表されたサービスらしく、ググったら色々やってみた記事が上がってた!

7割引ってことは…、1時間1円もかかんない!

CD/CI別に急いだりしないし、別にSPOTで十分だから、これでできないかな…と

今日は、そのためのお試ししてみます!

aws公式 ECS料金

aws公式 fargate料金

やること

ECSメモ

ECSはじめてだったので、クラスタだサービスだというのがよく分からず、理解のために書いた落書きw

ecs

クラスターの中にサービスがあって、サービスの中にタスクがあります。

で、クラスターとサービスは人が作って、タスクは人が作るタスク定義から自動で作れらます。

だから、タスク定義とクラスターとサービスを作っていきます!

やること

  • タスク定義作る

  • クラスター作る

  • クラスターでfargate spot使えるようにする

  • クラスターにサービス作る

  • 動作確認

やってみた

タスク定義作る

ECS開いて、タスク定義をクリック

ecs

ecs

新しいタスク定義の作成

ecs

fargate

ecs

適当な名前をつけて、サイズは一番小さくする。

ecs

ecs

これで1時間2円の設定

コンテナの追加。

ecs

とりあえず動けばいいので、Docker公式イメージhttpdとやらを使う。

今度改めてちゃんとECRに保存したイメージ使って色々やります。

ecs

ecs

ecs

できた。

クラスター作る

左のメニューからクラスターを選択。

ecs

クラスターの作成

ecs

ネットワーキングのみ

ecs

このクラスタ用のVPCを作るにチェックを付けて、

ecs

他はデフォルト値のまま進み、作成。

ecs

ちなみに、VPSなしで作成するとエラーになりました。

なんでかよく分かんないけど、パブリックで作るの今回だけだし、あんまり深く考えないww

動けばOKww

ecs

Unable to assume the service linked role. Please verify that the ECS service linked role exists.

クラスターでfargate spot使えるようにする

クラスタの更新

ecs

プロバイダーの追加

ecs

FARGATE_SPOTを選択して更新。

ecs

ecs

更新完了。

クラスターにサービス作る

再びクラスターを開いて、サービスタブの作成をクリック

ecs

FARGATEかEC2かみたいなのを選択することができずに、「クラスターのデフォルト戦略」っていうのがついています。

サービス名を適当に入れて、タスクを1にして、残りはデフォルトのまま次のステップ。そのまま最後まで進みます。

ecs

このまま待っているとサービスが起動します。

動作確認

サービスを確認すると、起動タイプが空になっています。

でも、実行中の数は1になっているし、ログも出ているので、ちゃんと動いてはいます。

ecs

タスクタブを見ると、起動タイプはFARGATEになっています。

同じくタスクタブから、起動しているタスクをクリックします。

ecs

タスクの詳細をみるとキャパシティープロバイダーがFARGATE_SPOTになっています!

ecs

できた!のかな?

とりあえず、FARGATEを5分くらい、FARGATE_SPOTを5分くらい起動したので、明日の料金を見て、本当にちゃんと動いていたのか、いくらかかったのか確認します…。

参考サイト

[新機能] AWS FargateにSpotキャパシティプロバイダが追加されたので試してみた #reinvent

Amazon ECS入門 〜公式のDockerイメージを使って10分で構築してみる〜


るな
るな
エンジニア