Amazon EBS, EFS, Instance Store, Auto Scaling Groups, ELB
This post is a continuation of my previous post about EC2. It consists of EC2 Instance Storage(EBS, EFS, and Instance stores), Auto Scaling groups, and Elastic Load Balancers
EC2 Instance Storage
- Elastic Block Storage(EBS):
- It is AWS block-level storage solution used by the EC2 cloud.
- It is a network drive, not a physical drive, therefore there might experience some latency.
- EBS volumes that are attached to an instance are exposed as storage volumes that persist independently from the life of the instance since the data stored in EBS persists even when EC2 instances shut down.
- EBS volumes are specific to an availability zone(AZs) and can only be attached to the instances within the same AZ.
- Single EBS volume can only be attached to one EC2 instance at a time. However, one EC2 instance can have more than one EBS volume attached to it.
- Types of EBS volumes:
SSD: this storage is suitable for smaller chunks of data that require fast I/Ops. It is of two types: General Purpose SSD which is an optimum balance between cost and performance. Provisional IOPS SSD which has high-performance functionality.
HDD: this storage is suitable for big data chunks and slower processing. It is of two types: Cold HDD which is the cheapest of all EBS volume and is suitable for large, infrequent accessed data. Throughput Optimized HDD which is suitable for large frequently accessed data.
- EBS behavior when an EC2 instance is terminated:
by default, a root EBS volume is deleted
by default, any other attached EBS volume is not deleted.
- EBS Snapshot It is used for 2 things:
Makes a backup of your EBS volume at a point in time.
Can copy snapshots across AZs or Regions
2. Elastic File Storage(EFS):
- It is a simple, serverless, set-and-forget, elastic file system for use with AWS cloud services.
- It is a Network File System
- It works only on Linux OS in multi AZs.
- It is built to scale on demand to petabytes without disrupting applications i.e., it is growing and shrinking automatically as you add or remove files.
- The service manages all the file systems for you and avoids the complexity of deploying, patching and maintaining complex file system configurations.
- Pay only for the storage used by your file system and there is no minimum fee or setup cost.
3. EC2 Instance Store:
- Instance Store provides temporary block-level storage for your instance.
- This is located on disks that are physically attached to the host computer, due to which the I/O speed offered by these storage volumes is extremely high.
- It has a risk of data loss if hardware fails as they lose its storage.
- They are ideal for the temporary storage of information that changes frequently such as buffers, and caches.
Auto Scaling Groups(ASGs)
It is used to manage Amazon EC2 capacity automatically by maintaining the right number of instances for your application, operating a healthy group of instances, and scaling according to your need i.e., scale out(add EC2 instance) to match an increased load and scale in (remove EC2 instance) to match a decreased load.
It replaces unhealthy instances, for example, if a minimum number of instances specified as desired capacity is 1 and no instance is running it will launch an instance automatically to meet the requirement and change the status to healthy.
It automatically registers new instances to the load balancer.
An Auto Scaling group can launch On-Demand Instances, Spot Instances, or both.
Cost savings: only run at an optimal capacity.
1. Manual Scaling: update the size of ASG manually.
2. Dynamic Scaling: respond to changing demand.
3. Predictive Scaling: uses machine learning to predict future traffic.
Elastic Load Balancer(ELB)
The elastic load balancer(ELB) is a managed load balancer provided by Amazon in which the incoming traffic is efficiently and automatically distributed across a group of backend servers in a manner that increases speed and performance.
It does regular health checks on your instances.
Types of Load Balancer:
1. Application Load Balancer(ALB): It works on Layer 7(Application Layer). In this balancer, decisions are to be made related to HTTP and HTTPS traffic routing.
2. Network Load Balancer: It works on Layer 4(Transport Layer). It is mainly used for load balancing TCP/UDP/TLS traffic where ultra-high performance is required. It is capable of handling millions of requests per second while maintaining ultra-low latency.
3. Classic Load Balancer: It works on both layer 4 and layer 7. It is the traditional form of load balancer which was used initially.
In my next and final post on Amazon EC2, I will explain the pricing models of EC2 instances.