Create dual-homed instances with workloads/roles on distinct subnets (private network addresses that are separate).
Create low-budget, high-availability solution.
High-performance networking between 10Gbps-100Gbps.
Provides higher I/O performance and lower CPU utilization.
Provides higher bandwidth, higher packer per second (PPS) and lower inter-instance latencies.
EN comes in two different flavours:
ENA: Elastic Network Adapter (supports network speeds up to 100 Gbps for supported instance types).
VF: Intel 82599 Virtual Function (supports network speeds up to 10 Gbps for supported instance types - typically used on older instances).
Study tip: always want to use ENA over VF. Faster and more modern.
Network device to attach to EC2 to accelerate HPC and machine learning applications.
Provides lower and more consistent latency and higher throughput than the TCP transport traditionally used in cloud-based HPC systems.
EFA can use OS-bypass to make it a lot faster with much lower latency. Bypasses OS kernel and communicate directly with device. Only supported on Linux.
Study tip: anything about HPC and what network adapters to use, think of EFAs.
You don't need to know a heavy amount of networking as there is its own certification.
EC2 Placement groups
Three types of placement groups:
Cluster: low network latecy, high network throughput.
Spread: individual critical EC2 instances.
Partition: multiple EC2 instances; HDFS, HBase and Cassandra.
Clustered Placement Group
Grouping of instances within a single Availability Zone.
Recommended for applications that need low network latecy, high network throughput, or both.
Spread Placement Group
A group of instances that are placed on distinct underlying hardware.
Spread placement groups are recommended for applications that have a small number of critical instances that should be kept separate from each other.
Used for individual instances ie. I don't want my primary database to be on the same layer as my secondary database.
Partition Placement Group
Each placement groups has its own set of racks. Each rack has its own network and power source.
No two partitions within a placement group share the same racks, allowing you to isolate the impact of hardware failure within your application.
Used for multiple instances you want on their own dedicated network.
Exam tips for placement groups
A cluster placement group can't span multiple AZs, whereas the others can.
Only certain types of instance can be launched in a placement group (compute optimized, GPC, memory optimized, storage optimized).
AWS recommends homogenous instances (instances of the same type ie t2.micro) within cluster placement groups.
You can't merge placement groups.
You can move an existing instance into a placement group. Before you move the instance, the instance must be in the stopped state. You can move or remove an instance using the AWS CLI or an AWS SDK, but you can't do it via the console yet.
Basically, they're a logically way to group instances.
Solving Licensing Issues with Dedicated Hosts
You may need to use dedicated hosts for compliance or licensing.
Compliance: Regulatory requirements that may not support multi-tenant virtualization.
Licensing: Great for licensing that does not support multi-tenancy or cloud deployments.
Dedicated hosts can be paid on-demand or reserved.
The tip: any question that talks about special licensing requirements: think dedicated hosts.
Timing Workloads and Spot Instances and Spot Fleets
Spot Instances let you take advantage of unused EC2 capacity in the AWS Cloud. Spot Instances are available at up to 90% discount compared to On-Demand prices.
Where to use spot instances? When you need stateless, fault-tolerant or flexible applications such as big data, containerized workloads, CI/CD, high-performance computing (HPC) and other test and development workloads.
Don't use them for something like web servers.
Hourly spot price varies based on capacity and region.
If Spot price goes above your max, you have 2 min to choose whether to stop or terminate your instance.
You may use a Spot block to stop instances from being terminated even if the Spot price goes over the max Spot price. You can set the blocks for between 1 to 6 hours.
You can get all historical prices for spot instances at AWS Pricing.
Big data and analytics
CI/CD and testing
Image and media rendering
High-performance computing (mainly comes through)
Not useful for:
Persistent workloads (like web servers)
When making a Spot request, need to define:
Desired number of instances
Request-type: one-time or persistent
To terminate your spot requests, you need to cancel that first before your instance.
A collection of Spot Instances and (optionally) On-Demand instances.
The fleet attempts to launch the number of instances to meet the target capacity specified in Spot Fleet request.
Request for Spot Instances is fulfilled if there is available capacity and the max price you specified in the req exceeds the current Spot price.
Attempts to maintain its target capacity fleet if your Spot Instances are interrupted.
Spot fleets try to match the target capacity.
Set up different launch pools. Define things like type, OS, AZ.
You can have multiple pools, and the fleet will choose the best way to implement depending on the strategy you define.
Spot Fleet strategies
The exam tips for spot instances:
Spot instances save up to 90% of the cost of On-Demand instances.
You can block Spot Instances from terminating using a Spot Block.
Useful for any type of computing where you don't ened persistent storage.
A Spot Fleet is a collection of Spot Instances and (optionally) On-Demand instances.