AWS App Runnerのチュートリアルをやってみた
このチュートリアルです
元はこれらしい
で、App Runnerって何なの?
ふむ、要はECSとかをわざわざ準備しないで簡易的なデプロイ環境を準備してくれるって感じかな ECRとgithubの2つしかないのが難点とかかね
とりあえず、やってみました。
準備
ソースリポジトリはgithub
https://github.com/mshige1979/simple-express-app
※時間が経ったら消すと思います
手順
ローカルで動作検証するためにdockerを用意
# FROM FROM node:12.22 # 環境変数 ENV TZ Asia/Tokyo ENV LANG C.UTF-8 # 開発用パッケージインストール RUN apt-get update -qq && \ apt-get clean && \ rm -rf /var/cache/apt # 作業ディレクトリ WORKDIR /app # コピー COPY . /app # npm install RUN cd /app && \ npm install # ポート EXPOSE 5000 # パラメータ未指定時の起動コマンド CMD bash -c "npm install && node index.js"
package.json
{ "name": "apprunner_example", "version": "1.0.0", "description": "", "main": "index.js", "dependencies": { "express": "^4.17.1" }, "devDependencies": {}, "author": "", "license": "ISC" }
index.js
const express = require("express"); const app = express(); const port = 5000; app.get("/", (req, res) => { res.send("Hello World!"); }); app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`); });
↓
ローカル環境で動作することを確認
AWS App runnerで「サービスを作成」を選択
↓
「ソースリポジトリ」を選択し、「新規追加」を行う
↓ 認証する
↓ 接続名を設定し、新しい接続をセットアップする
↓ アカウントまたは組織を選択する
↓ 対象リポジトリを指定
↓ 次へ
↓
リポジトリやブランチを設定して次へ
↓
初期設定パラメータなどを設定し、次へ
サービス情報を定義
設定情報を確認し、デプロイ実施
5-10分くらい待つ
↓
自動デプロイ用にコードを書き換えてプッシュ
index.js
const express = require("express"); const app = express(); const port = 5000; app.get("/", (req, res) => { res.send("Hello World! App Runner Test"); }); app.listen(port, () => { console.log(`Example app listening at http://localhost:${port}`); });
↓
デプロイ時間はこんな感じ
所感
ある程度自動でやってくれるところはありがたい
きちんと全部自前のサービスの細かいところを制御したい場合は自前になるのかも
ネットワーク環境とかがApp runner内で制御されているけどVPCを設定してなんかできそうか試してみる RDSに繋げないとかだとほとんど使い道なさそうなんで・・・