💭
CDKでNest.js+PrismaをApp Runnerでdeploy
CDKを使って、Nest.js+PrismaのアプリをAWSのApp Runnderでデプロイする。
githubのrepoはこちら。
CDK
こちらを参考にVPC, RDS, App RunnerをつくるCDKを作った。
以下の点を追加変更
- db migrateするためのEC2をつくるためのコードも追加
- App Runnerでdb情報をenvironmentではなく、secretで設定
EC2の作成はこちらの記事を参考にした。
infra dirでcdk deploy
するとdeployが完了。
db migrate
dbのmigrationはec2にログインする。
aws ssm start-session --target {ec2-id}
git cloneして、app dirに行き、.envにDATABASE_URL=***
を記載(secret managerに登録されている)。
migrateとseedを実行して完了。
npx prisma db push
./node_modules/.bin/ts-node prisma/seed.ts
Nest.jsアプリ
Prismaが公式で出している、Nest.js Rest APIのレポジトリを使用。
上記にコンテナデプロイするためのDockerfileを追加した。
実行結果
usersエンドポイントにアクセスして、seedで投入したデータが見えれば成功。
[
{
"id": 1,
"email": "alice@prisma.io",
"name": "Alice"
},
{
"id": 2,
"email": "nilu@prisma.io",
"name": "Nilu"
},
{
"id": 3,
"email": "mahmoud@prisma.io",
"name": "Mahmoud"
}
]
まとめ
CDKで、Nest.js+Prismaのapiをデプロイできた。
CDKはTSでインフラコードがかけるので、開発体験が良いと思います。
Discussion