Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are 2 tiers in the VPC - Web tier A and Application tier B. Traffic to Web tier is balanced on the VPC VR on the public side. Admin wants traffic coming from LB to App tier to be balanced as well. Load balancing on the APP tier will be covered by the Internal LB feature.

The general flow

  1. Create App tier B using network offering with Service=Lb, Provider=InteralLBVm
  2. Acquire guest IP address - Ip1 - from the App tier B.
  3. Create Internal Load Balancer LB1 for Ip1, public port 80, private port 80. The new internal LB VM starts up on App tier with the Ip1.
  4. Add vm1 to the LB1. The rule for Ip1/VM1/ports 80:80 is configured inside the HA proxy
  5. Add vm2 to the LB1. The rule for IP1/VM2/80:80 is configured inside the HA Proxy
  6. Create Internal Load Balancer LB2 for IP1, public port 81, private port 81. No need to start a new Internal LB vm as it's been already started for IP1.
  7. If you want to manage access from tier A to tier B, setup Network ACLs

API and

...

Orchestration level

DB

New tables

TBD

Upgrade 

Either have to upgrade existing default VPC/Network offering with the new Provider for LB service, or create a new default one having Internal LB provider in place.

Backend

Enable Internal LB on VPC tier

Introduce new Network Provider - InternalLBVm. This provider supports only 1 service  - LB

In order to have Internal Load Balancing support on VPC tier, the tier has to be created from the network offering with Service=LB, Provider=InternalLBVm. 

...

Java code changes

...

  • Introduce new Network Element - InternalLBVm. Make it extend LoadBalancingServiceProvider interface.
  • Introduce InternalLBNetworkApplianceManager
  • Allow to use network offering having LB/InternalLBVm to be used only when create network inside VPC

...

Backend changes

...

For the backend engineer to complete. We might need a separate template/set of scripts for this kind of vm, or we might use the existing VR template.

...

Web Services API

...

No changes to existing Apis

...

DB

...

Add one more default Network offering having LB Service with Internal LB provider. Insert this offering as a part of the upgrade as well.

Allocate IP address from the guest network

Internal Load Balancer gets created for the Guest IP address allocated from the App tier.

...

Java code changes

...

Backend changes

...

Web Services API

...

New set of APIs to allocate guest IP address to the account.

  • allocateIpAddress. Request parameter
  • releaseIpAddress
  • listIpAddresses

DB
TBDTBD by the backend engineer

Limitations

  • Internal and Public Lb are mutually exclusive on a tier. If the tier has LB on the public side, then it can't have the Internal LB
  • Supported just on VPC networks

UI

TBD