我在理解我的大 S3 账单时遇到了麻烦,我想在 AWS 每月支持降低 30 美元之前我会在这里问。
基本上,我有一个Amazon EC2实例,它为不同的加密货币交换制作 API,并将响应保存到实例 HD。大约每 5 分钟调用一次,响应对象大约为 100 kb,由R脚本读取,每约 8 分钟添加到一个CSV文件。该 CSV 文件大约每 15 分钟同步到一个Amazon S3存储桶。
CSV 文件通常为 10 MB 左右,用于大约 15 种加密货币,每 15 分钟。因此,查看 Amazon S3 存储桶,最多可能使用 0.5 GB 的空间。
但是,“TimedStorage-ByteHours”的读取大小约为 4 TB!
亚马逊简单存储服务 TimedStorage-ByteHrs 89.55 美元
每 GB 0.000 USD - 每月全球免费 tier5 GB 下的存储 - Mo 0.00 USD
每 GB 0.023 美元 - 使用的前 50 TB/月存储空间 3,893.399 GB - 月 89.55 美元
有任何想法吗?
当我启动带有允许所有流量进入我的私有子网的安全组的服务器时,它会显示一条警告,表明它可能对全世界开放。
如果是私有子网,那怎么可能呢?
我有两个 AWS 账户。example.com作为托管区域的主帐户,它有许多记录集(即 api.example.com 和 kibana.example.com)。
第二个帐户将testing.example.com作为托管区域进行管理,具有相同的记录集集(即 api.testing.example.com 和 kibana.testing.example.com)。
如何告诉主帐户将请求提交.testing.example.com给子帐户。我不想更改主帐户,因为我想在“实时”和“测试”中使用相同的 Cloud Formation 模板。
我已经按照上面的方法设置了两个,但它不起作用(api.testing.example.com无法解决)。我还尝试将主帐户中的 testing.example.com ns 记录设置为子帐户(1)中指定的记录。唉,这不是我以前做过的事情,谷歌搜索也没有返回任何东西。
1)我搞砸了,这就是答案。见下文。
建议使用哪种方法来更新在 Amazon ECS 中运行的服务的容器?
该AWS文档说:“如果你已经更新了应用程序的泊坞图像,你可以创建一个新的任务定义与图像,并将其部署到您的服务,一次一个任务。” 这几乎是当前文档中当前可用的所有内容(2015 年 4 月 13 日)。
我是否理解正确,在 Amazon ECS 中更新我的应用程序容器的唯一方法是创建一个新任务,然后停止旧任务并启动新任务?
我已经成功地在 Core OS 和 Fleectl 中使用了“最新”标签。这样做的好处是不需要为新的更新更改 Docker 镜像的标签,因为重新加载服务将看到新的更改并更新容器(使用相同的标签“最新”)。
您使用哪种方法在 Amazon ECS 中使用更新的 docker 镜像更新您的服务?
我如何及时了解 Amazon 将用于 EC2 实例的 IP 地址范围的更改。我想在我的防火墙设置中添加一系列 IP,以允许从我的自动缩放策略启动的实例访问我的“基于地面的”mysql 数据库。据我了解,每个实例都有一个在此范围内的 IP 地址?这样对吗?
尝试运行一个简单的 AWS CLI 备份脚本。它遍历包含文件中的行,将这些路径备份到 S3,并将输出转储到日志文件。当我直接运行此命令时,它运行没有任何错误。当我通过 CRON 运行它时,我的输出日志中出现“无法找到凭据”错误。
外壳脚本:
AWS_CONFIG_FILE="~/.aws/config"
while read p; do
/usr/local/bin/aws s3 cp $p s3://PATH/TO/BUCKET --recursive >> /PATH/TO/LOG 2>&1
done </PATH/TO/INCLUDE/include.txt
Run Code Online (Sandbox Code Playgroud)
我只是在开始看到错误后才将这一行添加到配置文件中,我认为这可能会解决它(尽管我很确定这是 AWS 默认的样子)。
Shell 脚本以 root 身份运行。我可以在指定位置看到 AWS 配置文件。我觉得这一切都很好(就像我说的,它在 CRON 之外运行良好)。
对于我托管网站的服务器,我想将数据和设置备份到 S3 存储桶。我发现您不能直接使用 rsync 备份到 S3 存储桶。是否有另一种方法可以实现以下 rsync 命令将数据备份到 S3 存储桶?
rsync -av /Data /s3bucket
Run Code Online (Sandbox Code Playgroud)
我还想将该服务器上的 mysql 数据库备份到 S3 存储桶。实现这一目标的最佳方法是什么?
最后一个问题,如果我设法将所有内容备份到 S3。如果服务器崩溃或在最坏的情况下完全擦除,恢复服务器的最佳方法是什么?我必须自己记下服务器设置并重新配置服务器还是有办法备份它?
我了解什么是 IOPS 和吞吐量。吞吐量以 MB/s 为单位衡量数据流,IOPS 表示每秒发生的 I/O 操作数。
我不明白的是为什么许多存储服务只显示它们提供的 IOPS。我真的看不到任何我更愿意知道 IOPS 而不是吞吐量的情况。
为什么 IOPS 很重要?为什么 AWS 主要以 IOPS 显示其存储配置?IOPS 在哪些方面比吞吐量 (MB/s) 更相关?
编辑:
有些人正在研究这个问题,就好像我问什么是随机访问以及它如何影响性能或 HDD 和 SSD 的工作原理......对此,这不是问题的目标,问题是关于“当我看到 IOPS 数字时,我会获得哪些新信息,而我不会看到吞吐量 (MB/s) 数字?”
当我为一个实例分配多个安全组时会发生什么?如果任何一个安全组允许,就允许流量进入的意义上来说是宽容的。或者在每个安全组必须允许流量传入的意义上是限制性的?
例如,假设我有一类实例,它只会与同一帐户中的其他实例通信。我还有一类实例只接受通过 HTTP(端口 80)的流量。
是否可以通过创建和应用两个安全组来限制对内部实例的访问,并且只能通过 HTTP:
或者我是否被迫创建一个安全组来允许来自源本身的端口 80 的流量?
我将在 VPC 的默认子网中的 Elastic Beanstalk 自动扩展组中拥有多个 EC2 实例。这些 EC2 实例上的应用程序需要连接到使用 IP 地址白名单的第三方服务才能允许访问。所以我需要一个或多个静态 IP 地址,我可以将这些地址提供给该服务提供商,以便将它们添加到白名单中。我的理解是,获得静态 IP 的唯一方法是获得弹性 IP 地址。而且我一次只能将弹性 IP 与一个 EC2 实例相关联——我无法将它与我的整个子网或互联网网关相关联(这是正确的吗?)。那么我是否需要为每个 EC2 实例提供一个弹性 IP,以便每个实例都可以单独列入白名单?如果自动缩放添加另一个实例,这将如何工作?我是否应该拥有一个带有弹性 IP 的 EC2 实例,并通过该实例路由所有传出流量?如果是这样,该实例是否需要仅用于此目的,还是可以是运行我的应用程序的实例之一?
amazon-web-services amazon-elastic-ip autoscaling amazon-vpc elastic-beanstalk
amazon-ec2 ×2
amazon-s3 ×2
amazon-vpc ×2
amazon-ecs ×1
autoscaling ×1
backup ×1
bash ×1
containers ×1
cron ×1
docker ×1
iops ×1
ip ×1
networking ×1
performance ×1
rsync ×1
shell ×1
storage ×1
update ×1