Skip to content

ServerGroup

This class encapsulates and extends the ROS resource type ALIYUN::ALB::ServerGroup, which is used to create a server group.

Initializers

import ros_cdk_alb
ros_cdk_alb.ServerGroup(
  scope: Construct,
  id: str,
  health_check_config: typing.Union[IResolvable, HealthCheckConfigProperty],
  server_group_name: typing.Union[str, IResolvable],
  vpc_id: typing.Union[str, IResolvable],
  connection_drain_config: typing.Union[IResolvable, ConnectionDrainConfigProperty] = None,
  protocol: typing.Union[str, IResolvable] = None,
  resource_group_id: typing.Union[str, IResolvable] = None,
  scheduler: typing.Union[str, IResolvable] = None,
  server_group_type: typing.Union[str, IResolvable] = None,
  service_name: typing.Union[str, IResolvable] = None,
  slow_start_config: typing.Union[IResolvable, SlowStartConfigProperty] = None,
  sticky_session_config: typing.Union[IResolvable, StickySessionConfigProperty] = None,
  tags: typing.List[TagsProperty] = None,
  uch_config: typing.Union[IResolvable, UchConfigProperty] = None,
  upstream_keepalive_enabled: typing.Union[bool, IResolvable] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
health_check_config typing.Union[ros_cdk_core.IResolvable, HealthCheckConfigProperty] Property healthCheckConfig: The configuration of health checks.
server_group_name typing.Union[str, ros_cdk_core.IResolvable] Property serverGroupName: The name of the server group.
vpc_id typing.Union[str, ros_cdk_core.IResolvable] Property vpcId: The ID of the virtual private cloud (VPC).
connection_drain_config typing.Union[ros_cdk_core.IResolvable, ConnectionDrainConfigProperty] Property connectionDrainConfig: Configuration related to graceful connection interruption.Enable graceful connection interruption. After the backend server is removed or the health check fails, the load balancing allows the existing connection to be transmitted normally within a certain period of time.Note: Basic Edition instances do not support enabling graceful connection interruption. Only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server group support graceful connection interruption. Function Compute type does not support it.
protocol typing.Union[str, ros_cdk_core.IResolvable] Property protocol: The backend protocol.
resource_group_id typing.Union[str, ros_cdk_core.IResolvable] Property resourceGroupId: The ID of the resource group.
scheduler typing.Union[str, ros_cdk_core.IResolvable] Property scheduler: The scheduling algorithm.
server_group_type typing.Union[str, ros_cdk_core.IResolvable] Property serverGroupType: The type of the server group.
service_name typing.Union[str, ros_cdk_core.IResolvable] Property serviceName: This parameter is available only if the ALB Ingress controller is used.
slow_start_config typing.Union[ros_cdk_core.IResolvable, SlowStartConfigProperty] Property slowStartConfig: Slow start related configuration.After slow start is enabled, the backend server newly added to the backend server group will be preheated within the set time period, and the number of requests forwarded to the server will increase linearly.Note: Basic Edition instances do not support slow start, only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server groups support slow start configuration, but Function Compute type does not.Slow start can only be enabled when the backend scheduling algorithm is the weighted polling algorithm.
sticky_session_config typing.Union[ros_cdk_core.IResolvable, StickySessionConfigProperty] Property stickySessionConfig: The configuration of session persistence.
tags typing.List[TagsProperty] Property tags: Tags to attach to instance.
uch_config typing.Union[ros_cdk_core.IResolvable, UchConfigProperty] Property uchConfig: URL consistency hash parameter configuration.
upstream_keepalive_enabled typing.Union[bool, ros_cdk_core.IResolvable] Property upstreamKeepaliveEnabled: Whether to enable upstream keepalive.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

health_check_configRequired

Property healthCheckConfig: The configuration of health checks.


server_group_nameRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property serverGroupName: The name of the server group.

The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). The name must start with a letter.


vpc_idRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property vpcId: The ID of the virtual private cloud (VPC).

You can add only servers that are deployed in the specified VPC to the server group. Note: This parameter is required if the ServerGroupType parameter is set to Instance or Ip. Note: This parameter takes effect when the ServerGroupType parameter is set to Instance or Ip.


connection_drain_configOptional

Property connectionDrainConfig: Configuration related to graceful connection interruption.Enable graceful connection interruption. After the backend server is removed or the health check fails, the load balancing allows the existing connection to be transmitted normally within a certain period of time.Note: Basic Edition instances do not support enabling graceful connection interruption. Only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server group support graceful connection interruption. Function Compute type does not support it.


protocolOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property protocol: The backend protocol.

Valid values: HTTP (default): The server group can be associated with HTTPS, HTTP, and QUIC listeners. HTTPS: The server group can be associated with HTTPS listeners. gRPC: The server group can be associated with HTTPS and QUIC listeners. Note: If the ServerGroupType parameter is set to Fc, you can set Protocol only to HTTP.


resource_group_idOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property resourceGroupId: The ID of the resource group.


schedulerOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property scheduler: The scheduling algorithm.

Valid values: Wrr (default): The weighted round-robin algorithm is used. Backend servers that have higher weights receive more requests than those that have lower weights. Wlc: The weighted least connections algorithm is used. Requests are distributed based on the weights and the number of connections to backend servers. If two backend servers have the same weight, the backend server that has fewer connections is expected to receive more requests. Sch: The consistent hashing algorithm is used. Requests from the same source IP address are distributed to the same backend server. Note: This parameter takes effect when the ServerGroupType parameter is set to Instance or Ip.


server_group_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property serverGroupType: The type of the server group.

Valid values: Instance (default): allows you add servers by specifying Ecs, Ens, or Eci. Ip: allows you to add servers by specifying IP addresses. Fc: allows you to add servers by specifying functions of Function Compute.


service_nameOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property serviceName: This parameter is available only if the ALB Ingress controller is used.

In this case, set the parameter to the name of the Kubernetes Service that is associated with the server group.


slow_start_configOptional

Property slowStartConfig: Slow start related configuration.After slow start is enabled, the backend server newly added to the backend server group will be preheated within the set time period, and the number of requests forwarded to the server will increase linearly.Note: Basic Edition instances do not support slow start, only Standard Edition and WAF Enhanced Edition instances support it.Server type and IP type server groups support slow start configuration, but Function Compute type does not.Slow start can only be enabled when the backend scheduling algorithm is the weighted polling algorithm.


sticky_session_configOptional

Property stickySessionConfig: The configuration of session persistence.

Note: This parameter is required if the ServerGroupType parameter is set to Instance or Ip.


tagsOptional

Property tags: Tags to attach to instance.

Max support 20 tags to add during create instance. Each tag with two properties Key and Value, and Key is required.


uch_configOptional

Property uchConfig: URL consistency hash parameter configuration.


upstream_keepalive_enabledOptional

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property upstreamKeepaliveEnabled: Whether to enable upstream keepalive.


enable_resource_property_constraintOptional

  • Type: bool

Methods

Name Description
to_string Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
add_condition No description.
add_count No description.
add_dependency No description.
add_resource_desc No description.
apply_removal_policy No description.
get_att No description.
set_metadata No description.

to_string

def to_string() -> str

Returns a string representation of this construct.

synthesize

def synthesize(
  session: ISynthesisSession
) -> None

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: ros_cdk_core.ISynthesisSession

The synthesis session.


add_condition

def add_condition(
  condition: RosCondition
) -> None

conditionRequired

  • Type: ros_cdk_core.RosCondition

add_count

def add_count(
  count: typing.Union[typing.Union[int, float], IResolvable]
) -> None

countRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

add_dependency

def add_dependency(
  resource: Resource
) -> None

resourceRequired

  • Type: ros_cdk_core.Resource

add_resource_desc

def add_resource_desc(
  desc: str
) -> None

descRequired

  • Type: str

apply_removal_policy

def apply_removal_policy(
  policy: RemovalPolicy
) -> None

policyRequired

  • Type: ros_cdk_core.RemovalPolicy

get_att

def get_att(
  name: str
) -> IResolvable

nameRequired

  • Type: str

set_metadata

def set_metadata(
  key: str,
  value: typing.Any
) -> None

keyRequired

  • Type: str

valueRequired

  • Type: typing.Any

Static Functions

Name Description
is_construct Return whether the given object is a Construct.

is_construct

import ros_cdk_alb
ros_cdk_alb.ServerGroup.is_construct(
  x: typing.Any
)

Return whether the given object is a Construct.

xRequired

  • Type: typing.Any

Properties

Name Type Description
node ros_cdk_core.ConstructNode The construct tree node associated with this construct.
ref str No description.
stack ros_cdk_core.Stack The stack in which this resource is defined.
resource ros_cdk_core.RosResource No description.
attr_server_group_id ros_cdk_core.IResolvable Attribute ServerGroupId: The ID of the server group.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


refRequired

ref: str
  • Type: str

stackRequired

stack: Stack
  • Type: ros_cdk_core.Stack

The stack in which this resource is defined.


resourceOptional

resource: RosResource
  • Type: ros_cdk_core.RosResource

attr_server_group_idRequired

attr_server_group_id: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute ServerGroupId: The ID of the server group.


Structs