基本上,我正在尝试启动一个 Amazon 微实例,安装 Java、Tomcat、MySQL 和其他一些东西,然后保存该实例的快照,以便以后可以启动许多类似的实例。
经过多次尝试,我省去了软件安装过程,只需克隆正在运行的 EBS 支持的 AMI。以下是我所做的:
- 选择 EBS 支持的 AMI(我已经完成了 Ubuntu ami-fd589594 和 Debian ami-1212ef7b)并作为微实例启动
- 使用我的安全组和密钥成功完成 SSH
- 转到 EBS 选项卡并右键单击 AMI EBS 并创建 EBS 的快照
- 从快照创建图像
- 使用相同的安全组和密钥启动上面创建的图像(作为微实例)
- 尝试通过 ssh 访问它,但...无法连接!
我一直没有成功,很多时候 syslog 都是空的。
我错过了什么?
答案1
您没有提供有关如何“从快照中创建图像”的具体细节,但根据我所看到的内容,我猜测您可能没有指定正确的 AKI 或 ARI。
如果您从 EBS 根卷的快照创建映像,则需要指定要与新 AMI 一起使用的 AKI(内核)。只需使用原始 AMI 使用的相同内核即可。如果原始 AMI 使用 ARI(ramdisk),也请指定该内核。
或者...
您无需分步执行快照和 AMI 注册,只需使用ec2-create-image
命令/API 一次性完成所有操作即可。右键单击实例列表时,EC2 控制台中的菜单项“创建映像 (EBS AMI)”中也提供了此功能。请注意,这将暂时停止实例以确保快照一致。
以下是我运行上述 Ubuntu AMI、在实例上执行创建新 AMI 的操作并运行新 AMI 实例的会话日志ec2-create-snapshot
。我能够顺利通过 SSH 登录到新 AMI 的新实例。
$ ec2-run-instances --key $USER --instance-type t1.micro ami-fd589594
RESERVATION r-12ea647c XXX default
INSTANCE i-50b5a230 ami-fd589594 pending XXX 0 t1.micro 2011-10-19T07:26:37+0000 us-east-1d aki-427d952b monitoring-disabled ebs paravirtual xen sg-XXX default
$ ec2-create-image -n "test AMI $(date +%Y%m%d-%H%M)" i-50b5a230
IMAGE ami-4bbc7322
$ ec2-run-instances --key $USER --instance-type t1.micro ami-4bbc7322
RESERVATION r-66e66808 XXX default
INSTANCE i-f2b1a692 ami-4bbc7322 pending XXX 0 t1.micro 2011-10-19T07:32:37+0000 us-east-1a aki-427d952b monitoring-disabled ebs paravirtual xen sg-XXX default
$ ssh [email protected]
[...]
ubuntu@domU-12-31-39-0C-08-75:~$
注意:为了避免必须-i KEYPAIR.pem
在 ssh 命令中指定,我按照我在此处写的说明将我的个人 ssh 密钥上传到 EC2:
将个人 ssh 密钥上传到 Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys