Difference between revisions of "AWS/ALB"
From Christoph's Personal Wiki
(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] — on the AWS Blog, 2016-08-11 | * [https://aws.amazon.com/blogs/aws/new-aws-application-load-balancer/ AWS Application Load Balancer] — 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
- Application Load Balancer Details
- AWS Application Load Balancer — on the AWS Blog, 2016-08-11