我们最近使用Amazon AWS。 现在我们的应用程序在云端。 我们configuration了自动缩放ELB,它工作正常。 我们需要修改ELB并控制它的工作方式。 我检查了所有的configuration,不能这样做。 我们如何定制实例的stream量分布? 如果ELB不可能,那么还有其他办法吗?
在inheritance了大量的开发,testing,UAT和集成环境之后,我注意到在晚上和周末会有大量的部署闲置。 我们已经做了我们能够教育这些环境的所有者在完成时删除。 在围绕这个问题做了一些math计算后,我相信我们可以节省大约30%的计算成本,将所有服务缩减到每天14小时的1个实例+周末,这些服务大部分未被使用。 这个工具是否已经存在? 如果是这样的话,可以在SaaS软件包中使用? ylastc – 能够为AWS EC2做到这一点。 AzureWatch – 能够做到这一点,尽pipe它笨拙。 Windows Azure PowerShell – 可以很简单地做几行,但是我的偏好是第三方服务。
我不是networking专家,我正在努力尝试为Web应用程序设置自动缩放。 我有一个服务器 – 我们可以称之为主 – (在自动扩展组之外),我使用它作为memcache和beanstalkd队列。 我也想用这个服务器来使用rsync做一个源代码同步。 我希望自动伸缩组的服务器能够ssh这个主服务器执行一个rsync,并确保AMI有最新版本的应用程序。 当触发放大警报并启动新实例时,我想要执行此同步。 我读过,我必须用户 – 用户数据文件来执行第一次引导服务器的脚本。 所以这是我现在所拥有的所有信息。 我已经设置了“启动configuration”,“自动缩放组”,“放大”和“缩小”策略,并且都触发这些策略。 我正在使用基于Centos 6公用AMI的自定义(私有)AMI。 当一个新的自动伸缩组实例启动时,我觉得bootstrap.sh脚本没有执行。 这是我的启动configuration: as-create-launch-config –image-id <PRIVATE_AMI> –instance-type m1.medium –key master –group webserver-security-group –user-data-file /home/user/bin/bootstrap.sh –launch-config my-lc-1 以下是/home/user/bin/bootstrap.sh的内容: #!/bin/bash set -e -x # Start the workers /var/www/user/bin/start.sh 所以我的第一个问题是,我不知道为什么这个脚本没有执行。 我有第二个问题是,我不知道如何让SSH连接到“主”服务器知道该实例正在改变时扩大或缩小。 帮助将不胜感激;) 马克西姆
我们有一个应用程序,客户可以将数据和文档上传到多个EC2实例。 我们在EBS卷上存储上传内容。 偶尔我们的应用程序将失败。 有时候,这是在我们的应用程序服务器,有时是坏的EC2硬件。 我怎样才能自动恢复一个特定的实例? 换句话说,当一个实例变得不可用超过X分钟时,我想自动终止实例,启动一个新的实例(可能在新硬件上),并附加旧的EBS卷,以保留客户的数据。 有没有办法设置CloudWatch或自动缩放来做到这一点?
好的,所以我已经在启动configuration的用户数据部分设置了一个实例自动注册Foreman的方法,并通过API调用将自己放入正确的主机组。 现在,随着自动缩放的短暂性质,如果工头没有在一定的时间内检查,工头是否有办法清理主机? 我不想依靠脚本来调用实例终止的API,只是在出现硬件故障的情况下,或脚本不能干净地运行的任何其他原因。
所以,我一直在玩我的自动缩放configuration和我的Cloudwatch警报,试图保持所有的实例呜呜,但不咆哮。 我似乎无法摆脱一个恒定的溜溜球。 CPU使用率上升,引入一个实例,CPU使用率下降,杀死一个实例。 冲洗并重复。 目前,我正在以平均CPU> = 40%的3 x 1分钟间隔进行报警。 也许我可以基于其他东西? CPU是一个棘手的一个,因为当这个图表尖峰(高),我可以看到一些实例与空闲的CPU,所以平均正在提出一个单一的实例。 我发现有些人在得到200的时候会得到502。 显然,我希望这是一致的,并停止这一次的尖峰。 提前致谢。 编辑1:我已经调整了Cloudwatch指标为20%的CPU超过2分钟,还发现一个nginx错误,也可能归因于一些额外的负载。 当前graphics如下所示。 编辑2:负载监控是好多了。 请参阅下面的负载警报。 我收到警报的频率很低,一切都运行得更好。 这就是我每分钟都在运行的东西。 /usr/local/bin/aws cloudwatch put-metric-data –namespace="NS" –metric-name="GroupLoad" –value `cat /proc/loadavg | awk '{print $1}'` –dimensions AutoScalingWebGroup=NS-WebGroup
我正在尝试在GCE上设置自动缩放实例组。 自动调节策略设置,根据已用内存的百分比添加实例。 在每个实例上,我都像这样安装了Stackdriver Monitoring Agent(collectd): $ curl -O https://repo.stackdriver.com/stack-install.sh $ sudo bash stack-install.sh –write-gcm 我可以使用监视API读取代理程序报告给Stackdriver的指标: GET https://monitoring.googleapis.com/v3/projects/test-cluster/timeSeries?filter=metric.type+%3D+%22agent.googleapis.com%2Fmemory%2Fpercent_used%22+AND+resource.label.instance_id+%3D+%224770937493855508384%22&interval.endTime=2017-01-10T01%3A10%3A00Z&interval.startTime=2017-01-10T01%3A05%3A00Z&key={API_KEY} 实例组pipe理器设置使用agent.googleapis.com/memory/percent_used指标自动缩放 但是,实例组pipe理器报告: “没有收到针对configuration为自动缩放的自定义指标的数据” 问题:显然agent.googleapis.com/memory/percent_used指标报告给Stackdriver,但由于某种原因没有返回到实例组pipe理器。
我在Google云端平台的一个项目中有一个托pipe的实例组。 我的实例组使用GCP提供的最小的预定义机器,f1-micro(更多信息,请访问https://cloud.google.com/compute/docs/machine-types#sharedcore ) 我的实例组使用以下设置启用了自动缩放: gcloud compute instance-groups managed set-autoscaling [my-ig] \ –region us-central1 \ –min-num-replicas=3 \ –max-num-replicas=15 \ –cool-down-period=250 \ –scale-based-on-cpu \ –target-cpu-utilization=0.9 我有一些奇怪的行为,在cpu使用中出现一些小的/短的峰值之后,autoscaler决定大规模地自动调整我的实例,然后在几分钟后回到原来的数字。 这是我的实例组的cpu-graph的样子,在这个屏幕截图中,实例组没有自动缩放,它有3个实例运行我的应用程序: 对我来说,这些情况看起来并不像他们需要自动调整,他们似乎是稳定的,实际上,网站的performance非常好。 这是谷歌关于这种虚拟机实例的说法: f1-micro机器types提供突发function,允许实例在短时间内使用额外的物理CPU。 当您的实例需要比最初分配的更多物理CPU时,会自动发生爆炸。 在这些峰值期间,您的实例将以机会性的方式利用突发中的可用物理CPU 我的问题是: 那个图中的尖峰是正常的,因为每个vm实例有0.2个共享cpus? 或者即使机器非常小,那些尖刺也不应该存在 随着自动缩放,自动调整程序开始在cpu活动的每个上升沿添加疯狂的实例,实际上,如果您对cpu进行平均,那么cpu使用率并没有真正的高峰,只有很小的突发迅速稳定下来。 我的select(我认为)是: 使用更less的实例,但更大的大小 使用平均10分钟平均CPU的一些stackdriver图 (太贵了) 禁用自动缩放并手动执行 修复我的代码中的CPU峰值(如果可能的话,万一它不是微型虚拟机的正常行为)
我甚至不知道如何正确地说出这个问题,所以请耐心等待,因为我是新的EC2术语/术语。 我想要做的就是configuration一个模板,如果必须的话,那么这个模板将会包含一个我一直使用的LAMP堆栈,并且已经configuration了所有的configuration。 我所需要做的就是进入并改变IP地址。 这在EC2的世界里是如何完成的? 是否有可能从现有的实例创build模板? 它是否需要启动一个新的实例,并仍然取决于像Puppet / Chef / CFEngine这样的工具来configuration实例一旦在线? 如果我正在运行一组Web服务器,并希望根据需要启动一个服务器以缓解群集负载,那该怎么办? 在EC2的世界里运行这个节点的最快方法是什么?
在AWS论坛上没有回应的时候问到了这个问题,所以我想我会在这里发表一下。 如果我有两个自动缩放优先级:25%增加50% 我有两个单独的CPU利用率报警:CPU利用率50%=增加25%75%CPU利用率增加50% 如果CPU跳到80%,会触发两个报警,但会触发50%的增加策略还是25%的增加策略? 如果有办法确保能够增加50% 似乎没有办法以这种方式优先考虑警报或政策,我可以看到。