いまAWSで実運用可能なサーバー構成で、できるだけコストパフォーマンス良く運用の手間も抑えたいとしたら以下のような構成で構築するだろうか。
graph LR
GW[API Gateway] --> Function[Lambda]--> Proxy[RDS Proxy] --> DB[Aurora serverless v2]
Lambdaの部分でECS利用を考えるかもしれないが、DBの値の参照・更新をするAPIサーバーとして考えたときに Lambda VS ECS/Fargate の比較をしてECSでないと実現できない処理というのは昨今の性能だと少なく思える。LambdaからRDSの呼び出しは以前はアンチパターンだったがRDS Proxyの登場により解消されている。
graph LR
LB[ALB] --> Server[ECS/Fargate] --> Proxy[RDS Proxy] --> DB[Aurora serverless v2]
またDBにプロビジョンされたAuroraを利用するかServerless v2を採用するか?
v2になって十分実用的になっているようなので料金やMySQLバージョンのアップデート作業などに時間を取られていたことを考えるとServerlessを採用したくなる。
コメント