🍟
AWS App RunnerでExpressで作ったAPIを公開してみる
AWS App Runner とは
AWS App Runnerとは、つい最近、2021/05/19に発表されたAWSの新しいサービスです。
「AWS上でコンテナ化された Web アプリケーションをビルド、および実行するための最も簡単な方法」だそうです。
さっそく試してみた
デプロイするアプリを用意
とりあえずアプリはなんでもよかったので、適当にNode.js+TypeScript+ExpressでHelloWorldするAPIを用意して、githubに置きました。
コンソールからApp Runner サービスを作る
-
こちらのリンクから「App Runner サービスを作成」
https://ap-northeast-1.console.aws.amazon.com/apprunner/home?region=ap-northeast-1#/welcome -
ソースは「コンテナレジストリ」と「ソースコードリポジトリ」が選べます
今回はgithubなので「ソースコードリポジトリ」を選択
-
githubとの連携にConnectorが必要なので、連携させる
-
Node.js 12
とPython 3
に対応しているみたいです
今回はNode.jsを選択
-
構築コマンドと開始コマンドとポートを設定
yamlファイルでも設定ができるようですが、今回はコンソールで設定
-
後は、とりあえずデフォルト設定のままで、サービス作成!!
-
10分弱待って、deployが完了しました。
-
URLに接続すると無事に動作していました
所感
- 本当に簡単にWebアプリやAPIが公開できます。ドキュメント類を全く読まずに使えました。これはすごい。
- 試せてないですがオートスケールもしてくれるらしいです。すごい。
- コンテナですがコンテナっぽいことを何も書かなくてもdeployできるので、コンテナ知識ない人でも安心して使えます。
- githubから自動でdeployできるので、自分でCDを構築する必要がないので楽です。
- Amplifyのフロントエンド機能のバックエンド版って感じがしました。
- フロントエンドがAmplify、バックエンドがApp Runnerがこれからの主流になるのか?
- 一方でAmplifyのAPI機能との使い分けをどうするべきかが気になります。
以前記事を書きましたが、Amplifyもコンテナに対応してますし。
https://zenn.dev/ibaraki/articles/0d3db66e08c5f9
- 簡単に公開できる反面、細かいところのカスタマイズがどこまでできるかは気になります。
- (ドキュメント読んでないので、何ができるか把握していない)
この後ドキュメント読んで、何ができるのかを調べてもう少し遊んでみます。
Discussion