1

EBS ボリュームから AMI を起動しようとすると問題が発生します。基本的に、希望どおりに構成済みの Linux (i386) ベースの AMI の別のインスタンスを起動しようとしています。この 1 週間、多くのガイドに従ってきました。これまでのところ、カスタム プライベート AMI を作成できましたが、新しいインスタンスを起動した後に接続できません。作成した AMI の設定が間違っているのではないかと思います (ファイルが完全にコピーされていない可能性があります)。

とにかく、AMIを作成するために私が行っている基本的な手順は次のとおりです。

ec2-create-volume -K pk-xxxxxx.pem -C cert-xxxxxx.pem --size 10 --availability-zone us-east-1a

ec2-attach-volume -K pk-xxxxxx.pem -C cert-xxxxxx.pem vol-xxxxxx --instance xxxxxx --device /dev/sdh

はい | mkfs -t ext3 /dev/sdh mkdir/mnt/ebsimage

echo '/dev/sdh /mnt/ebsimage ext3 defaults,noatime 0 0' >> /etc/fstab

マウント /mnt/ebsimage

umount /mnt/ebsimage

ec2-detach-volume -K pk-xxxxxx.pem -C cert-xxxxxx.pem vol-xxxxxx --instance xxxxxx

ec2-create-snapshot -K pk-xxxxxx.pem -C cert-xxxxxx.pem vol-xxxxxx

ec2reg -K pk-xxxxxx.pem -C cert-xxxxxx.pem -s snap-xxxxx -a i386 -d -n --kernel aki-xxxxx --ramdisk ari-xxxxxx

マウントに関するコマンドがめちゃくちゃになっているか、ec2reg に関するコマンドがめちゃくちゃになっていると確信しています。助言がありますか?


私も交換してみました

はい | mkfs -t ext3 /dev/sdh

mkdir/mnt/ebsimage

echo '/dev/sdh /mnt/ebsimage ext3 defaults,noatime 0 0' >> /etc/fstab

マウント /mnt/ebsimage

rsync を使用して他の詳細を追加するように設計されたスクリプトを使用しますが、起動された AMI の新しいインスタンスに接続できません。ここにスクリプトのコピーがあります。

#!/bin/sh
vol=/dev/sdh
ebsmnt=/mnt/ebsimage
mkdir ${ebsmnt}
mkfs.ext3 -F ${vol}
sync
echo "mount $vol $ebsmnt"
mount $vol $ebsmnt
mkdir ${ebsmnt}/mnt
mkdir ${ebsmnt}/proc
mkdir ${ebsmnt}/sys
devdir=${ebsmnt}/dev
echo "mkdir ${devdir}"
mkdir ${devdir}
mknod ${devdir}/null    c 1 3
mknod ${devdir}/zero    c 1 5
mknod ${devdir}/tty     c 5 0
mknod ${devdir}/console c 5 1
ln -s null ${devdir}/X0R
rsync -rlpgoD -t -r -S -l -vh \
--exclude /sys --exclude /proc \
--exclude /dev \
--exclude /media --exclude /mnt \
--exclude /sys --exclude /ebs --exclude /mnt \
-x /* ${ebsmnt}
df -h

最初の例と同じ結果が得られたので、この問題の解決に近づいているのか、それともさらに先なのかはわかりません。どんな助けでも大歓迎です。

4

2 に答える 2

0

S3 ベースの AMI から EBS AMI を作成するには、次のブログ投稿を使用できます: http://www.capsunlock.net/2009/12/create-ebs-boot-ami.html

于 2011-03-26T08:34:20.463 に答える
0

どのディストリビューションを実行しようとしているかはわかりませんが、debian を実行したい場合は、AMI の作成 (EBS ブート) を含むブートストラップ プロセス全体を管理するスクリプトがあります。

私の github アカウントで見つけることができます: https://github.com/andsens/ec2debian-build-ami

このスクリプトは徹底的にテストされており、ami をカスタマイズするために他のスクリプトを含めることができます。スクリプト自体を変更したい場合は、それを fork するだけです。少なくとも、すべてが機能することがわかっている作業のベースができます。

あなたが概説したプロセスはお勧めしませんが、かなり「面倒」に思えます。

于 2012-05-13T18:53:13.243 に答える