今年の8月ころにプライベートの開発でApp Runnerを使ったので、その際に感じたことを書きます。
良かった点
- リクエスト数でオートスケールができる
- ACMのSSL証明書を使える
- 前段にロードバランサーが配置されている
- デプロイが楽
- ECRにプッシュするだけでデプロイされる
そのうちの、オートスケールとデプロイが簡単なのは、ちょっとアプリケーションをデプロイするのに良いと感じました。
オートスケールは同時リクエスト数に合わせてのみになりますが、ほとんど設定が不要でオートスケールの設定ができるようです。
(自分は使わなかったが、便利そう)
また、デプロイはECRにプッシュするだけで自動でBlue/Greenデプロイしてくれます。
ECR以外にもソースコードを管理しているリポジトリに連携し、コミットをプッシュすると自動デプロイが走るようにもできるようです。
ちょっと残念だったところ
- プロビジョニングされたコンテナインスタンスが最低でも1つ必要
- コンテナインスタンスに割り当てたメモリに対して費用がかかる(0.009 USD/GB 時)
- 利用しない間の料金を0にするにはApp Runnerサービスを一時停止しないといけない
- 一時停止すると、サービスが停止してしまう
- 複数のコンテナを組み合わせたサービスをつくれない
- できるのは1種類のコンテナをホストするだけ
- Nginx + Railsみたいな構成をつくれない
- 自動デプロイに1USDかかる
- Arm非対応
特に、複数のコンテナを組み合わせたサービスをつくれないのは残念でした。
静的なコンテンツの配信やデータベースなどは、他のマネージドサービスを使うことが前提になっているのかもしれません。
Ref
- AWS入門ブログリレー2024〜AWS App Runner編〜 | DevelopersIO
- AWS App Runner はおもちゃなのでそれ以上の用途には使ってはならない - koudenpaのブログ
- AWS App Runnerがそろそろ本番環境でも使い物になりそう|AWS|開発ブログ|株式会社Nextat(ネクスタット)
- AWS App RunnerとECS Fargateの違い・メリットとデメリット - 365歩のテック
- App Runnerの特徴9つまとめてみた #AWS - Qiita
- AWS App Runner を早速さわってみた【接続数でオートスケーリング・ゼロスケール(?)】 - 完全に理解した.com