0
Help us understand the problem. What are the problem?

posted at

AWS Fargateからherokuに移行した話

はじめに

※ 自分用メモ
awsの無料期間がそろそろ切れそうなので、バックエンドをherokuに移行したお話

移行前

バックエンド

言語・フレームワーク: Ruby、 Ruby on Rails
インフラ: AWS ECS(Fargate)、ECR、Route53(ドメイン取得はお名前.com)、RDS(Mysql)無料枠があるから、Auroraではない、ALB、ACM、S3、EFS

フロントエンド

言語・フレームワーク: React、NextJs
インフラ: バックエンドと同じ

ミドルウェア

webサーバー: Nginx
DB: mysql

移行後

バックエンド

言語・フレームワーク: Ruby、 Ruby on Rails
ミドルウェア: Nginx、mysql
インフラ: heroku、jawsdb、S3

フロントエンド

言語・フレームワーク: React、NextJs
インフラ: vercel、Route53(ドメイン取得はお名前.com)、ACM

バックエンド移行(aws ⇨ heroku)

アプリケーション

自分はm1 macなので↓以下の記事をそのまま実行でok
https://zenn.dev/daku10/articles/m1-heroku-container-trouble-exec-format-error

DB

dbはmysqlを使っていたので、移行後のdbもmysqlを使いたいということでjawsdbというのがherokuのアドオンで簡単に実装できる。
※ 他にもcleardbというのでもmysqlを使えるがmysql8.0が対応していない
jawsは↓この記事が参考になる
https://zenn.dev/junki555/articles/68d2186822d4cf

次にRDSにログインし、ダンプファイルを作成後herokuコマンドでインサート文を流していく

フロントエンド移行(aws ⇨ vercel)
vercelデプロイ
vercelのdomainのAレコードをRoute53のホストゾーンに追記する

所感

ずっと移行がめんどくさくてやっていなかったが、意外とスムーズ(丸1日もかからなかった)に移行ができた。もっと早く移行しとけばaws代が浮いた。herokuは30分リクエストがないとスリープしてしまうので、30分おきに自動アクセスするbotを作ろうと思ったが、スリープしても意外とすぐ起動するのでやらないことにした。
これにて移行完了!!🎉

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?