かきスタンプ

福岡で物流系のエンジニアやってます

AWS:cloud-initを使用して、お手軽Rails環境セットアップ

【 環境:Ubuntu 16.04.1 LTS 】

EC2インスタンス作成時に、cloud-initを使用して初期設定ができるみたいなんで、試しにUbuntuのEC2インスタンスを作成した時に、デフォルトでRailsが入ってる環境を作ってみた。

cloud-initは、/etc/init.d に記述する起動スクリプトと違い、作成時のみ1回だけ実行されます。プレインストールしておきたいツールや設定を記述しておきます。

テキストファイルに保存した内容を使用する事もできるので、Ansibleのような構成管理ツールを使うほどじゃないけど、設定内容を使いまわしたい場合なんかも使えそうです。

具体的には、EC2インスタンス作成時の『3.インスタンスの設定』にて、「高度な設定」タブに記述します。
f:id:kakisoft:20161205043452p:plain

今回、追記した内容は以下。

#!/bin/bash
sudo apt-get update
sudo apt-get install -y ruby
sudo gem uninstall nokogiri
sudo apt-get install -y ruby-railties
sudo gem install rails

Railsインストール時の鬼門となるnokogiriは外してます。
ってか、何なんだコレ。チュートリアルサイト見ても「エラーが起こった場合、Rubyをアンインストールして、再度インストールして下さい」とか、マトモな解決方法書いてない。

調べまわってみても、Aという方法で解決できたけど、その方法はXという環境(OSやバージョン)では解決できない…
と、情報が混沌としていて、これといった決定的な解決方法が無いみたい

自分なりに考えた策として、Railsインストール時にnokogiriは除外して、スクレイピングをしたくなった時に入れる。
・・・と考えてみたのだが、どうだろう。