Articles of 亚马逊 EC2

AWS和RAM膨胀

一般认为,AWS不会超出内存或CPU,尽pipe我已经读过微型实例有时可能有些超卖。 尽pipe如此,RAM膨胀是XEN的一个广泛使用的function,我注意到内核驱动程序和膨胀守护进程正在EC2机器上运行,所以阻止了Amazon扩展内存以优化其资源使用情况? 我想进一步调查,因为我遇到了一个情况,一个8GB的EC2 Unbuntu无法分配内存来重启Tomcat,尽pipe根据free和top有将近1.8GB的可用内存,而在可回收的磁盘caching中有大约4GB。 我添加了所有进程的RSS,并且我从丢失的磁盘caching大小的空闲值中缺less大约4GB。 然而,系统一直在说一个Tomcat应用程序的OOM,这个应用程序限制了命令行的堆。 因此,无论是AWS有效膨胀,还是由于某种原因无法回收磁盘caching(可能不够快,以避免OOM?)也许交换将有所帮助,但有一些关于交换AWS的宗教战争,我不是pipe理员,所以我不能做一件事情。 所以再次回到最初的问题:如果XEN膨胀的驱动程序被加载,并且守护进程正在运行,那么阻止Amazom膨胀? 国际海事组织(IMO)认为,亚马逊(Amazon)不会为了弥补资源分配上的短暂上涨而放弃。 此外,这也是XEN的基本特征,我认为那些坚持认为亚马逊不使用它的人从未build立或运行过自己的XEN env。

奇怪的Linux磁盘统计EBS I / O信用度枯竭

我们在AWS EC2上有T2实例(Linux 4.9.20-11.31.amzn1.x86_64),由于读取磁盘而耗尽了他们的I / O信用。 这可能是因为我们在这些节点上有过多的读取,所以对它本身并没有什么奇怪的,但是节点上的进程的结果是相当奇特的。 atop (v。1.27)捕捉到一个正常的,预期的小读数stream,直到i / o信用被耗尽,当atop -d 30开始长时间地看起来像这样: PID TID RDDSK WRDSK WCANCL DSK CMD 10616 – 432.2M 0K 0K 24% consul 27629 – 313.3M 0K 0K 17% chef-client 27795 – 306.5M 0K 0K 17% python 27803 – 132.6M 0K 0K 7% crond consul或crond (以及其他named dhclient甚至init样本)突然决定要读取数百MB的MB,似乎不大可能。 这种行为持续了大约一个小时,各个进程在这段时间内读取了100多MB。 什么可以解释这些高数字通常行为良好的过程? 我认为读/proc/X/io read_bytes这些数字应该是相当准确的实际EBS活动?

什么可能导致这个EC2实例的负载峰值?

我有一个Amazon EC2实例(c1.medium,ami-ed46a784),每32小时左右的负载平均值会出现短暂的高峰。 平均负载通常在0.15左右,但是在这些峰值期间大约15分钟内上升到3+以上。 在此期间,不会增加CPU使用率,磁盘stream量,交换使用率,IRQ中断,apachestream量或我的collectd安装报告的任何其他指标。 禁用已添加到基本安装的所有cron作业不起作用。 这个实例运行chef ,apache,mysql,couchdb,memcached和一个扭曲的python服务 – 所有这些服务目前只能收到很less的stream量。 以下是其中一个峰值期间收集的一些数据: / usr / bin / top输出: 顶部 – 14:31:00上升65天,20:48,1个用户,平均负载:3.00,2.13,1.01 任务:总共125个,跑步1次,睡眠124次,停止0次,僵尸0次 Cpu:0.8%us,0.5%sy,0.0%ni,98.0%id,0.2%wa,0.0%hi,0.1%si,0.4%st Mem:总计1788724k,使用1723448k,使用65276k,使用179284k缓冲区 Swap:总计917496k,已使用124k,免费,917372k,caching680404k … CPU使用率最高的进程只有4%… / usr / bin / iostat输出: Linux 2.6.21.7-2.fc8xen(foo.example.com)11/08/09 _i686_(2 CPU) avg-cpu:%user%nice%system%iowait%steal%idle 0.78 0.00 0.80 0.19 0.42 97.95 设备:tps Blk_read / s Blk_wrtn / s Blk_read Blk_wrtn sda2 0.00 0.00 0.01 […]

解决Amazon EC2重新启动问题

我们有一台服务器(CentOS)在EC2上运行了几个月。 直到今天,我们得到了一个服务器不可用的警报(HTTP服务无法访问),一直非常顺利。 所以我尝试SSH进入框,但也超时了。 我login到EC2控制台,它说实例正在运行,系统日志中没有任何东西。 我注意到的一件奇怪的事情是,即使我们有一个Elastic IP(在Elastic IPpipe理区域中显示),但实例详细信息并未显示与该实例相关联的EIP。 我查看了消息日志,在我们得到警报的时候我看到的最后一件事情是dhclient更新了租约。 我猜测networking可能存在某种问题。 我该如何检查是否是问题所在,或者是否有任何其他问题可能导致我们的实例停止响应?

设置ec2窗口服务器需要多长时间?

设置ec2窗口服务器需要多长时间? 任何重大问题? 我希望有人可以链接到一个职位,有人一步一步地写他们如何做,以及他们遇到的任何问题等。

EC2数据库服务器故障切换策略

我打算将我的networking应用程序部署到EC2。 我有几个Web服务器实例。 我有1个主数据库实例。 我有1个故障转移数据库实例。 当主数据库实例失败时,我需要一个将Web服务器redirect到故障切换数据库实例IP的策略。 我希望我可以在我的连接string中使用弹性IP。 但是,networking服务器无法访问/ ping弹性IP。 我有几个蛮力的想法来解决这个问题。 但是,我试图find最优雅的解决scheme。 我正在使用所有.Net和SQL Server。 我的连接string在我的web.config中encryption。 有没有人有策略来使用某种forms的自动化或DNSconfiguration故障转移到EC2中的数据库实例? 请告诉我。

EC2 EBS AMI实例停止/重新启动不启动服务

我最近一直在把我们的实例转移到EBS实例(CentOS),并且当我“停止”和实例时发生的事情仍然有点混乱。 我有我的一些服务与运行级别345上,但是当我启动一个停止的实例服务不启动。 当我向该实例发出停止命令时,实际发生了什么情况,当我再次启动实例时,如何让我的服务自动启动?

EC2:closuresEBS卷的fsck有多危险?

我一直在试图弄清楚为什么我的EC2实例(由我自己定制的AMI制造)经历了许多尝试才能正确出现。 他们会失败,并出现以下错误: fsck.ext3:试图打开/ dev / sdf时没有这样的文件或目录 对于我在启动期间附加的两个EBS卷。 最后,我想出了问题。 我已经把它放在/ etc / fstab中: /dev/sdf /export ext3 defaults 1 2 /dev/sdi /export2 ext3 defaults 1 2 2告诉系统在上升的过程中驱动器。 改变这个 /dev/sdf /export ext3 defaults 1 0 /dev/sdi /export2 ext3 defaults 1 0 完全避免这个问题,但是现在这些卷永远不会被扔掉。 这有多重要? 一旦这个实例投入使用,它将会全天候运行,所以不会有太多的fsck发生,但仍然…这只是一个坏主意。 我还没有能够find任何人甚至报告这个问题(有人有相同的错误信息,但不同的原因)。 我可能是唯一犯这个错误的人,这似乎令人难以置信,但也许我是这样才华横溢的。 :)如果还有另一个解决scheme,我很乐意听到它; 我一直没能find一个。

安排EC2实例

我希望能够安排一些简单的EC2 EBS支持的实例(已configuration)在上午8点开始,并在下午4点停止。 这只是我将使用我的集成服务器。 有一个简单的服务(付费与否),我可以用来处理这个。 到目前为止,我发现的所有东西都是在linode或某处购买廉价VPS,并通过crontab安装ec2工具和时间表,但PITA是什么。 另一方面是像Rightscale这样的企业,但不是我简单的想法。

使用AWS Elastic Load Balancer时,为什么会出现TCP断开连接?

我们正在AWS EC2实例上运行我们的服务器。 服务器必须在端口80上提供HTTP,在端口1935上提供RTMP(TCP)。 运行一个实例工作正常。 但是,只要我使用Elastic Load Balancing来平衡两个EC2实例之间的负载,一分钟后RTMP(TCP)连接就会丢失。 即使我们的应用程序应该容忍不满,现在不适用。 使用haproxy来平衡负载,我们不会遇到这些早期的不满。 Elastic Load Balancer对我们很有吸引力,因为它具有自动缩放function。 有什么build议为什么当我们使用AWS Elastic Load Balancer时会发生这种断开连接?