概要
インフラやAWSについて経験がなくても、コンテナ化したWebアプリやAPIを簡単にAWSで動かせるサービス
見てみたありがたい記事
良いところ
CodeBuild,AutoScaling,ALB,ECS,Fargate,VPCなど必要なものがApp Runnerのみで完結する(デプロイ・負荷分散・オートスケーリングが一つのサービスに)
ECR or Githubリポジトリからコンテナイメージをいい感じにビルドとデプロイをしてくれる
VPC周りの設定を入れたら、内部のみのアクセスにもできるしプライベートVPCにあるRDSなどへのアクセスもできる
機密情報はシークレットマネージャーから取得できるようになっている
WAFと繋げることも可能
新規のデプロイのヘルスチェックをやってくれて、通らない場合は自動でロールバックしてくれる
ECSへの移行が簡単(ECRからのデプロイは同じなので)
いまいちなところ
カスタムドメインがコンテナで重複できない(B/G的な切り替えが難しい)
WLBと比較してログがわかりづらい
複数のイメージを管理はできない
オートスケーリングの条件が実行数のみ(CPU使用率でのスケーリングがない)
基本的にはカスタム性とお手軽さのトレードオフになる
主なユースケース
・PoCやプロトタイプ開発でのモノリスアプリやSPAのバックエンドAPI
・社内向けWebサイトやバックエンドAPI
・本番環境でも要件(SLOなど)を満たせるなら大丈夫かも
所感
実際にデプロイまでやってみたが30分もあれば簡単なサービスをデプロイまでできるのはやはり強い。。。
よく個人で気になるものを調べるときにものを作ってみることがあるがそう言った時に使いたいなって思った。
PoC開発する際はAmplifyを使うかApp Runnerを使うかは少し悩みどころかも
Amplifyは認証やDBとかS3とかも即接続できる分、さらに制約も多いからその辺もう少し自由にしたいとかならApp Runnerでやっておくのもアリに思えた。