如何使用 Auto Scaling 按需动态增加和减少实例

一、背景需求

当您不知道自己该选择何种类型的 EC2 实例的时候,也不清楚业务什么时候高峰,那我们使用 Auto Scaling 可以非常便捷的解决我们的问题,他根据我们设定的负载压力,自动进行扩展和缩容,以实现最小费用的情况下保证业务的正常运行。

二、配置步骤

2.1、创建 AMI

首先把我们正在运行的 EC2 的主机做一个镜像,内部服务设置为自启动,以保证扩容的时候所有服务可用。

2.2、创建负载均衡目标组

Auto Scaling 配合 ELB 来使用,动态把负载分发到后端机器,我们需要一个目标组来存储我们的 Auto Scaling 集群机器。

2.3、创建 Classic Load Balancer

2.4、创建启动配置

为了实例可以稳定启动,可以选择按需实例,或者高于市场价的 Spot 实例,尽量高多一些,保证成功率。

2.5、创建 Auto Scaling 组

我这里因为选择了竞价实例,好几次都启动失败,所以我换了一个按需实例的启动配置。

2.6、测试

我们登陆到组中第一台机器,使用下面的命令对 CPU 进行增压,查看超过阈值之后是否会自动启动新的实例。

for i in `seq 1 $(cat /proc/cpuinfo |grep "processor" |wc -l)`; do dd if=/dev/zero of=/dev/null; done &

原文地址:https://blog.51cto.com/wzlinux/2413375

时间: 2024-10-18 15:56:27

如何使用 Auto Scaling 按需动态增加和减少实例的相关文章

Powershell AWS 自动化管理(5)- ELB and Auto Scaling

这一节豆子来看看如何使用PowerShell来配置ELB和Auto Scaling.ELB给多台服务器提供了负载均衡,而Auto Scaling可以根据负载动态的在ELB的集群里增加或者减少服务器. 具体的图像界面的配置方法可以参考这个 http://beanxyz.blog.51cto.com/5570417/1536261 下面看看命令行的实现方式: 首先看看ELB的配置. 例如下面的脚本: 他会监听80端口,指定ELB分布在子网10.2.1.0/24 和 10.2.2.0/24上面,Sec

Elastic Beanstalk 环境的 Auto Scaling 组

您的 Elastic Beanstalk 包含一个 Auto Scaling 组,该组管理您环境中的 Amazon EC2 实例.在单实例环境中,Auto Scaling 组可确保始终有一个正在运行的实例.在负载均衡的环境中,您将为组配置一系列要运行的实例,Amazon EC2 Auto Scaling 将根据负载按需添加或删除实例. Auto Scaling 组还会为您的环境中的实例管理启动配置.您可以修改启动配置,以更改实例类型.密钥对.Amazon Elastic Block Store

hdfs以及hbase动态增加和删除节点

一个知乎上的问题:Hbase的Region server和hadoop的datanode是否可以部署在一台服务器上?如果是的话,二者是否是一对一的关系?部署在同一台服务器上,可以减少数据跨网络传输的流量. 但不是一对一对的关系,首先,数据还hdfs中保存N份,默认是三分,也就是说数据会分布在三个datanode上,即使regionserver上只保存一个region,它也可以与三个datanode交互,更何况,一台regionserver可以保存多个region. 参考:https://www.

ligerui_ligerTree_005_动态增加“树”节点

动态添加ligerTree节点:效果图: 源码地址:http://download.csdn.net/detail/poiuy1991719/8571255 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>动态增加“树”节点</title> <!--

WPF datagrid 动态增加列

DataGrid动态增加列 <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="

objc runtime 动态增加属性-备用(?)

objective-c中,有类别可以在不修改源码的基础上增加方法:近排在看别人的开源代码时,发现还可以动态增加属性.而且是在运行时,太牛B了. 使用运行时库,必须要先引入 objc/runtime.h 可以使用的函数如下: OBJC_EXPORT void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy) 这个函数 OBJC_EXPORT id objc_ge

Hadoop 2.6.3动态增加/删除DataNode节点

假设集群操作系统均为:CentOS 6.7 x64 Hadoop版本为:2.6.3 一.动态增加DataNode 1.准备新的DataNode节点机器,配置SSH互信,可以直接复制已有DataNode中.ssh目录中的authorized_keys和id_rsa 2.复制Hadoop运行目录.hdfs目录及tmp目录至新的DataNode 3.在新DataNode上启动hadoop ..sbin/hadoop-daemon.sh start datanode ..sbin/yarn-daemon

2015.3.7小练习(动态增加元素及表格,以及浏览器兼容问题)

最近在对之前理解的HTML/CSS/javaScript查漏补缺,真是学会了Jquery马上就开始反感用javascript写很多jquery一下子就可以实现的选择和操作. 今天是做了一个根本无界面美观性可言的实验part,乱七八糟大乱炖,只为练习功能. 动态增加元素 function addBtn() { var textField = document.getElementById("main"); var input = document.createElement("

使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据

应用场景: 我们需要设计一个数据库来保存多个文档中每个文档的关键字.假如我们每个文档字符都超过了1000,取其中出现频率最大的为我们的关键字. 假设每个文档的关键字都超过了300,每一个文件的0-299号存储的是我们的关键字.那我们要建这样一个数据库,手动输入这样的一个表是不现实的,我们只有通过程序来帮我实现这个重复枯燥的操作. 具体的示意图如下所示: 首先图1是我们的原始表格: 图1 这个时候我们需要程序来帮我们完成自动字段的创建和数据的插入. 图2 上图是我们整个表的概况.下面我们就用程序来