EC2 - 创建AMI - 无法连接到新实例

时间:2011-03-05 22:42:14

标签: amazon-ec2 ec2-ami ec2-api-tools

我在尝试从EBS卷启动AMI时遇到了困难。我基本上试图启动另一个基于Linux(i386)的AMI实例,我已经按照我想要的方式配置了它。过去一周我跟随了很多导游。到目前为止,我能够创建自定义私有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   默认值,noatime 0 0'>> / etc / fstab

     

mount / 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

我很确定我在mount周围的命令搞砸了,或者我在ec2reg周围的命令搞砸了。有什么建议吗?


我也试过替换

  

是的mkfs -t ext3 / dev / sdh

     

mkdir / mnt / ebsimage

     

echo'/ dev / sdh   / mnt / ebsimage ext3默认值,noatime 0   0'>> / etc / fstab

     

mount / 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

因为我和第一个例子的结果相同,所以我不确定我是否更接近于解决这个问题或更远。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

要从基于S3的AMI创建您的EBS AMI,您可以使用我的博客文章: http://www.capsunlock.net/2009/12/create-ebs-boot-ami.html

答案 1 :(得分:0)

我不知道您要尝试运行哪个发行版,但如果您想运行debian,则会有一个脚本来管理整个引导过程,包括创建ami(EBS引导)。

您可以在我的github帐户中找到它: https://github.com/andsens/ec2debian-build-ami

该脚本已经过全面测试,允许您包含其他脚本以自定义您的ami。如果你想修改脚本本身,只需分叉它,至少你有一个基础可以工作,你知道一切正常。

我不会推荐您概述的过程,但它似乎非常“混乱”。