Skip to content

Create Load Balancer

elb_create_load_balancer R Documentation

Creates a Classic Load Balancer

Description

Creates a Classic Load Balancer.

You can add listeners, security groups, subnets, and tags when you create your load balancer, or you can add them later using create_load_balancer_listeners, apply_security_groups_to_load_balancer, attach_load_balancer_to_subnets, and add_tags.

To describe your current load balancers, see describe_load_balancers. When you are finished with a load balancer, you can delete it using delete_load_balancer.

You can create up to 20 load balancers per region per account. You can request an increase for the number of load balancers for your account. For more information, see Limits for Your Classic Load Balancer in the Classic Load Balancers Guide.

Usage

elb_create_load_balancer(LoadBalancerName, Listeners, AvailabilityZones,
  Subnets, SecurityGroups, Scheme, Tags)

Arguments

LoadBalancerName

[required] The name of the load balancer.

This name must be unique within your set of load balancers for the region, must have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and cannot begin or end with a hyphen.

Listeners

[required] The listeners.

For more information, see Listeners for Your Classic Load Balancer in the Classic Load Balancers Guide.

AvailabilityZones

One or more Availability Zones from the same region as the load balancer.

You must specify at least one Availability Zone.

You can add more Availability Zones after you create the load balancer using enable_availability_zones_for_load_balancer.

Subnets

The IDs of the subnets in your VPC to attach to the load balancer. Specify one subnet per Availability Zone specified in AvailabilityZones.

SecurityGroups

The IDs of the security groups to assign to the load balancer.

Scheme

The type of a load balancer. Valid only for load balancers in a VPC.

By default, Elastic Load Balancing creates an Internet-facing load balancer with a DNS name that resolves to public IP addresses. For more information about Internet-facing and Internal load balancers, see Load Balancer Scheme in the Elastic Load Balancing User Guide.

Specify internal to create a load balancer with a DNS name that resolves to private IP addresses.

Tags

A list of tags to assign to the load balancer.

For more information about tagging your load balancer, see Tag Your Classic Load Balancer in the Classic Load Balancers Guide.

Value

A list with the following syntax:

list(
  DNSName = "string"
)

Request syntax

svc$create_load_balancer(
  LoadBalancerName = "string",
  Listeners = list(
    list(
      Protocol = "string",
      LoadBalancerPort = 123,
      InstanceProtocol = "string",
      InstancePort = 123,
      SSLCertificateId = "string"
    )
  ),
  AvailabilityZones = list(
    "string"
  ),
  Subnets = list(
    "string"
  ),
  SecurityGroups = list(
    "string"
  ),
  Scheme = "string",
  Tags = list(
    list(
      Key = "string",
      Value = "string"
    )
  )
)

Examples

## Not run: 
# This example creates a load balancer with an HTTP listener in a VPC.
svc$create_load_balancer(
  Listeners = list(
    list(
      InstancePort = 80L,
      InstanceProtocol = "HTTP",
      LoadBalancerPort = 80L,
      Protocol = "HTTP"
    )
  ),
  LoadBalancerName = "my-load-balancer",
  SecurityGroups = list(
    "sg-a61988c3"
  ),
  Subnets = list(
    "subnet-15aaab61"
  )
)

# This example creates a load balancer with an HTTP listener in
# EC2-Classic.
svc$create_load_balancer(
  AvailabilityZones = list(
    "us-west-2a"
  ),
  Listeners = list(
    list(
      InstancePort = 80L,
      InstanceProtocol = "HTTP",
      LoadBalancerPort = 80L,
      Protocol = "HTTP"
    )
  ),
  LoadBalancerName = "my-load-balancer"
)

# This example creates a load balancer with an HTTPS listener in a VPC.
svc$create_load_balancer(
  Listeners = list(
    list(
      InstancePort = 80L,
      InstanceProtocol = "HTTP",
      LoadBalancerPort = 80L,
      Protocol = "HTTP"
    ),
    list(
      InstancePort = 80L,
      InstanceProtocol = "HTTP",
      LoadBalancerPort = 443L,
      Protocol = "HTTPS",
      SSLCertificateId = "arn:aws:iam::123456789012:server-certificate/my-server-cert"
    )
  ),
  LoadBalancerName = "my-load-balancer",
  SecurityGroups = list(
    "sg-a61988c3"
  ),
  Subnets = list(
    "subnet-15aaab61"
  )
)

# This example creates a load balancer with an HTTPS listener in
# EC2-Classic.
svc$create_load_balancer(
  AvailabilityZones = list(
    "us-west-2a"
  ),
  Listeners = list(
    list(
      InstancePort = 80L,
      InstanceProtocol = "HTTP",
      LoadBalancerPort = 80L,
      Protocol = "HTTP"
    ),
    list(
      InstancePort = 80L,
      InstanceProtocol = "HTTP",
      LoadBalancerPort = 443L,
      Protocol = "HTTPS",
      SSLCertificateId = "arn:aws:iam::123456789012:server-certificate/my-server-cert"
    )
  ),
  LoadBalancerName = "my-load-balancer"
)

# This example creates an internal load balancer with an HTTP listener in
# a VPC.
svc$create_load_balancer(
  Listeners = list(
    list(
      InstancePort = 80L,
      InstanceProtocol = "HTTP",
      LoadBalancerPort = 80L,
      Protocol = "HTTP"
    )
  ),
  LoadBalancerName = "my-load-balancer",
  Scheme = "internal",
  SecurityGroups = list(
    "sg-a61988c3"
  ),
  Subnets = list(
    "subnet-15aaab61"
  )
)

## End(Not run)