LoginSignup
5
2

More than 3 years have passed since last update.

codebuildから、rails db:migareを実施する際のRDS接続エラー

Last updated at Posted at 2019-06-04

codebuildで はまったのでメモを残します。

codebuild

buildspec.ymlを読ませて実行している。
- docker run --rm --env RAILS_ENV=$RAILS_ENV --env SECRET_KEY_BASE=$SECRET_KEY_BASE --env DB_HOST=$DB_HOST --env DB_NAME=$DB_NAME --env DB_USERNAME=$DB_USERNAME --env DB_PASSWORD=$DB_PASSWORD $REPOSITORY_URI:latest rails db:migrate

エラーコード 

しかし、mysql接続エラーとなってしまう。
Mysql2::Error::ConnectionError: Can't connect to MySQL server on 'hoge.fuga.ap-northeast-1.rds.amazonaws.com' (110)

調査

見直したところ

  1. 同一privateネットワーク上のEC2から、RDSへのmysql接続確認。
  2. セキュリティグループ設定確認。
  3. IAMのロール設定確認。
  4. codebuildの環境変数確認。

それぞれ確認をおこなったが、改善されず。
有識者の指摘により、VPC項目に設定が入っていないことが発覚。

原因

codebuildの設定において、環境のVPC指定、サブネット、セキュリティグループが指定できていなかったため、NW接続許可されずエラーが発生した。

無題.png
上記の画像はcodebuildの設定のサマリ表示。ここでは、VPCやサブネットなどがが表示されない。

無題1.png
詳細画面ではじめて、サブネットの設定画面が表示される。
登録時のサブネット指定が必須ではないため、未設定のまま通過してしまうことがある。

対応

VPC、サブネット、セキュリティグループ設定することで解決した。

反省点

codebuildの環境変数が、VPCやサブネット対象項目が必須だと思っていた。
概要表示でもVPCやサブネットも含めて表示されていると思っていた。

思い込みと節穴EYEで時間を無駄に消費したので反省します。思い込み怖いね。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2