我正在试验 EC2 Spot 实例,并且需要在终止之间保留一些数据。现在据我所知,当当前价格高于我的最大值时。投标,将自动终止。我假设我拥有的任何初始化脚本都将在关机时运行,因此我可以在卸载之前将数据推送到 EBS。
我的问题是,一旦价格下降,我如何在新的现货实例上自动安装相同的 EBS 卷,因为它不会有我第一次加载到根卷上的任何初始化脚本?
我是否必须创建自定义 AMI,或者是否有其他方法可以实现?
我在 EC2 上有 Amazon Linux,AMI 2013.09。我按照 LAMP 安装教程http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html 进行操作,最终安装了 PHP5.3。
在这里回答这个问题,亚马逊 Linux 版本详细信息,ceejay0z 解释说我可以使用yum install php55. 但是,当我这样做时,我会收到与冲突相关的错误(在依赖性检查结束时)。
所以,我的问题是,我如何从这里开始?我要删除现有的 PHP 安装,然后安装新的吗?升级?更新?更新到?(如果不是很明显,我之前没有用过yum...)
Add "create volume" permissions to the following associated snapshots when creating permissions当我们将 AMI 共享给不同的帐户时,指示的意义是什么?
这可以用于将 AMI 共享给不同的帐户 - 但他们无法从中取出新的 AMI 映像吗?

在亚马逊8 月 8 日中断后,所有(基于 EBS 的)AMI 都停止为许多 用户工作。这是由于 AMI 所基于的快照中的某些扇区损坏所致。
但是,亚马逊在应该修复磁盘问题的地方创建了恢复快照。这些是按照“vol-xxxxxxxx 的恢复快照”命名的。
我从恢复快照创建了一个运行良好的新 AMI,但从这个新 AMI 启动的实例不起作用:它们的状态是“正在运行”,但我无法通过 ssh 进入机器,也无法访问任何应该在那里运行的 Web 服务。归结为(来自系统日志,可通过 AWS 管理控制台访问):
EXT3-fs: sda1: couldn't mount because of unsupported optional features (240).
EXT2-fs: sda1: couldn't mount because of unsupported optional features (244).
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)
Run Code Online (Sandbox Code Playgroud)
我已经在 AWS 上的另一台服务器中安装了从该恢复快照创建的卷,但一切看起来都很正常。例如, fsck 说:
$ sudo fsck -a /dev/xvdg
fsck from util-linux-ng 2.17.2
uec-rootfs: clean, 53781/524288 files, 546065/2097152 blocks
Run Code Online (Sandbox Code Playgroud)
在 …
我按照说明与此处的特定帐户共享我的 AMI:http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html
我确保帐号是正确的,并且当我登录到目标帐户时,无论我尝试过滤什么,我都无法在我的 EC2 控制台中的任何位置(在图像 -> AMIs 下)找到共享的 AMI。
如何找到共享的 AMI?
我使用运行名为Amazon Linux AMI的发行版的 Amazon EC2 服务器实例。(我读过它基于 CentOS/Red Hat)。我的具体版本是2012.09 版本。
无论如何,大约一周前,我能够将时区从默认的 UTC 更改为 America/New_York(即 EST/EDT)。我用来改变它的命令是:
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
Run Code Online (Sandbox Code Playgroud)
...感谢另一个服务器故障问题。那时,我能够从命令行运行date,并且它正确地显示了 EDT 时间。即使在 EDT 在上周日“回落”到 EST 之后,我还是很高兴地发现跑步date仍然产生了正确的当地时间。那太好了。
但是,在yum update昨天运行之后,我的时区似乎恢复到了普通的 'ol UTC。我什至检查了/etc/localtime文件的最后修改时间,确实它确认它在我更新的同时被修改。
有什么办法可以防止这种情况再次发生,还是每次执行时我都会被卡住重置时区yum update?
我需要执行一些维护,这涉及到我的 EC2 生产服务器的停机时间。我想同时提供一些用户友好的维护页面。
我能想到的最简单的解决方案是获取一些简约的微型实例 AMI,在那里设置静态页面,并在维护期间将我们的公共弹性 IP 关联到该实例。
问题是:
(1) 有没有更简单的方法(即从 s3 提供一些静态页面,而不需要 EC2 实例)?[请注意,我不想要任何 dns 缓存延迟,我更喜欢像 ec2-associate-address 一样立即切换]
(2) 如果没有更简单的方法,从哪个 AMI 开始(以便它可以在微实例上运行,最好从 EBS 启动,以便可以轻松持久化)?
更新:
作为记录,这是我使用的解决方案:
sudo aptitude install nginxsudo /etc/init.d/nginx start/stop/restartsudo pico /etc/nginx/nginx.confinclude /etc/...行粘贴以下内容:Run Code Online (Sandbox Code Playgroud)server { root /var/www/nginx-default; location / { if (-f $document_root/error503.html) { return 503; } } # error 503 redirect to error503.html error_page 503 @maintenance; location @maintenance { rewrite …
昨天,我创建了一个新实例,但无法连接到它。尝试从我的计算机、在线 ping 站点等 ping 它,但它无法访问。
在 AWS 控制台中。一切似乎都在正常运作。可达性检查成功。截图如下:


我尝试使用不同的 AMI区域,但无济于事。我只是无法连接到任何 AWS 实例。
请帮忙。我现在一窍不通。

我有一个 Linux t1.micro 运行一个小的 Apache/PHP/Postgresql 网站几年了(这里称为“原始实例”)。奇迹般有效。
我想将该站点迁移到新的(更便宜的)t2.micro 实例。我找不到有关如何执行此操作的任何分步说明,但记下了this和this。
我的基本方法是
问题:在启动这个新实例时,它立即关闭并出现Client.InstanceInitiatedShutdown错误。我该如何解决这个问题?
我是否天真地认为我可以在 HVM 环境中使用在 PVM 环境中工作的根快照?有没有更简单的方法可以从 t1 迁移到 t2?
我希望不必从头开始在 t2 中重新构建我的服务器并手动迁移数据(我没有使用任何自动构建脚本)。
编辑:我最终从头开始重建 t2 实例:P
我是 Linux / Yum 的新手,刚刚设置了一个 AWS AMI 实例。我正在尝试安装 Go 1.8。当我运行sudo yum install golang它时安装了 1.6.3 版。我怎样才能让它安装 1.8 版?
[ec2-user@ip-123 ~]$ yum --showduplicates list golang | expand
Loaded plugins: priorities, update-motd, upgrade-helper
Available Packages
golang.x86_64 1.5.3-1.22.amzn1 amzn-main
golang.x86_64 1.6.3-2.57.amzn1 amzn-updates
Run Code Online (Sandbox Code Playgroud) amazon-ami ×10
amazon-ec2 ×6
amazon-ebs ×2
linux ×2
yum ×2
amazon-linux ×1
centos ×1
maintenance ×1
redhat ×1
ubuntu ×1