首先,我不太习惯 AWS 或 DevOps/admin 的东西,但想学习。所以我在几个月前设置了一个 EC2 实例并附加了一个 EBS 卷 (15 Gb),以便在几天内测试一些东西。
然后我意识到月费已满 (EC2 + EBS),因为我让实例保持活动状态,所以我分离了卷并停止了实例,EC2 实例不再收费。
但是现在,我看到 EBS 卷仍然收取 1.5 美元/月的费用,即使它是分离的。我应该删除卷以避免任何费用吗?或者有任何类型的停止或禁用卷?
我在 Redis 日志中看到以下内容:
1182:M 30 Nov 14:27:00.028 * 1 changes in 900 seconds. Saving...
1182:M 30 Nov 14:27:00.029 * Background saving started by pid 1920
1920:C 30 Nov 14:27:00.029 # Failed opening .rdb for saving: Read-only file system
1182:M 30 Nov 14:27:00.130 # Background saving error
Run Code Online (Sandbox Code Playgroud)
Redis 配置为使用此目录:
ubuntu@XXXXX:~$ redis-cli
127.0.0.1:6379> config get dir
1) "dir"
2) "/mnt/persistent/redis-data"
Run Code Online (Sandbox Code Playgroud)
如果我成为 redis 用户,我可以很好地写入该目录:
ubuntu@XXXXX:~$ sudo su - redis
redis@XXXXX:~$ touch /mnt/persistent/redis-data/caniwrite
redis@XXXXX:~$ ls /mnt/persistent/redis-data/caniwrite
/mnt/persistent/redis-data/caniwrite
Run Code Online (Sandbox Code Playgroud)
它似乎以读写方式安装:
root@XXXXX:~# mount -l | grep /mnt/persistent …Run Code Online (Sandbox Code Playgroud) 在亚马逊宣布新的基于 EBS 的 AMI 之后,我想知道是否可以或将可以创建不基于现有 Fedora/Windows AMI 的新 AMI。该文件说:
最简单的方法是从现有的公共 AMI 开始,然后根据您的要求对其进行修改。这适用于 Amazon EBS 支持和 Amazon S3 支持的 AMI,并在从现有 AMI 开始中进行了描述。
另一种方法是在独立机器上或在通过环回挂载的空文件系统上构建全新安装。这仅适用于由 Amazon S3 支持的 AMI,并且需要从头开始构建操作系统安装。
这听起来像是所有未来的 AMI 都必须基于现有的 AMI,但这将非常有限。我是否正确理解这一点,或者是否有任何其他方法可以创建不基于现有 AMI 的 AMI?我有兴趣创建 ubuntu AMI。
我在 Amazon EC2 上配置了一个新的 MySQL 服务器,并决定将我的数据存储在 EBS RAID0 阵列上。到目前为止一切顺利,我已经测试了使用 ec2-consistent-snapshot 拍摄这些设备的快照,很棒。
现在,您如何根据这些快照在新实例上快速重建阵列?
当您使用 ec2-consistent-snapshot 创建多个卷的快照时,您无法知道 RAID 中的每个设备使用了哪个卷。我可能完全错了,但是由于您要跨卷对数据进行条带化,因此您必须将每个新卷放在 RAID 上与创建快照的卷相同的位置是合理的。
一个例子:
您创建一个EC2的快照:ec2-consistent-snapshot <options> vol-1 vol-2 vol-3。
您现在有 3 个快照,追溯它们是哪个设备的唯一方法是查看源卷 id,然后查看源卷 id 安装在哪个设备上,然后检查 RAID 的详细信息源卷的实例上的配置。
这显然是令人难以置信的手动......而且速度不快(如果另一个实例失败,这显然很难快速启动一个新的mysql实例。更不用说,你必须在RAID上记录设备位置快照,因为如果源卷实例崩溃,您将无法进入 RAID 配置)。
所以,总结一下:
我希望这很清楚,感谢您的帮助!
所以基本上,我创建了一个用于开发的大型 Windows 服务器,然后我创建了一个用于生产的微型 Windows 服务器。我在我的开发服务器上设置了我想要的所有东西,然后我卸载了驱动器,并将它们安装到我的微型服务器上。
现在我试图回到我的大型 Windows 开发服务器,但我收到了错误。
Invalid value 'i-4896ce28' for instanceId. Instance does not have a volume attached at root (/dev/sda1)
Run Code Online (Sandbox Code Playgroud)
当我尝试启动大型 Windows 服务器时会弹出此错误。我已将驱动器重新安装到大型开发服务器,但仍然收到此消息。
我真的不知道该怎么做,我读过其他帖子,每个人都在提供这些几乎像命令行参数和谈论其他工具的文章,我真的不知道这意味着什么,或者我什至不知道我在哪里无需登录到特定实例即可输入任何命令的选项。
我已经创建了一个 AMI,但我想将实例存储用于我想要运行的一些科学程序。他们基本上从磁盘读取一堆东西,将其写回磁盘,然后总结这些结果。这需要在 Windows 上,因为这是编写这些程序的平台。我不需要文件持久化,我也不在乎我是否丢失了它们,所以我想为此使用实例存储并且不产生任何 I/O 费用。
所以,我启动了我的 AMI,但是当我远程进入时,我只能看到我的 EBS 根设备。如何挂载可供我使用的实例(临时)存储?
我需要设置一个本质上具有非常大容量的 SFTP 服务器。我需要向我们的合作伙伴之一提供 SFTP 登录详细信息到服务器,他们将在其中上传数百万个文件,总计数百 TB。然后我会选择性地阅读其中的一些文件。这是唯一的实际要求,任何技术选择都可供选择。
我想到的最简单的方法是让某种 EC2 实例运行 SFTP 服务器,这样上传的任何内容要么直接发送到 S3,要么某种进程在上传时发现新文件,将它们复制到S3,并从磁盘中删除它们。
这是最好的方法吗?有没有其他方法可以获得基本上具有“无限且神奇增长的磁盘空间”的服务器?
谢谢你的帮助!丹尼尔
AWS 文档通过以下方式描述 Burst Balance 和 EEBS IO Balance:
BurstBalance 可用的通用 SSD (gp2) 突发存储桶 I/O 积分的百分比。
EBSIOBalance% RDS 数据库的突发存储桶中剩余的 I/O 积分百分比。该指标仅可用于基本监控。该指标与 BurstBalance 不同
然而,据我所知,文档没有解释这两个指标有何不同。
amazon-ec2 amazon-ebs amazon-web-services amazon-rds amazon-cloudwatch
我最近在 Amazon EC2 上制作了一个新的 Ubuntu EBS 映像,由于我正在运行的内容并不是最重要的,因此决定将它作为 Spot 实例运行以利用较低的价格。但我注意到的是,从您请求实例到它实际启动的时间可能相当长。过去我看到它在几分钟内开始,但最近它似乎需要永远。永远,我的意思是今天早些时候我等了一个多小时,然后放弃并开始了一个正常的实例,而刚才我又等了 30 多分钟。它一直处于“打开”状态,这表明它甚至没有接受现场请求。
即使我将出价设置为比当前运行价格历史记录高 50%,它仍然不会立即启动。有谁知道这是故意的,还是我只是错过了什么?由于这个原因以及其他各种原因,我逐渐对 AWS 失去信心。
我想将卷 id 附加到实例,就像我们如何从元数据中获取实例 id
InstanceID=`curl http://169.254.169.254/latest/meta-data/instance-id
Run Code Online (Sandbox Code Playgroud)