投稿日 2009年9月17日 木曜日 カテゴリ Amazon EC2 投稿者 sugimotoコメント(0) » 

sugimotoです。

OpenGrooveで運営中のサービスはAmazon EC2 でホストしているんですが、稼働中のサーバー監視など、監視サービスを自分で構築しなくてよくなるの?とおもって、Amazon CloudWatch をためしてみました。

値段も $0.015 / hour. instance ということなので、1ヶ月 $10.8 です。

導入はいたって簡単で、AWS Console画面から、インスタンスを選択して、Monitoringタブを開くだけです。

[Enable Monitoring]を選択すると、ダイアログが表示され、Monitorが開始されます。

モニター開始後は同じタブ内にこんなグラフが表示されて、「おおー、モニターしてるぞ。」って感じになります。

グラフ表示される項目は次の5つです。

  • CPU Utilization (CPU稼働率)
  • Avg Disk Reads (平均ディスク読み出し)
  • Avg Disk Writes (平均ディスク書き込み)
  • Max Network In (最大ネットワーク入力)
  • Max Network Out (最大ネットワーク出力)

でも実際には、nagioszabbixのように、警告メールや日時レポートができるわけではないので、Auto Scaling, Elastic Load Balancing のようなAmazonの別のサービスと連携して、運用自動化をすることに使うようです。

ちなみに、OpenGrooveのサービスはそこまでのニーズはまだないので、必要ありませんでした。。

OpenGrooveの社内検索システム : zeera document search

エンタープライズ検索 zeera document search

zeera document searchで社内文書検索

投稿日 2009年7月21日 火曜日 カテゴリ Amazon EC2, EC2 投稿者 sugimotoコメント(0) » 

Amazon EC2 でインスタンスをいつでも複製/復元できるよう自分用のAMIを作成していたところ、ec2-bundle-vol に失敗しました。

-bash-3.2# ec2-bundle-vol -d /mnt -k xxxxx.pem -c xxxxx.pem  -u xxxx-xxxxx-xxxx
 Please specify a value for arch [i386]:
 Copying / into the image file /mnt/image...
 Excluding:
          /sys
          /proc
          /dev/pts
          /proc/sys/fs/binfmt_misc
          /dev
          /media
          /mnt
          /proc
          /sys
          /mnt/image
          /mnt/img-mnt
 1+0 records in
 1+0 records out
 1048576 bytes (1.0 MB) copied, 0.001797 seconds, 584 MB/s
 mke2fs 1.39 (29-May-2006)
 ERROR: execution failed: "rsync -rlpgoD -t -r -S -l --exclude /sys --exclude /proc --exclude /dev/pts --exclude /proc/sys/fs/binfmt_misc --exclude /dev --exclude /media --exclude /mnt --exclude /proc --exclude /sys --exclude /mnt/image --exclude /mnt/img-mnt -X /* /mnt/img-mnt 2>&1 > /dev/null"

つい1日前には同じインスタンスから実行できたのに。。。

rsync コマンドが実行エラーってなってます。 ec2-bundle-vol がrsyncコマンドを実行して、途中で失敗したようです。

ネットで調べてみると、rsyncコマンドの実行エラーで失敗する理由として、2つのパターンがあるようです。

1. volume保存用の領域が足りない

AMI保存用のイメージファイルを作成中にインスタンスのディスク領域を使いきった場合、エラーとなるようです。 この場合は、インスタンス内のいらないファイルを削除するしかないですね。。

2. rsync実行中にファイルが削除されたりしてしまった

rsyncコマンドの途中で対象となっているファイルやディレクトリが変更されると、コマンドが失敗します。

プログラムの動作中に ec2-bundle-vol を起動すると、rsyncコマンドが失敗してしまうことがあるということ。

エラーメッセージの中にあるrsyncコマンドを直接実行すると、どちらが原因かわかるようです。

-bash-3.2# rsync -rlpgoD -t -r -S -l --exclude /sys --exclude /proc --exclude /dev/pts --exclude /proc/sys/fs/binfmt_misc --exclude /dev --exclude /media --exclude /mnt --exclude /proc --exclude /sys --exclude /mnt/image --exclude /mnt/img-mnt -X /* /mnt/img-mnt
file has vanished: "/var/nagios/spool/checkresults/check1n3woE"
rsync warning: some files vanished before they could be transferred (code 24) at main.c(892) [sender=2.6.8]

/var/nagios/spool にあるファイルがなくなったということです。

nagiosはサーバー監視用のサービスですね。確かに昨日インストールしました。AMIを作成する間は、止めてしまいましょう。

sudo /etc/init.d/nagios stop

nagiosを止めたら ec2-bundle-vol コマンドが成功し、無事にAMIが作成できました。めでたしめでたし。

Daemon のようなプログラムは実行しているという認識が低いので、要注意ですね。