プログラマでありたい

おっさんになっても、プログラマでありつづけたい

ec2-bundle-volコマンドのトラブルシューティング

 久しぶりにAmazon EC2を使いたくなって、最新のAMIからインスタンスを立ち上げました。AMIは、RightScaleのrightscale-us-east/CentOS_5.4_i386_v5.2.0_Alpha.manifest.xmlです。幾つかの必要なアプリケーションをインストール完了した状態で、イメージを固めてS3に保存しようとec2-bundle-volコマンドをたたいた所、下記のようなエラーが出ました。

/home/ec2/lib/ec2/amitools/crypto.rb:13:in `require': no such file to load -- openssl (LoadError)
from /home/ec2/lib/ec2/amitools/crypto.rb:13
from /home/ec2/lib/ec2/amitools/manifestv20071010.rb:11:in `require'
from /home/ec2/lib/ec2/amitools/manifestv20071010.rb:11
from /home/ec2/lib/ec2/amitools/bundle.rb:13:in `require'
from /home/ec2/lib/ec2/amitools/bundle.rb:13
from /home/ec2/lib/ec2/amitools/bundlevol.rb:11:in `require'
from /home/ec2/lib/ec2/amitools/bundlevol.rb:11


 心当たりはありありです。RPMのrubyのモジュールが古かったので、ソースから落として自前でコンパイルしました。その時、opensslのコンフィグとか入れていなかったのが原因でしょう。ということで、さっくりとモジュールの追加。
まずは、openssl関係が入っているか?

# yum list installed | grep openssl
openssl.i386                          0.9.8e-12.el5                    installed

opensslは入っているようですが、openssl-develはないようです。

# yum install openssl-devel


インストール後に、rubyのソースディレクトリへ移動してconfigu&make

# cd /root/src/ruby-1.8.7-p174/ext/openssl/
# ruby extconf.rb
# make
# make install


その後、ec2-bundle-volは動くようになりました。


関連:Amazon EC2インスタンスの保存
Amazon EC2/S3の使い方目次