●はじめに
下記の記事を参考にEC2とRDSへを使用しRailsアプリをAWSにデプロイする際に詰まった点と、その解消方法をまとめました。
世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで
1.EC2とRDSの接続
記事ではRDSを使用しない事を前提としており、DB、サーバー構築編でRDSの設定方法は記されていましたが、実際に接続する方法は記載されていませんでした。
###接続方法
$ mysql -h [DBインスタンスのエンドポイント] -u [ユーザー名] -p
ユーザー名はDBインスタンス作成時に登録したマスターユーザー名です。
DBインスタンスのエンドポイントは、AWSのページから作成したDBを選択すると確認できます。
#2.アプリのsecret_key_baseの設定
こちらはrails5.2以降の環境の人が対象です。
config/secrets.ymlに記述されている、secrets_key_baseを変更
とありますが、rails5.2以降はsecret.ymlがなくなり、credentials.yml.encになっています。なので異なったやり方でsecret_key_baseを設定する必要があります。
###secret_key_baseの設定方法(rails5.2以降)
credentials.yml.encを変更する必要がありますが、直接エディタから編集する事はできません
編集するにはvimを使用します。
$ EDITOR=vim bin/rails credentials:edit
これはローカル環境で実行します。そうすると、このように表示されるはずです。
# aws:
# access_key_id: 123
# secret_access_key: 345
# Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies.
secret_key_base: *************************************************************
ここで表示されるsecret_key_baseをコピーし、本番環境にも反映させてください。
同じく、EDITOR=vim bin/rails credentials:editです。
production:
secret_key_base: *************************************************************
以上でEC2とRDSを使用し、RailsアプリをAWSにあげる際に詰まった点 -その1- は終了です。
次回、デプロイ時に詰まった内容をまとめます。