Railsアプリケーションを本番環境に構築するためのAWSでやったこと
ECRにrailsアプリケーションをプッシュ
ECRでリポジトリを作成
dockerイメージをプッシュ
// docker-compose.ymlまで移動しておく // awsコマンドでログイン $(aws ecr get-login --no-include-email --region ap-northeast-1) // ビルド $ docker build -t new/repository . // イメージにタグをつける $ docker tag new/repository:latest xxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/new/repository:latest // ERCのリポジトリにイメージをプッシュ docker push xxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/new/repository:latest
AWSでサーバーの準備
すでに準備されていたもの
Route53
Certificate Managerで証明書を発行
ハマりポイント:CNAMEレコードを追加しないといつまで経っても検証されない
EC2 > ロードバランシング
ターゲットグループを作成
- 今回はポートを3001に設定
- ターゲットを編集で使いたいインスタンスを登録
- そのインスタンスに紐づいているセキュリティグループのインバウンドを編集
ポート範囲:3001
ソース:ロードバランサーのセキュリティグループIDを指定
こいつをせっていしないと、504 Gatewaytimeout
になる
参考:AWSのロードバランサーはセキュリティグループに自分のグループIDが追加されてないと504 Gatewaytimeoutになる - YoshinoriN's Memento
ロードバランサー
RDS
- RDSのセキュリティグループでrailsアプリケーションからのアクセスを許可する