Skip to main content

Auto Scaling in AWS

Auto Scaling
Auto Scaling is a feature in AWS for scaling up or scaling down the number of Amazon EC2 instances.

The Auto Scaling feature can be accessed and configured via the AWS Management Console from the EC2 service page. Auto Scaling can also be configured via the AWS Command Line Interfaces (CLI) or APIs.

Auto Scaling is enabled by CloudWatch and does not carry additional fees. However, there are fees applied to EC2 instance usage and CloudWatch detailed monitoring.

The scenario in which you can use Auto Scaling properly is in which you have an application that can be load balanced. These applications must be able to be dynamically installed or updated after an EC2 instance launch. This would require some sort of scripting e.g. you can use PowerShell Desired State Configuration if you are familiar with it.

You can create your own AMIs (Amazon Machine Image) for every version of your application release, and these AMIs can be used to launch new EC2 instances. In this way, little or no scripting is required to have identical applications on multiple application servers.

Launch Configuration
Auto Scaling is configured by firstly creating a Launch Configuration. You specify a name for this configuration and the AMIs to use for launching EC2 instances along with basic network, storage and security group configurations .

AutoScaling Group
Create an Auto Scaling group for this Launch Configuration. You will need to configure basic network configurations and scaling policies based on CloudWatch alarms that were created. You also (optionally) should specify a load balancer. You can configure Notifications so an administrator gets informed when an instance gets created or terminated or failed to launch or failed to terminate by Auto Scaling.

It should be obvious now that with some careful planning and design of your application, you can make it highly available through the use of load balancers and make it run at maximum performance by launching more application servers when needed and then terminating the servers during off peak or idle periods.

More information on using Auto Scaling is here:

https://aws.amazon.com/autoscaling/getting-started/

My blog on Amazon CloudWatch :

http://networkadministratorsurvivalkit.blogspot.com/2016/08/aws-cloudwatch.html




Comments

Popular posts from this blog

How to Schedule an Exchange PowerShell Script in Task Scheduler

Exchange Management Shell Since Exchange 2007, Microsoft has provided the Exchange Management Shell so administrators can manage all aspects of the Exchange server from the command line. The Exchange Management Shell has Exchange specific PowerShell cmdlets. These Exchange cmdlets are not normally available in an ordinary PowerShell command environment. An example of what can be done in the Exchange Management Shell is to run a PowerShell script to list all the mailboxes on the Exchange server to a file. You can output columns based on display name, size of the mailbox, last logon, and other available mailbox attributes. You can also schedule a batch migration of mailboxes from one database to another such as the migration of mailboxes from Exchange 2010 to Exchange 2013. Scheduling the PowerShell Script Once you have written a PowerShell script and utilised the Exchange cmdlets, you can run it with no problems inside the Exchange Management Shell. If you were to try...

How To Migrate Mailboxes from Exchange 2010 to Exchange 2016 using PowerShell

The Scenario Your organisation have decided to migrate from Exchange 2010 to Exchange 2016. The Exchange 2016 server have been installed into your current Exchange Organization. The Mailbox role have been installed on the Exchange 2016 server and you are ready to start moving mailboxes from the Exchange 2010 server to the Exchange 2016 server. Migrating a Mailbox from Exchange 2010 to Exchange 2016 Using New-MoveRequest Migrating a single mailbox involves invoking the cmdlet New-MoveRequest from the Exchange Management Shell on the Exchange 2016 server . Make sure that your user account that you have logged into the server with have the Organization Management role. The common parameters that I use for the New-MoveRequest cmdlet is : New-MoveRequest -Identity 'useralias@somedomain.com' -TargetDatabase "DB02" -BadItemLimit 10 The -Identity parameter identifies the mailbox to be migrated. I usually use the e-mail address of the mailbox for the identity...

Hyper-V - Failover Cluster, Quick Migration and Live Migration

If you are like me and have mainly worked in small businesses then you may not have had the chance to setup a failover clustering environment. We've read all about it and how wonderful it is to have it, but unfortunately a lot of the times, the money is spent on more important things like staff salary and trying to keep the business afloat. Well, I am happy to say with the client I am working for right now, they have a very good failover clustering Hyper-V environment running on top of Windows Server 2012 R2  Datacentre attached to an EMC VNX 5300 SAN. The guy who set it up unfortunately no longer works there. To cut a long story short, I needed to move a VM to another node (another host in the cluster). With failover clustering being used for Hyper-V you need to run the Failover Cluster Manager to manage the VMs. You don't use the Hyper-V Manager, even though you can start it up and see the virtual machines. You can change some settings with Hyper-V Manager, but the reco...