@kyanny's blog

My thoughts, my life. Views/opinions are my own.

JAWS-UG金沢 #94 & Kanazawa.rb 『Ruby on Rails on App Runner ハンズオン』

jawsug-kanazawa.doorkeeper.jp

SNS で見かけて参加した。オフラインの勉強会は積極的に参加していきたい。

App Runner というやつは知らなかったが、PaaS 的なサービス。コンテナベースっぽいが GitHub リポジトリと接続してソースコードをデプロイもできる(内部的にはランタイムごとのベースイメージをもとに ad-hoc なコンテナイメージを作り、そのコンテナをデプロイしているようだ)。Amazon ECR に公開済みのコンテナイメージをデプロイするときは環境変数が使えるけどソースコードからデプロイするときは使えないとか、まだ細かい点で使い勝手が磨かれていない印象。YAML ファイルで設定を書いておけるのは Google App Engine とかに似てる。Elastic Beanstalk との違いは、仮想マシン直ではない点だろうか。「知れば知るほど Amazon ECS でよくね?という気もしてくる」とはハンズオン主催者の弁。

ハンズオン自体はスムーズに進むようにシナリオが練られていて、とても簡単に体験できた。まずコンテナデプロイのほうで mermaid.js のライブエディタをデプロイし、次にあらかじめ用意された Rails アプリケーションのリポジトリをデプロイ。先取り学習としてハンズオンのカリキュラムと並行して自前で書いた単純な Rack アプリケーションのデプロイを試したがいくつか知識がアップデートできてなくてハマるところがあった。

  1. rackup コマンドは rack gem に同梱されなくなり、rackup gem が必要
  2. Rack レスポンスの配列の第一要素ステータスコードは String ではなく Integer (>= 100)
  3. rackup は localhost を bind するので -o 0.0.0.0 オプションをつけないと App Runner のヘルスチェックを通らない

夜は懇親会にも参加した。