\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Datacademy.ai (Datacademy.ai)} \pdfinfo{ /Title (aws-compute-services.pdf) /Creator (Cheatography) /Author (Datacademy.ai (Datacademy.ai)) /Subject (AWS Compute Services Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{DE59BF} \definecolor{LightBackground}{HTML}{FAEAF7} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{AWS Compute Services Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Datacademy.ai (Datacademy.ai)} via \textcolor{DarkBackground}{\uline{cheatography.com/174553/cs/36663/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Datacademy.ai (Datacademy.ai) \\ \uline{cheatography.com/datacademy-ai} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 23rd January, 2023.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{3} \begin{tabularx}{5.377cm}{x{2.14011 cm} x{2.83689 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Elastic Cloud Compute – EC2}} \tn % Row 0 \SetRowColor{LightBackground} EC2 instances & Virtual computing environments \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Amazon Machine Images (AMIs) & Preconfigured templates for EC2 instances \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} Instance types & Various configurations of CPU, memory, storage, and networking capacity for your instances \tn % Row Count 9 (+ 5) % Row 3 \SetRowColor{white} key pairs & Secure login information for your instances using key pairs (public-private keys where private is kept by user) \tn % Row Count 15 (+ 6) % Row 4 \SetRowColor{LightBackground} Instance store volumes & Storage volumes for temporary data that's deleted when you stop or terminate your instance, \tn % Row Count 20 (+ 5) % Row 5 \SetRowColor{white} Elastic Block Store (EBS) & Persistent storage volumes for data \tn % Row Count 22 (+ 2) % Row 6 \SetRowColor{LightBackground} Regions and Availability Zones & Multiple physical locations for your resources, such as instances and EBS volumes \tn % Row Count 26 (+ 4) % Row 7 \SetRowColor{white} Security Groups & A firewall to specify the protocols, ports, and source IP ranges that can reach your instances \tn % Row Count 31 (+ 5) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{x{2.14011 cm} x{2.83689 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{5.377cm}}{\bf\textcolor{white}{Elastic Cloud Compute – EC2 (cont)}} \tn % Row 8 \SetRowColor{LightBackground} Elastic IP addresses & Static IP addresses, \tn % Row Count 2 (+ 2) % Row 9 \SetRowColor{white} tags & can be created and assigned to EC2 resources \tn % Row Count 4 (+ 2) % Row 10 \SetRowColor{LightBackground} Virtual private clouds (VPCs) & Virtual networks that are logically isolated from the rest of the AWS cloud, and can optionally connect to on-premises network \tn % Row Count 10 (+ 6) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{EC2 Monitoring}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{CloudWatch provides monitoring for EC2 instances} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Status monitoring helps quickly determine whether EC2 has detected any problems that might prevent instances from running applications.} \tn % Row Count 4 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Status monitoring includes. System Status checks – indicate issues with the underlying hardware. Instance Status checks – indicate issues with the underlying instance.} \tn % Row Count 8 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Elastic Load Balancer}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Managed load balancing service and scales automatically} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{distributes incoming application traffic across multiple EC2 instances} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{is distributed system that is fault tolerant and actively monitored by AWS scales it as per the demand} \tn % Row Count 7 (+ 3) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{are engineered to not be a single point of failure} \tn % Row Count 8 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports routing traffic to instances in multiple AZs in the same region} \tn % Row Count 10 (+ 2) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{performs Health Checks to route traffic only to the healthy instances} \tn % Row Count 12 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{support Listeners with HTTP, HTTPS, SSL, TCP protocols} \tn % Row Count 14 (+ 2) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{has an associated IPv4 and dual stack DNS name} \tn % Row Count 15 (+ 1) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{can offload the work of encryption and decryption (SSL termination) so that the EC2 instances can focus on their main work} \tn % Row Count 18 (+ 3) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports Cross Zone load balancing to help route traffic evenly across all EC2 instances regardless of the AZs they reside in} \tn % Row Count 21 (+ 3) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{to help identify the IP address of a client} \tn % Row Count 22 (+ 1) % Row 11 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports Proxy Protocol header for TCP/SSL connections} \tn % Row Count 24 (+ 2) % Row 12 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports X-Forward headers for HTTP/HTTPS connections} \tn % Row Count 26 (+ 2) % Row 13 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports Stick Sessions (session affinity) to bind a user's session to a specific application instance,} \tn % Row Count 29 (+ 3) % Row 14 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports Connection draining to help complete the in-flight requests in case an instance is deregistered} \tn % Row Count 32 (+ 3) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Elastic Load Balancer (cont)}} \tn % Row 15 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{For High Availability, it is recommended to attach one subnet per AZ for at least two AZs, even if the instances are in a single subnet.} \tn % Row Count 3 (+ 3) % Row 16 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports Static/Elastic IP (NLB only)} \tn % Row Count 4 (+ 1) % Row 17 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{VPC now supports IPV6.} \tn % Row Count 5 (+ 1) % Row 18 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{HTTPS listener does not support Client Side Certificate} \tn % Row Count 7 (+ 2) % Row 19 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{For SSL termination at backend instances or support for Client Side Certificate use TCP for connections from the client to the ELB, use the SSL protocol for connections from the ELB to the back-end application, and deploy certificates on the back-end instances handling requests} \tn % Row Count 13 (+ 6) % Row 20 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Uses Server Name Indication to supports multiple SSL certificates} \tn % Row Count 15 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Auto Scaling}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{ensures correct number of EC2 instances are always running to handle the load by scaling up or down automatically as demand changes} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{attempts to distribute instances evenly between the AZs that are enabled for the Auto Scaling group} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{performs checks either using EC2 status checks or can use ELB health checks to determine the health of an instance and terminates the instance if unhealthy, to launch a new instance} \tn % Row Count 9 (+ 4) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{can be scaled using manual scaling, scheduled scaling or demand based scaling} \tn % Row Count 11 (+ 2) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{cooldown period helps ensure instances are not launched or terminated before the previous scaling activity takes effect to allow the newly launched instances to start handling traffic and reduce load} \tn % Row Count 15 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{cannot span multiple regions.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Amazon Machine Image – AMI}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Template from which EC2 instances can be launched quickly} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Does NOT span across regions, and needs to be copied} \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Can be shared with other specific AWS accounts or made public} \tn % Row Count 6 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Instance Types}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{T2 instances are Burstable Performance Instances that provide a baseline level of CPU performance with the ability to burst above the baseline.} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{T2 instances accumulate CPU Credits when they are idle, and consume CPU Credits when they are active.} \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{T2 Unlimited Instances can sustain high CPU performance for as long as a workload needs it at an additional cost.} \tn % Row Count 9 (+ 3) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{R for applications needing more RAM or Memory} \tn % Row Count 10 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{C for applications needing more Compute} \tn % Row Count 11 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{M for applications needing more Medium or Moderate performance on both Memory and CPU} \tn % Row Count 13 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{I for applications needing more IOPS} \tn % Row Count 14 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{G for applications needing more GPU} \tn % Row Count 15 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Placement Group}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{Cluster Placement Group: \newline % Row Count 1 (+ 1) 1.provide low latency, High-Performance Computing via 10Gbps network \newline % Row Count 3 (+ 2) 2.is a logical grouping on instances within a Single AZ \newline % Row Count 5 (+ 2) 3.don't span availability zones, can span multiple subnets but subnets must be in the same AZ \newline % Row Count 7 (+ 2) can span across peered VPCs for the same Availability Zones \newline % Row Count 9 (+ 2) 4.An existing instance can be moved to a placement group, or moved from one placement group to another, or removed from a placement group, given it is in the stopped state. \newline % Row Count 13 (+ 4) 5.for capacity errors, stop and start the instances in the placement group \newline % Row Count 15 (+ 2) 6.use homogenous instance types which support enhanced networking and launch all the instances at once \newline % Row Count 18 (+ 3) Spread Placement Groups: \newline % Row Count 19 (+ 1) 1.is a group of instances that are each placed on distinct underlying hardware i.e. each instance on a distinct rack across AZ \newline % Row Count 22 (+ 3) 2.recommended for applications that have a small number of critical instances that should be kept separate from each other. \newline % Row Count 25 (+ 3) 3.reduces the risk of simultaneous failures that might occur when instances share the same underlying hardware. \newline % Row Count 28 (+ 3) Partition Placement Groups: \newline % Row Count 29 (+ 1) 1.is a group of instances spread across partitions i.e. group of instances spread across racks across AZs \newline % Row Count 32 (+ 3) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Placement Group (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{2.reduces the likelihood of correlated hardware failures for the application. \newline % Row Count 2 (+ 2) 3.can be used to spread deployment of large distributed and replicated workloads, such as HDFS, HBase, and Cassandra, across distinct hardware% Row Count 5 (+ 3) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Application Load Balancer}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports HTTP and HTTPS (Secure HTTP) protocols} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports HTTP/2, which is enabled natively. Clients that support HTTP/2 can connect over TLS} \tn % Row Count 3 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports WebSockets and Secure WebSockets natively} \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports Request tracing, by default.} \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports containerized applications. Using Dynamic port mapping, ECS can select an unused port when scheduling a task and register the task with a target group using this port.} \tn % Row Count 9 (+ 4) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports Sticky Sessions (Session Affinity) using load balancer generated cookies, to route requests from the same client to the same target} \tn % Row Count 12 (+ 3) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports SSL termination, to decrypt the request on ALB before sending it to the underlying targets.} \tn % Row Count 14 (+ 2) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports layer 7 specific features like X-Forwarded-For headers to help determine the actual client IP, port and protocol} \tn % Row Count 17 (+ 3) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{automatically scales its request handling capacity in response to incoming application traffic.} \tn % Row Count 19 (+ 2) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports hybrid load balancing, to route traffic to instances in VPC and an on-premises location} \tn % Row Count 21 (+ 2) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{provides High Availability, by allowing more than one AZ to be specified} \tn % Row Count 23 (+ 2) % Row 11 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{integrates with ACM to provision and bind a SSL/TLS certificate to the load balancer thereby making the entire SSL offload process very easy} \tn % Row Count 26 (+ 3) % Row 12 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports multiple certificates for the same domain to a secure listener} \tn % Row Count 28 (+ 2) % Row 13 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports IPv6 addressing, for an Internet facing load balancer} \tn % Row Count 30 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Application Load Balancer (cont)}} \tn % Row 14 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports Cross-zone load balancing, and cannot be disabled.} \tn % Row Count 2 (+ 2) % Row 15 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports Security Groups to control the traffic allowed to and from the load balancer.} \tn % Row Count 4 (+ 2) % Row 16 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{provides Access Logs, to record all requests sent the load balancer, and store the logs in S3 for later analysis in compressed format} \tn % Row Count 7 (+ 3) % Row 17 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{provides Delete Protection, to prevent the ALB from accidental deletion} \tn % Row Count 9 (+ 2) % Row 18 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports Connection Idle Timeout – ALB maintains two connections for each request one with the Client (front end) and one with the target instance (back end). If no data has been sent or received by the time that the idle timeout period elapses, ALB closes the front-end connection} \tn % Row Count 15 (+ 6) % Row 19 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{integrates with CloudWatch to provide metrics such as request counts, error counts, error types, and request latency} \tn % Row Count 18 (+ 3) % Row 20 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{integrates with AWS WAF, a web application firewall that helps protect web applications from attacks by allowing rules configuration based on IP addresses, HTTP headers, and custom URI strings} \tn % Row Count 22 (+ 4) % Row 21 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{integrates with CloudTrail to receive a history of ALB API calls made on the AWS account} \tn % Row Count 24 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Back-end server authentication is NOT supported \newline Does not provide Static, Elastic IP addresses} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Instance Purchasing Option}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{On-Demand Instances: \newline % Row Count 1 (+ 1) 1.pay for instances and compute capacity that you use by the hour \newline % Row Count 3 (+ 2) 2.no long-term commitments or up-front payments \newline % Row Count 4 (+ 1) Reserved Instances: \newline % Row Count 5 (+ 1) 1.provides lower hourly running costs by providing a billing discount \newline % Row Count 7 (+ 2) 2.capacity reservation is applied to instances \newline % Row Count 8 (+ 1) 3.suited if consistent, heavy, predictable usage \newline % Row Count 9 (+ 1) 4.provides benefits with Consolidate Billing \newline % Row Count 10 (+ 1) 5.can be modified to switch Availability Zones or the instance size within the same instance type, given the instance size footprint (Normalization factor) remains the same \newline % Row Count 14 (+ 4) 6.pay for the entire term regardless of the usage \newline % Row Count 15 (+ 1) 7.is not a physical instance that is launched, but rather a billing discount applied to the use of On-Demand Instances \newline % Row Count 18 (+ 3) Scheduled Reserved Instances: \newline % Row Count 19 (+ 1) 1.enable capacity reservations purchase that recurs on a daily, weekly, or monthly basis, with a specified start time and duration, for a one-year term. \newline % Row Count 23 (+ 4) 2.Charges are incurred for the time that the instances are scheduled, even if they are not used \newline % Row Count 25 (+ 2) 3.good choice for workloads that do not run continuously, but do run on a regular schedule \newline % Row Count 27 (+ 2) Spot Instances: \newline % Row Count 28 (+ 1) 1.cost-effective choice but does NOT guarantee availability \newline % Row Count 30 (+ 2) } \tn \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Instance Purchasing Option (cont)}} \tn \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{2.applications flexible in the timing when they can run and also able to handle interruption by storing the state externally \newline % Row Count 3 (+ 3) 3.provides a two-minute warning if the instance is to be terminated to save any unsaved work \newline % Row Count 5 (+ 2) 4.Spot blocks can also be launched with a required duration, which are not interrupted due to changes in the Spot price \newline % Row Count 8 (+ 3) 5.Spot Fleet is a collection, or fleet, of Spot Instances, and optionally On-Demand Instances, which attempts to launch the number of Spot and On-Demand Instances to meet the specified target capacity \newline % Row Count 13 (+ 5) Dedicated Instances: \newline % Row Count 14 (+ 1) 1.is a tenancy option that enables instances to run in VPC on hardware that's isolated, dedicated to a single customer \newline % Row Count 17 (+ 3) Dedicated Host: \newline % Row Count 18 (+ 1) 1.is a physical server with EC2 instance capacity fully dedicated to your use \newline % Row Count 20 (+ 2) 2.Light, Medium, and Heavy Utilization Reserved Instances are no longer available for purchase and were part of the Previous Generation AWS EC2 purchasing model% Row Count 24 (+ 4) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Enhanced Networking}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{results in higher bandwidth, higher packet per second (PPS) performance, lower latency, consistency, scalability, and lower jitter} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supported using Single Root – I/O Virtualization (SR-IOV) only on supported instance types} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{is supported only with a VPC (not EC2 Classic), HVM virtualization type and available by default on Amazon AMI but can be installed on other AMIs as well} \tn % Row Count 9 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Network Load Balancer}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{handles volatile workloads and scale to millions of requests per second, without the need of pre-warming} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{offers extremely low latencies for latency-sensitive applications.} \tn % Row Count 5 (+ 2) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{provides static IP/Elastic IP addresses for the load balancer} \tn % Row Count 7 (+ 2) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{allows registering targets by IP address, including targets outside the VPC (on-premises) for the load balancer.} \tn % Row Count 10 (+ 3) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports containerized applications. Using Dynamic port mapping, ECS can select an unused port when scheduling a task and register the task with a target group using this port.} \tn % Row Count 14 (+ 4) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{monitors the health of its registered targets and routes the traffic only to healthy targets} \tn % Row Count 16 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{enable cross-zone loading balancing only after creating the NLB} \tn % Row Count 18 (+ 2) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{preserves client side source IP allowing the back-end to see client IP address. Target groups can be created with target type as instance ID or IP address. If targets registered by instance ID, the source IP addresses of the clients are preserved and provided to the applications. If register targets registered by IP address, the source IP addresses are the private IP addresses of the load balancer nodes.} \tn % Row Count 27 (+ 9) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports both network and application target health checks.} \tn % Row Count 29 (+ 2) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{supports long-lived TCP connections ideal for WebSocket type of applications} \tn % Row Count 31 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{Network Load Balancer (cont)}} \tn % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{supports Zonal Isolation, which is designed for application architectures in a single zone and can be enabled in a single AZ to support architectures that require zonal isolation} \tn % Row Count 4 (+ 4) \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Does not support stick sessions} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{5.377cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{5.377cm}}{\bf\textcolor{white}{AWS Auto Scaling \& ELB}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{5.377cm}}{Auto Scaling \& ELB can be used for High Availability and Redundancy by spanning Auto Scaling groups across multiple AZs within a region and then setting up ELB to distribute incoming traffic across those AZs} \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{5.377cm}}{With Auto Scaling, use ELB health check with the instances to ensure that traffic is routed only to the healthy instances} \tn % Row Count 8 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}