Difference between revisions of "AWS/ALB"

From Christoph's Personal Wiki
Jump to: navigation, search
(Created page with "'''Amazon Web Services (AWS) - Application Load Balancer (ALB)''' is a Layer 7 (application layer) load balancer (in the OSI model). It was released b...")
 
Line 1: Line 1:
 
'''Amazon Web Services (AWS) - Application Load Balancer (ALB)''' is a Layer 7 (application layer) load balancer (in the [[:wikipedia:OSI model|OSI model]]). It was released by Amazon in August 2016.
 
'''Amazon Web Services (AWS) - Application Load Balancer (ALB)''' is a Layer 7 (application layer) load balancer (in the [[:wikipedia:OSI model|OSI model]]). It was released by Amazon in August 2016.
 +
 +
==Features==
 +
* Path-based routing
 +
* Containerized application support
 +
* HTTP/2 support
 +
* WebSockets support
 +
* Sticky sessions
 +
* Health Checks
 +
* High Availability (HA)
 +
* HTTPS support
 +
* Access Logs
 +
* Forwards requests to backends synchronously
 +
* Can look into HTTP path to route traffic
 +
 +
;Table 1
 +
<div style="float:left; margin:0px 20px 20px 0px;">
 +
{| align="center" style="border: 1px solid #999; background-color:#FFFFFF"
 +
|-
 +
! colspan="3" bgcolor="#EFEFEF" | '''Classic (ELB) vs. ALB'''
 +
|-align="center" bgcolor="#1188ee"
 +
!Feature
 +
!ELB
 +
!ALB
 +
|- align="left"
 +
|TCP/IP support || yes || no
 +
|--bgcolor="#eeeeee"
 +
|HTTP support || yes || yes
 +
|- align="left"
 +
|HTTPS support || yes || yes
 +
|--bgcolor="#eeeeee"
 +
|HTTP/2 support || no || yes
 +
|- align="left"
 +
|WebSockets support || no || yes
 +
|--bgcolor="#eeeeee"
 +
|Path-based routing || no || yes
 +
|- align="left"
 +
|Containerized application support || yes* || yes
 +
|--bgcolor="#eeeeee"
 +
|Connection draining || yes || yes
 +
|- align="left"
 +
|Sticky sessions || yes || yes*
 +
|--bgcolor="#eeeeee"
 +
|Health Checks || yes* || yes
 +
|- align="left"
 +
|High Availability || yes || yes
 +
|--bgcolor="#eeeeee"
 +
|Access Logs / monitoring || yes* || yes
 +
|}
 +
<nowiki>*</nowiki> Better support in the other LB type
 +
</div>
 +
<br clear="all"/>
 +
 +
===Pricing===
 +
''See: [https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/pricing/ ALB Pricing] for details.''
 +
 +
With the Application Load Balancer, you only pay for what you use. You are charged for each hour or partial hour your Application Load Balancer is running and the number of Load Balancer Capacity Units (LCU) used per hour.
 +
 +
* Pay for per hour your ALB is running
 +
* Pay for per number of used Load Balancer Capacity Units (LCUs):
 +
** New connections: 1 LCU = 25 new connections/second
 +
** Active connections: 1 LCU = 3,000 active connections/minute
 +
** Bandwidth: 1 LCU = 2.22 Mbps
 +
* One is charged only on the dimension with the highest usage (i.e., new connections, active connections, or bandwidth)
 +
 +
;Pricing example (us-west-2 / Oregon):
 +
* ALB runs for 1 month
 +
* 1 new connection/second
 +
* Connections last on average for 500 ms
 +
* 300 KB transferred/connection
 +
* Thus,
 +
** ALB hours: 24 hours * 30 = 720 hours
 +
** Dimension #1: New connections/second: 1 / 25 = 0.04 LCU
 +
** Dimension #2: Active connections/minute: 1 * 0.5 * 60 / 3000 = 0.01 LCU
 +
** Dimension #3: Bandwidth in Mbits: 300 * 1024 * 8 / 1000 / 1000 * 0.5 = '''0.55 LCU'''
 +
* Dimension #3 has the highest LCU usage, so:
 +
** 720 * $0.0225 + 0.55 * $0.008 = '''$16.20'''
 +
* Thus, the ALB will cost $16.20/month
 +
  
 
==External links==
 
==External links==
 +
* [https://aws.amazon.com/elasticloadbalancing/applicationloadbalancer/ Application Load Balancer Details]
 
* [https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/ AWS Application Load Balancer] &mdash; on the AWS Blog, 2016-08-11
 
* [https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/ AWS Application Load Balancer] &mdash; on the AWS Blog, 2016-08-11
  
 
[[Category:AWS]]
 
[[Category:AWS]]

Revision as of 19:33, 4 January 2017

Amazon Web Services (AWS) - Application Load Balancer (ALB) is a Layer 7 (application layer) load balancer (in the OSI model). It was released by Amazon in August 2016.

Features

  • Path-based routing
  • Containerized application support
  • HTTP/2 support
  • WebSockets support
  • Sticky sessions
  • Health Checks
  • High Availability (HA)
  • HTTPS support
  • Access Logs
  • Forwards requests to backends synchronously
  • Can look into HTTP path to route traffic
Table 1
Classic (ELB) vs. ALB
Feature ELB ALB
TCP/IP support yes no
HTTP support yes yes
HTTPS support yes yes
HTTP/2 support no yes
WebSockets support no yes
Path-based routing no yes
Containerized application support yes* yes
Connection draining yes yes
Sticky sessions yes yes*
Health Checks yes* yes
High Availability yes yes
Access Logs / monitoring yes* yes

* Better support in the other LB type


Pricing

See: ALB Pricing for details.

With the Application Load Balancer, you only pay for what you use. You are charged for each hour or partial hour your Application Load Balancer is running and the number of Load Balancer Capacity Units (LCU) used per hour.

  • Pay for per hour your ALB is running
  • Pay for per number of used Load Balancer Capacity Units (LCUs):
    • New connections: 1 LCU = 25 new connections/second
    • Active connections: 1 LCU = 3,000 active connections/minute
    • Bandwidth: 1 LCU = 2.22 Mbps
  • One is charged only on the dimension with the highest usage (i.e., new connections, active connections, or bandwidth)
Pricing example (us-west-2 / Oregon)
  • ALB runs for 1 month
  • 1 new connection/second
  • Connections last on average for 500 ms
  • 300 KB transferred/connection
  • Thus,
    • ALB hours: 24 hours * 30 = 720 hours
    • Dimension #1: New connections/second: 1 / 25 = 0.04 LCU
    • Dimension #2: Active connections/minute: 1 * 0.5 * 60 / 3000 = 0.01 LCU
    • Dimension #3: Bandwidth in Mbits: 300 * 1024 * 8 / 1000 / 1000 * 0.5 = 0.55 LCU
  • Dimension #3 has the highest LCU usage, so:
    • 720 * $0.0225 + 0.55 * $0.008 = $16.20
  • Thus, the ALB will cost $16.20/month


External links