要连接AWS EC2实例之间的负载均衡器和目标组,可以使用AWS的负载均衡服务Elastic Load Balancer(ELB)和目标组(Target Group)。
下面是一个使用Python和Boto3库创建负载均衡器和目标组,并将实例作为目标的示例代码:
import boto3
# 创建ELB负载均衡器
elbv2_client = boto3.client('elbv2')
response = elbv2_client.create_load_balancer(
Name='my-load-balancer',
Subnets=['subnet-12345678'], # 指定负载均衡器所在的子网
SecurityGroups=['sg-12345678'], # 指定负载均衡器的安全组
Type='application', # 指定负载均衡器类型为应用负载均衡器
Scheme='internet-facing', # 指定负载均衡器的访问方式为公网访问
)
# 获取创建的负载均衡器的ARN
load_balancer_arn = response['LoadBalancers'][0]['LoadBalancerArn']
# 创建目标组,并将实例作为目标
response = elbv2_client.create_target_group(
Name='my-target-group',
Protocol='HTTP', # 指定目标组的协议
Port=80, # 指定目标组的端口
VpcId='vpc-12345678', # 指定目标组所在的VPC
)
# 获取创建的目标组的ARN
target_group_arn = response['TargetGroups'][0]['TargetGroupArn']
# 将目标组与负载均衡器进行关联
response = elbv2_client.create_listener(
LoadBalancerArn=load_balancer_arn,
Protocol='HTTP', # 指定监听器的协议
Port=80, # 指定监听器的端口
DefaultActions=[
{
'Type': 'forward',
'TargetGroupArn': target_group_arn,
},
],
)
上述示例代码中,需要替换以下参数:
subnet-12345678
:负载均衡器所在的子网IDsg-12345678
:负载均衡器的安全组IDvpc-12345678
:目标组所在的VPCID通过上述代码,可以创建一个负载均衡器,创建一个目标组,并将实例作为目标,然后将目标组与负载均衡器进行关联。这样,负载均衡器就可以将流量分发到目标组中的实例上实现负载均衡。