AWS App Runner触ってみる(ハンズオン) + ハンズオン後片付け前に色々触ったメモ


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.

メトリクスの確認

ドキュメント:AppRunnerのメトリクス

こんな感じ

所感

Fargateよりも更にマネージドで手軽に感じました。話をきいていると制約はいろいろあるようなので確認は必要。今日ハンズオンで初めて触ったぐらいで、ドキュメントも詳しく見れていないですが、バッチ処理などより常時起動しておくサーバーやサイトに使うのがよさそうですかねぇ。(一時停止は可能だけど)

AppRunnerの今後のロードマップはこちら