2009年5月5日火曜日

"Amazon AC2 API Tools"をインストールしたCentOSのAMI(5.3.6)を作成

スズキです。

今回はイメージからのインスタンスでAMIの登録&公開までできるように、
"Amazon AC2 API Tools"をインストールしたイメージにしてみました。

Manifestはこちらです。
ami-suz-lab.com/ami-centos-core-5.3.6.img.manifest.xml

まずはyumにて必要なパッケージの準備です。
# yum install unzip

次に"Amazon AC2 API Tools"をダウンロードして"/opt"以下に置きます。
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=351

# cd /usr/local/src
# curl -L -O http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip
# unzip ec2-api-tools.zip
# mv ec2-api-tools-1.3-34128 /opt/ec2-api-tools

ここで"Amazon AC2 API Tools"はJavaアプリなので、SunのJDKもインストールしておきます。
http://java.sun.com/javase/ja/6/download.html

※ 本当は、yumでインストールできるOpenJDKにしかたっかのですが、下記エラーのため、
Sunのものにしています。

Unexpected error:
javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected
error: java.security.InvalidAlgorithmParameterException: the
trustAnchors parameter must be non-empty

この状態でイメージを作成し、アップロードです。

# ec2-bundle-vol -r i386 -d /mnt/tmp/ -c /mnt/tmp/cert-XXXX.pem \
-k /mnt/tmp/pk-XXXX.pem -u 000000000000 -p ami-centos-core-5.3.6.img
# ec2-upload-bundle -b ami-suz-lab.com \
-m /mnt/tmp/ami-centos-core-5.3.6.img.manifest.xml -a XXXXXXXXXXXXXXXXXXXX \
-s XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

ここから、いつもWindows(Elasticfox & Amazon EC2 API Tools)でやっていた
AMIの登録と公開をそのままのLinuxで行っていきます。

とりあえず、"Amazon EC2 API Tools"を動かすために環境変数の設定です。

# export EC2_HOME=/opt/ec2-api-tools
# export JAVA_HOME=/usr/java/default

次に下記コマンドで登録です。

# /opt/ec2-api-tools/bin/ec2-register -K /mnt/tmp/pk-XXXX.pem -C
/mnt/tmp/cert-XXXX.pem \
ami-suz-lab.com/ami-centos-core-5.3.6.img.manifest.xml

すると下記のように登録イメージのIDが表示されるので、

IMAGE ami-85aa4cec

それを用いて、登録したイメージを下記コマンドで公開します。

# /opt/ec2-api-tools/bin/ec2-modify-image-attribute -K /mnt/tmp /pk-XXXX.pem \
-C /mnt/tmp/cert-XXXX.pem ami-85aa4cec --launch-permission -a all

参考サイト - http://www.diigo.com/user/suz-lab/00000026
--
http://suz-lab.blogspot.com/

0 コメント: