AWS
September 02, 2009
ec2-upload-bundleでエラー
EC2上のDebian(squeeze/testing)を久々に起動してアップデートしたところ、アップデートが原因かどうかはわからないが、ec2-upload-bundleで以下のエラーが出るようになった。
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=368&categoryID=88
Curl.Error(35): error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message digest algorithmec2-ami-toolの最新版を持ってきたら動いた。
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=368&categoryID=88
September 04, 2008
Amazon Elastic Block Store
Amazon EC2インスタンスのデバイスとしてアタッチできる=ファイルシステムとしてマウントできる永続的なストレージが利用可能になっています。
Amazon Elastic Block Store (EBS)
これまでは、EC2インスタンスの永続的なデータはAPIを使ってS3にバックアップをとる必要があったのですが、EBSを利用することで、通常のファイルシステムと同様にデータを保存できるようになります。
これでほぼ、一般のサーバと同様の使い勝手が実現できるといえるでしょう。
余裕ができ次第試したいと思います。
Amazon Elastic Block Store (EBS)
これまでは、EC2インスタンスの永続的なデータはAPIを使ってS3にバックアップをとる必要があったのですが、EBSを利用することで、通常のファイルシステムと同様にデータを保存できるようになります。
これでほぼ、一般のサーバと同様の使い勝手が実現できるといえるでしょう。
余裕ができ次第試したいと思います。
August 20, 2008
[AWS] EC2の仮想マシンイメージを作った
Amazon EC2は、Amazonのインフラ上で、仮想マシンを好きな数だけ起動できるサービスです。
料金は各マシンの起動時間の合計に比例するため、例えば大量のマシンを短時間起動して並列処理、など色々な使い方ができるようです。
使用できる仮想マシンはAmazonから提供されているのですが、自分でイメージファイルを作成してアップロードすることもできます。
作成手順は、Amazon Elastic Compute Cloud Developer Guideの「Creating an AMI through a Loopback File」が参考になります。
EC2のバックエンドもXenなので、Xenのイメージファイルの作成手順とほとんど同じです。
手順を参考にCentOS5のイメージを作成したのですが、いくつかつまずいたところがあったので、メモしておきます。
■gsg-keypairでログインできない
EC2には、ec2-add-keypairコマンドでopensshキーを発行し、公開鍵をAmazon側に登録しておく仕組みがあるのですが、自作した仮想マシンイメージでは、登録したキーでのログインができません。
検索したところ、仮想マシン側で公開鍵を取得して.ssh/authorized_keyなどに登録する処理はスクリプトで追加する必要があるようです。
参考URL:http://developer.amazonwebservices.com/connect/message.jspa?messageID=76910
上記のURLを参考にget-credentials.shを作成し、/etc/rc.localで実行するようにしたところ、登録したキーでのログインができるようになりました。
■ec2-bundle-volが実行できない
EC2では、仮想マシン上でのファイルの変更は、インスタンスを停止した際に消えてしまうため、バックアップの方法を考える必要があります。Amazonから提供されている手段として、ec2-bundle-volコマンドで現在の実行環境をイメージファイルに書き出し、ec2-upload-bundleコマンドで、S3に保存する方法が提供されています。が、自作した仮想マシンイメージではec2-bundle-volコマンドが
エラーメッセージにしたがって
参考URL:http://developer.amazonwebservices.com/connect/entry.jspa?externalID=798
料金は各マシンの起動時間の合計に比例するため、例えば大量のマシンを短時間起動して並列処理、など色々な使い方ができるようです。
使用できる仮想マシンはAmazonから提供されているのですが、自分でイメージファイルを作成してアップロードすることもできます。
作成手順は、Amazon Elastic Compute Cloud Developer Guideの「Creating an AMI through a Loopback File」が参考になります。
EC2のバックエンドもXenなので、Xenのイメージファイルの作成手順とほとんど同じです。
手順を参考にCentOS5のイメージを作成したのですが、いくつかつまずいたところがあったので、メモしておきます。
■gsg-keypairでログインできない
EC2には、ec2-add-keypairコマンドでopensshキーを発行し、公開鍵をAmazon側に登録しておく仕組みがあるのですが、自作した仮想マシンイメージでは、登録したキーでのログインができません。
検索したところ、仮想マシン側で公開鍵を取得して.ssh/authorized_keyなどに登録する処理はスクリプトで追加する必要があるようです。
参考URL:http://developer.amazonwebservices.com/connect/message.jspa?messageID=76910
上記のURLを参考にget-credentials.shを作成し、/etc/rc.localで実行するようにしたところ、登録したキーでのログインができるようになりました。
■ec2-bundle-volが実行できない
EC2では、仮想マシン上でのファイルの変更は、インスタンスを停止した際に消えてしまうため、バックアップの方法を考える必要があります。Amazonから提供されている手段として、ec2-bundle-volコマンドで現在の実行環境をイメージファイルに書き出し、ec2-upload-bundleコマンドで、S3に保存する方法が提供されています。が、自作した仮想マシンイメージではec2-bundle-volコマンドが
mount: Could not find any loop device. Maybe this kernel does not knowとエラーが出て、実行することができませんでした。
about the loop device? (If so, recompile or `modprobe loop'.)
execution failed: "mount -o loop /mnt/image /mnt/img-mnt"
ec2-bundle-vol failed.
エラーメッセージにしたがって
# modprobe loopを実行しても、
FATAL: Could not load /lib/modules/2.6.16-xenU/modules.dep: No such file or directoryでこれもエラーになってしまいます。どうも、2.6.16-xenUに対応したモジュールが必要なようです。これも検索したところ、http://s3.amazonaws.com/ec2-downloads/modules-2.6.16-ec2.tgzからモジュールをダウンロードして解凍した後、
depmod -aでmodules.depを生成すればよいことがわかりました。
参考URL:http://developer.amazonwebservices.com/connect/entry.jspa?externalID=798