terraform/website/source/docs/providers/alicloud/r/slb.html.markdown

3.4 KiB
Raw Blame History

layout page_title sidebar_current description
alicloud Alicloud: alicloud_slb docs-alicloud-resource-slb Provides an Application Load Banlancer resource.

alicloud_slb

Provides an Application Load Balancer resource.

Example Usage

# Create a new load balancer for classic
resource "alicloud_slb" "classic" {
  name                 = "test-slb-tf"
  internet             = true
  internet_charge_type = "paybybandwidth"
  bandwidth            = 5

  listener = [
    {
      "instance_port" = "2111"
      "lb_port"       = "21"
      "lb_protocol"   = "tcp"
      "bandwidth"     = "5"
    },
    {
      "instance_port" = "8000"
      "lb_port"       = "80"
      "lb_protocol"   = "http"
      "bandwidth"     = "5"
    },
    {
      "instance_port" = "1611"
      "lb_port"       = "161"
      "lb_protocol"   = "udp"
      "bandwidth"     = "5"
    },
  ]
}

# Create a new load balancer for VPC
resource "alicloud_vpc" "default" {
  # Other parameters...
}

resource "alicloud_vswitch" "default" {
  # Other parameters...
}

resource "alicloud_slb" "vpc" {
  name       = "test-slb-tf"
  vswitch_id = "${alicloud_vswitch.default.id}"
}

Argument Reference

The following arguments are supported:

  • name - (Optional) The name of the SLB. This name must be unique within your AliCloud account, can have a maximum of 80 characters, must contain only alphanumeric characters or hyphens, such as "-","/",".","_", and must not begin or end with a hyphen. If not specified, Terraform will autogenerate a name beginning with tf-lb.
  • internet - (Optional, Forces New Resource) If true, the SLB addressType will be internet, false will be intranet, Default is false. If load balancer launched in VPC, this value must be "false".
  • internet_charge_type - (Optional, Forces New Resource) Valid values are paybybandwidth, paybytraffic. If this value is "paybybandwidth", then argument "internet" must be "true". Default is "paybytraffic". If load balancer launched in VPC, this value must be "paybytraffic".
  • bandwidth - (Optional) Valid value is between 1 and 1000, If argument "internet_charge_type" is "paybytraffic", then this value will be ignore.
  • listener - (Optional) Additional SLB listener. See Block listener below for details.
  • vswitch_id - (Required for a VPC SLB, Forces New Resource) The VSwitch ID to launch in.

Block listener

The listener mapping supports the following:

  • instance_port - (Required) The port on which the backend servers are listening. Valid value is between 1 to 65535.
  • lb_port - (Required) The port on which the load balancer is listening. Valid value is between 1 to 65535.
  • lb_protocol - (Required) The protocol to listen on. Valid values are http and and tcp and udp.
  • bandwidth - (Required) The bandwidth on which the load balancer is listening. Valid values is -1 or between 1 and 1000. If -1, the bindwidth will havent upper limit.

Attributes Reference

The following attributes are exported:

  • id - The ID of the load balancer.
  • name - The name of the load balancer.
  • internet - The internet of the load balancer.
  • internet_charge_type - The internet_charge_type of the load balancer.
  • bandwidth - The bandwidth of the load balancer.
  • vswitch_id - The VSwitch ID of the load balancer. Only available on SLB launched in a VPC.
  • address - The IP address of the load balancer.