AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる AWS App Runnerに参加して、App Runnerを触ってみたのと、ハンズオンのあと残った環境をいろいろ見てみたので、そのメモ
ハンズオン
ここに手順書(Word,PDF)があがっています。
Commands.txtにハンズオン中に利用するコードやjsonが記載されているのでコピペして使えます。
このハンズオンでやること
① AppRunnerサービスの立ち上げ(GitHubリポジトリをソースにする)
② AppRunnerサービスの立ち上げ(ECRレジストリのイメージをソースにする※)
※イメージのビルドとプッシュをするのにサンプルではCloud9を使います。
本ワークショップシナリオのオリジナル版は以下の URL になります。
https://www.apprunnerworkshop.com/
本シナリオはオリジナル版を短縮し、App Runner の基本機能にフォーカスしています。余裕がある方は是非オリジナル版もお試しください。
とある通り、シンプルなハンズオンでした。
僕はtypoして1回詰まっちゃいましたが(後述)それ以外はスムーズにいきました。
1時間あればできると思います。
こんな感じ
前提条件
必要なもの
- GitHubアカウント
- AWSアカウント
ハンズオンの中で作ることになるもの
- GitHubリポジトリ
- AppRunner
- サービス
- GitHub接続
- ECRレジストリ
- Cloud9環境
注意点/留意点
- ソースのコピペミス/漏れに注意
- AppRunnerで「Service status is set to RUNNING.」とログが出ても実際にページが見えるようになるまで少しタイムラグありました(2分くらい?)
ハンズオン後
お掃除する前に、もうちょっと触ったり見たりしてみました。
コードの変更
手動デプロイ
「① AppRunnerサービスの立ち上げ(GitHubリポジトリをソースにする)」でソースにしたリポジトリに変更をプッシュし、AppRunnerの画面で「デプロイ」ボタンを押します。
ちゃんと反映され、世紀末になりました。
自動デプロイ
Pushしたら自動でデプロイされるように設定を変更します。
変更をPushします。
ちゃんと反映され、スクワットしたくなってきました。
ログの確認
Cloud Watch Logsにログが出力されています。
ドキュメント:AppRunnerのログ
サービスログとアプリケーションログがCloudWatch Logsに吐かれます。
最初、自分はAppRunnerのCreate serviceに失敗しちゃいましたが、ログが出てたのでわりとすぐ解決できました。
「構築コマンド」に npm install
とすべきところを npm instal
とtypoしてました。
2021-07-03T13:37:01.708+09:00 [Build] Step 4/5 : RUN npm instal
2021-07-03T13:37:01.708+09:00 [Build] ---> Running in c3694f9f35bb
2021-07-03T13:37:01.708+09:00 [Build] Usage: npm <command>
2021-07-03T13:37:01.708+09:00 [Build] where <command> is one of:
2021-07-03T13:37:01.708+09:00 [Build] access, adduser, audit, bin, bugs, c, cache, ci, cit,
〜
2021-07-03T13:37:14.469+09:00 [AppRunner] Failed to deploy your application source code.
メトリクスの確認
所感
Fargateよりも更にマネージドで手軽に感じました。話をきいていると制約はいろいろあるようなので確認は必要。今日ハンズオンで初めて触ったぐらいで、ドキュメントも詳しく見れていないですが、バッチ処理などより常時起動しておくサーバーやサイトに使うのがよさそうですかねぇ。(一時停止は可能だけど)
AppRunnerの今後のロードマップはこちら