LoginSignup
3
1

More than 5 years have passed since last update.

Elastic Beanstalk で Ruby のバージョンを上げる

Last updated at Posted at 2015-09-23

Ruby のバージョンを上げたかった

image

元々 Ruby 2.1 を指定し、作成した環境だったが、2.2 系にバージョンを上げたくなった。

マニュアルを読んだり StackOverflow で探したりしたが「コマンド一つでバージョンアップ!」とはいかないようだ。

選択肢はこのくらい。どれが一番良いのだろう。

  • 1. カスタム AMI を作成し、切り替える(できれば避けたい)
  • 2. 設定ファイル .config の中でバージョンを切り替える
  • 3. 新たに環境を作成し、現環境とスワップする

サポートデスクに聞いてみた

今回のケースでは「3. 新たに環境を作成し、現環境とスワップする」のが良いようだ。

やはり手軽に Ruby のバージョンを上げる方法は用意されていないみたい。残念。

「1. カスタム AMI を作成し、切り替える」は「別環境を構築して頂くのと比較してメリットがなく、デメリットが多いためお薦めできかねます。」とのこと。

おまけ

プラットフォームのバージョン≠Rubyのバージョン

image

ダッシュボード上に「新しいバージョンが利用可能」と表示されている場合。
「変更」ボタンより、最新の AMI を利用することができるが Ruby のバージョン自体は変わらない。

image

「アクション」→「最新のプラットフォームを使用したクローンの作成」メニューも同様。

セキュリティパッチを当てたいだけなのに、勝手に Ruby のバージョン上がっても困るしね。
分かるよ。選べても良いと思うけどね。色々難しいんだろうね。きっと。

この自動アップデート機能の恩恵を受けたいがために、カスタム AMI は使いたくなかった。

提供されている AMI には様々な Ruby のバージョンが同梱されている

/opt/rubies/ 以下に。
今回は試していないけど symlink 張り替えるだけでイケるのかもしれない。

$ ls -al /opt/rubies/
total 24
drwxr-xr-x 6 root root 4096 Aug 31 09:13 .
drwxr-xr-x 6 root root 4096 Aug 31 09:15 ..
drwxr-xr-x 6 root root 4096 Nov 21  2014 ruby-1.9.3-p551
drwxr-xr-x 6 root root 4096 Nov 21  2014 ruby-2.0.0-p598
drwxr-xr-x 6 root root 4096 Nov 21  2014 ruby-2.1.5
drwxr-xr-x 6 root root 4096 Apr 16 03:07 ruby-2.2.2
lrwxrwxrwx 1 root root   22 Aug 31 09:13 ruby-current -> /opt/rubies/ruby-2.1.5
3
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
3
1