べこの丸太

赤い牛のログです。

【参加レポ】AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる AWS App Runner

こんにちは、べこです。
今回は、AWSのシニアエバンジェリスト 亀田さん主催の「AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる AWS App Runner」に参加してきました。 awsbasics.connpass.com

最初に注意事項です。
今回のハンズオンは500名近くの方が参加予定でしたが、実際の参加者は300人も居ませんでした。
亀田さんも非常に悲しんでおられました。
本イベントのZoomは、フォージビジョン株式会社 様がご厚意で貸して下さっているものです。
もし参加出来なくなってしまった場合は、直前でもちゃんとイベントページからキャンセルしましょうね。

ざっくり3行

  • AWS App Runnerのハンズオンイベントに参加してきたよ。
  • ハンズオンイベントでは、2通りの方式(github連携、ECR経由)でJavaScriptファイルをデプロイしたよ。
  • 有志LTについて内容を簡単にまとめてみたよ。(各資料への導線もあるので、是非ご覧下さい)

App Runnerって何?

AWS App Runner

aws.amazon.com

  • 2021/5/29 にリリースされたフルマネージドサービス
  • GiHubリポジトリ、もしくはECRのコンテナイメージから超お手軽にWeb Applicationデプロイに必要な環境を全て用意してくれる
  • SSL化やロードバランシング、オートスケーリング、CI/CD設定なんかも勝手にやってくれる
メリット
  • 他のマネージドサービスより超お手軽にフルマネージドな環境が用意出来る
  • GitHubリポジトリからでもコンテナイメージからでもデプロイが可能
  • CI/CD環境がオプションひとつで簡単に構築可能
  • 自動でSSL化される
  • logはCloudWatchに自動で連携
デメリット
  • VPCに配置出来ないため、RDSに安全にアクセス出来ない
    • 本記事執筆時点でDBを使いたい場合はDynamoDBを使うことになりそう
  • 料金が少しお高い
    • これはフルマネージドなサービスなので仕方ない。。。
  • 実際の使用用途があまり思い浮かばない
    • 他のサービスに比べて圧倒的にお手軽なんですけど、「他のサービスに比べてApp Runnerが最も適している!」というユースケースがあまり思い浮かばない。。。
    • あくまでも個人的な感想なので、もし最適なユースケースがあれば教えて頂けると嬉しいです

ハンズオン

それでは本題. 資料も充実してますので、是非やってみて下さい。

事前準備

以下のものを作業前に準備して下さい。

資料

今回は亀田さんがご用意して下さった資料をもとに進めました。

github.com

  • AWS App Runner ワークショップ.pdf
    • ハンズオンのマニュアル
  • Commands.txt
やってみた所感
  • 自分はオレゴンリージョンで実施
    • たくさんの人が同時に実施するのでリージョンを分散させた
  • なんかgithubに接続出来ない。。ぐるぐる回り続けてる。。。と思ったら、CLI系の権限しか無いユーザーでログインしてた
    • ルートユーザーで実施
  • 本当にお手軽にデプロイ出来た
    • 今回デプロイしたものは Hello World!(めちゃくちゃ殺風景な画像を載せてしまった。。。) f:id:becominn:20210704204157p:plain
  • ECRにコンテナイメージをデプロイする際に使うCloud9のインスタンスはt3smallを使おう
その他
  • Cloud Formationのエラーを見るときは「イベント」タブを見る
  • コンテナを実際に運用する場合には、コンテナイメージのtagをgitのコミットIDにするとトレースが楽

やってみたLT

3名の有志の方がLTを行なって下さいました。

AWS App Runner + copilot cli

Speaker : 小木悠斗さん( yuto (@jacoyutorius) | Twitter

speakerdeck.com

こんなお話
  • App RunnerとCopilotを一緒に使うと便利だよ、というお話
    • で、Rubyのワークロードを作ろうとしたらコケたよ、というお話
  • App Runner は楽しい。けど、Copilot と一緒ならもっと楽しい!
  • copilot init でECR登録ぽちぽちが不要!!
  • copilot pipelineは、諸々のパイプライン(githubからの)を自動的に作ってくれる
  • リージョンあたりVPCの制限(最大5つ)には気をつけよう!
結論
  • Dockerfileでファイルをコピーする場合には、ちゃんとディレクトリの最後に / をつけようね
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた

Speaker : 木村健一郎さん( しょーちゃん (@show_m001) | Twitter

www.slideshare.net

私も業務ではC#を触ることが多いので、非常に興味深い内容でした。

こんなお話
  • AppRunnerでC#アプリを動かしたよ、というお話
結論
  • コンテナなのでなんでもいけるよね
AWS App RunnerでASP.NET Core Webアプリケーションを動かしてみた

Speaker : mzmtさん( 𝗆𝗓𝗆𝗍👾 (@mzmt1204) | Twitter

こんなお話
  • AppRunnerでRubyアプリをデプロイした時に、ビルドなどで詰まった話
  • 開始コマンドを空にすると、DockerfileのENTRYPOINTのものを使ってくれる
結論
  • デプロイは簡単だったものの、まだまだDB接続面などで課題あり

まとめ

今回はApp Runner(AppとRunnerの間には必ず半角スペース)を初めて触りましたが、本当にお手軽にマネージドな環境をデプロイすることが出来ました。
ただ、個人的に気になってるのはやはりDB周りですね。
RDSを使うには一度AWS外のネットワークを経由しないといけないようです。
RDSではなくDynamoDBを使う形で直近で何かデプロイしてみようと思います。