LoginSignup
1
1

More than 3 years have passed since last update.

Ruby on Rails Elastic beanstalkへのデプロイ(環境構築編)

Last updated at Posted at 2020-05-24

概要

Ruby on Rails で作ったアプリケーションをデプロイ環境の構築をElasticBeanstalk(以下EB)を使用して、最短で行います。
IAM権限変更編・環境構築編・EBデプロイ編で分けます。
あくまで、パッとデプロイすることに重点を置くので、厳しい管理が必要な方の場合はご了承ください。

目次

IAM権限変更編
環境構築編
EBデプロイ編

環境構築編

開発環境について

Ruby・・・2.6.3
Rails・・・5.0.7.2
Bundler・・・2.1.4以上
OS・・・amazon Linux(cloud9)
Railsは、5.2以降はSECRET_KEYのver管理のために少し面倒だったこと、6.0以上はまだまだ新しく(自分が追いつけていない点もあるのですが)わざわざverを上げるメリットがなかったため、ver5.0.7.2を使用しています。

基本、Linuxなので、Macでも同様の操作ができるかと思います。
ただ、cloud9の無料枠ではrbenv、Rubyのver変更等で容量が必要になり、10GBほど拡張しました。
デプロイできたらすぐたたんでOKですが、実際1か月でも500前後ってところでしょうか。
拡張方法はこちら

環境構築

  1. rbenvのinstall
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

2.buildをpluginとして入れる

mkdir -p ~/.rbenv/plugins

3.ruby-build を~/.rbenvに インストール(clone)する

cd ~/.rbenv/plugins
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

4.PATH に追加 → .bash_profileにrbenv initを追加 → pathに追加した情報の有効化

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
exec $SHELL -l

5.rbenvの確認 → インストールできるリストを確認

rbenv -v
rbenv install --list

6.指定のverを選択(今回は2.6.5)

rbenv install 2.6.5

7.installしたversionに環境全体globalに設定(他のアプリがある場合はlocalにしてください)

rbenv global 2.6.5

8.設定したrbenvを再読み込み

rbenv rehash

9.bundlerのverを指定してinstall

gem install bundler -v 2.1.4

10.railsのver指定でrails new

rails _5.0.7.2_ new myapp

11.gemの追記(開発に必要なものここで入れて事前にデプロイの確認を行うと安心できる)
pg, sqlite 1.3.6以上(pgは、herokuにも対応できるように。sqliteはcloud9の場合1.3.6以上を明記する。dotenv-railsは環境変数を使うので今回入れます、。)

gem 'sqlite3','~> 1.3.6'
gem 'pg'
gem 'dotenv-rails'

12.bundle install

myapp
bundle install --path vendor/bundle

13.gem fileに追記, pg, sqlite 1.3.6以上(pgは、herokuにも対応できるように。sqliteはcloud9の場合)

Gemfile
gem 'sqlite3','~> 1.3.6'
gem 'pg'
gem "dotenv-rails"

14.コア4つで高速install化設定しつつinstall(bundle configに入るため、-j4は今後入力不要)

myapp
bundle install -j4

15.アプリの動作確認

myapp
rails g scaffold message subject body:text
rails db:create
rails db:migrate
rails s

ここでrails のlocalserver への接続確認をしておくこと。
お疲れ様でした。

次はIAMでEBの権限を持ったuserを作成していきます。
Root権限でEBを操作するのはよろしくないですし、Rootのアクセスキーを作成するのも、推奨できないので。

IAM権限変更編

1
1
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
1
1