ryuichi-maeda / music_sync_backend

0 stars 0 forks source link

インフラ環境整備 #8

Open ryuichi-maeda opened 7 months ago

ryuichi-maeda commented 7 months ago

要件

候補

ryuichi-maeda commented 6 months ago

デプロイ先としては、ECS on EC2を(とりあえず)選択。

理由

App RunnerとCloud Runについても実際に構築して比較したい

ryuichi-maeda commented 6 months ago

Cloud RunとApp RunnerだとHTTPSドメインが自動で発行される模様 https://zenn.dev/google_cloud_jp/articles/5104d1d1f28560

ECS on EC2 と Cloud Runの両方を数日間ずつ運用してみて、それで最終的に判断するのがよさそう

ryuichi-maeda commented 6 months ago

ECS on Fargate, App Runner, Cloud Runの比較記事 https://zenn.dev/tokku5552/articles/diff-aws-google-cloud

今回はFargateではなくEC2を利用する予定なので、ここに書いてある値段よりは安くなるはず。 CloudRunには毎月無料枠が設けられているので、そこで収まるのであればCloudRunのほうが安そう? あとはデータベースにかかる費用次第。

ryuichi-maeda commented 6 months ago

ECS on EC2, App Runner, Cloud Run 料金比較(月)

基本的に、1vCPU, 1GiBで計算

ECS on EC2

合計 6500円

App Runner

合計 4000円

Cloud Run

ジョブを常に割り振るか、リクエストが来たときだけ起動するかのどちらかが選択可能(https://cloud.google.com/run/pricing?hl=ja) おそらくリクエストが来たときだけで十分?起動時の遅延次第 起動時間については、この記事にアプリケーションごとにまとまっている。1秒位は掛かりそうだが、アプリケーションによる差もあるので実際に試してみないとわからない。 常に起動状態の方にすると少なくとも5000円以上は掛かりそうだった。以下はリクエストが来たときだけ処理する方で計算。

合計:約2000円?

まとめ

ECSが一番高い??以下の資料を見てもそんな感じっぽい。App Runnerのほうが色々管理してくれてそう、かつ、Fargeteが内部で走ってるのに??。 https://speakerdeck.com/n1215/aws-app-runnergasorosoroben-fan-huan-jing-demoshi-iwu-ninarisou

Cloud Runが一番良さそう?

DB料金の計算に少し怪しいところはある。他もそうだけど。。。 それぞれ数日間稼働させてみるのが良さそう。

~アクセスがそれなりにある -> ECS on EC2~ ~アクセスがあまりなく、Cloud Runのコールドスタートによる遅延を無視できそう -> Cloud Run~ ~アクセスがあまりなく、Cloud Runのコールドスタートによる遅延を無視できない -> App Runner~

ryuichi-maeda commented 6 months ago

料金比較実験

1日でどれくらいかかったかの比較を行う。特にトラフィックはなく、サービスが動いているだけでどれほどかかるかを検証する。

ECS on EC2

2024/5/13: $2.74 (400円、月12,000円) EC2: $0.73 RDS: $0.71 ELB: $0.58 VPC: $0.48

意外とかかった。

Cloud Run