AWS App Runner
-
インフラストラクチャを管理せずに高速でシンプルかつ安全な方法でコンテナ化されたWebアプリケーションのビルド、デプロイ、実行するためのマネージドなサービスです。
-
ソースコードまたはコンテナイメージを提供するだけで、App Runnerはアプリケーションを自動的に構築およびデプロイすることができます。
-
App Runner は裏側で、Fargetが動いているらしい。
ハンズオン
詳細な仕様の話に入る前に、それ程複雑な設定はないので、とりあえず触ってみると良さそうですです。
AmazonのharunobukamedaさんがGithubにhands-onをあげてくれているので、こちらを試してみると良いかと思います。
動作
ハンズオンを実施いただいた通りですが、やることは、
- GitHubにアプリケーションコード(現在は、PythonとNode1.jsに対応)をpushするか、
- AmazonECRにコンテナイメージをpushする。
これだけで後はいい感じにApp Runnerが動いてくれます。
- 2022/10/28 追記
Auto Scalling
- リクエスト数に応じてスケールする。
- 同時リクエストの数が同時実行数の割り当てを超えると、AppRunnerはサービスをスケールアップします。
- アプリケーションが捌き切れなく、処理待ちのリクエストがどれぐらい溜まっているかにより、スケールアップします。(例えば、同時実行100にし、100リクエストがきたからといって、スケールアップするわけではない。)
ヘルスチェック
- App runnerは、アプリケーションがリッスンしているポートでTCPヘルスチェックを実行します。
セキュリティ
-
インスタンスロール
-
例えば、Apprunnerで動かしているアプリケーションが、S3からデータを持ってきたい場合など、IAMロールを作成する。
-
AWS KMS キー
-
作成時に、AWSが所有するキーを使用するか、別のAWS KMSキーを選択することが可能。
ログとメトリクス
-
ログ
-
イベントログ
-
デプロイログ
-
アプリケーションログ
-
メトリクス
-
インスタンスレベルのメトリクス
-
サービスレベルのメトリクス
カスタムドメイン
- デフォルトドメインをカスタムドメインと紐付けることが可能。
- 1日〜2日で反映される。
料金
- 開発や個人で利用する場合には、一時停止にしてコストを抑えることが可能。
VPC
- VPC でホストされているデータベースやその他のアプリケーションとサービスが通信できるようになります。
その他参考URL