AWS High Availability Tips
Changing the health of an Ec2 instance for Auto-scaling groups.
You can change the status of an instance using Auto-scaling commands. For example the set-instance-health will change the health of the instance to healthy. This can be used if a machine rebooted or has an error and it was manually fixed.
set-instance-health - AWS CLI 1.14.17 Command Reference
generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided…
Auto scaling AddToLoadBalancer while suspended
When AddToLoadBalancer is suspended, Auto scaling launches instances but does not add them to the load balancer or target group. If the AddToLoadBalancer process is resumed Auto Scaling resumes adding instances to the load balancer or target group when they are launched. Auto Scaling does not add the instances that were launched while the AddToLoadBalancer process was suspended. Those instances should be added manually.
Suspending and Resuming Auto Scaling Processes - Auto Scaling
Suspend and then resume one or more of the Auto Scaling processes in your Auto Scaling group.
Avoiding potential service disruptions using auto scaling
In order to prevent service disruptions when you are expecting high traffic. It is recommended that you check the service limits in Trusted Advisor and adjust it as necessary so the forcasted count remains within limits. This will allow your account not to get unexpected overages in billing. It will also confirm that you have the correct number of instances that can be used when you expect the traffic.
Government & EducationPublic Sector organizations use AWS to improve agility while reducing costs.
Maintaining HA on AWS infrastructure
You can do the following to maintain High Availability on AWS
- Leverage CloudFront for delivery of content.
- Add RDS read-replicas to forward read traffic that go to your relational database.
- Leverage Elastic Cache for caching frequently used data from your users.
Amazon CloudFront | Content Delivery Network (CDN) for Video Streaming | AWS
Amazon CloudFront's global content delivery network (CDN) securely delivers data, video, and edge computing resources…
Amazon RDS Read Replicas
Amazon RDS for MySQL, MariaDB and PostgreSQL offer you three choices for database storage: General Purpose (SSD)…
Amazon ElastiCache- In-memory data store and cache
Amazon ElastiCache offers fully managed Redis and Memcached. Seamlessly deploy, operate, and scale popular open source…
Legacy application fail-over on AWS without reconfiguration
The following mechanisms will allow the application to failover to new instances with out the need for reconfiguration.
- You should create a secondary ENI that can be moved to a failover instance.
- You can Assign a secondary private IP address to the primary ENI that can be moved to a failover instance.
When you move a network interface from one instance to another, the network traffic is redirected to the new instance.
Elastic Network Interfaces - Amazon Elastic Compute Cloud
Attach a network interface to your instance to specify its private IP addresses, Elastic IP addresses, and security…
Spot instances are cost effective choice when comparing it to On-Demand instances. You can set up Auto Scaling to launch spot instances if needed.
Launching Spot Instances in Your Auto Scaling Group - Auto Scaling
Describes how to launch Spot Instances in your Auto Scaling group.
ELB connection draining
When connection draining is enabled you can specify a maximum time for the load balancer to keep connections alive before reporting the instance as de-registered. The maximum timeout value can be set between 1 and 3,600 seconds the default is 300 seconds. When the time limit is reached, the load balancer is forcibly closed connections to the de-registered instanced.
Configure Connection Draining for Your Classic Load Balancer - Elastic Load Balancing
Learn about the connection draining setting for your load balancer.
Registering Ec2 Instances with an AWS ELB
You register targets, such as instances with a target group. To route requests to the targets in a target group, specify the target group in a rule for one of the listeners for your load balancer.
Health check settings are defined for your load balancer on a per target group basis. Each target group uses the default health check settings, unless you override them when you create the target group or modify them later on.
Target Groups for Your Application Load Balancers - Elastic Load Balancing
Learn how to configure target groups for your Application Load Balancer.
Processes performed by auto scaling
- Schedule Actions
AWS | Auto Scaling
With Application Auto Scaling, you can automatically scale resources for other AWS services beyond Amazon EC2. The…
DescribeInstanceHeatlh — Elastic Load Balancing API property
This describes the state of the specified instances with respect to the specified load balancer. If no instances are specified, the call describes the state of all instances that are currently registered with the load balancer.
DescribeInstanceHealth - Elastic Load Balancing
Describes the state of the specified instances with respect to the specified load balancer. If no instances are…
Cross Region Replication
CRR is a Amazon S3 feature that allows for automatic replication of data across AWS regions. While using this feature every object loaded to an S3 bucket is automatically replicated to a destination bucket in a different AWS region you choose. CRR can be used to provide lower-latency data access in different geographic regions.
Cross-Region Replication (CRR) - Amazon Simple Storage Service
Set up and configure notifications so that key events on buckets cause a message to be sent to an Amazon SNS topic.
Multi-AZ database support
Multi-AZ is supported for MySQL, MariaDb, Oracle and PostgreSQL. If you want to use Microsoft SQL Server you need to use the native mirroring to achieve High Availability.
Amazon RDS Multi-AZ Deployments
On instance failure in Amazon Aurora deployments, Amazon RDS uses RDS Multi-AZ technology to automate failover to one…
Scaling the compute resources of a DB instance
Storage capacity allocated to your DB instance can be increased while maintaining DB instance availability. The database will be temporarily unavailable while the DB instance class is scaled up or down. This period of unavailability typically lasts only a few minutes, and will occur during the maintenance window for your DB instance, unless you specify that the modification should be applied immediately.
Amazon RDS FAQs - Amazon Web Services (AWS)
Amazon RDS gives you access to the capabilities of a familiar MySQL, MariaDB, Oracle, SQL Server, or PostgreSQL…
List of Different AWS SQS Services
Basic Message Operations
- SendMessage: Send messages to a specified queue.
- ReceiveMessage: Return one or more messages from a specified queue.