AWS网络负载均衡器和临时端口是一种常见的解决方案,用于在AWS云中实现高可用性和负载均衡的应用程序。下面是一个包含代码示例的解决方法:
import boto3
elbv2 = boto3.client('elbv2')
response = elbv2.create_load_balancer(
Name='my-load-balancer',
Subnets=['subnet-12345678', 'subnet-23456789'],
Type='network',
Scheme='internet-facing',
Tags=[
{
'Key': 'Name',
'Value': 'my-load-balancer'
},
]
)
response = elbv2.create_target_group(
Name='my-target-group',
Protocol='TCP',
Port=80,
VpcId='vpc-12345678',
HealthCheckProtocol='TCP',
HealthCheckPort='traffic-port',
HealthCheckEnabled=True,
TargetType='instance',
Tags=[
{
'Key': 'Name',
'Value': 'my-target-group'
},
]
)
response = elbv2.register_targets(
TargetGroupArn='arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-target-group/abcdefg12345678',
Targets=[
{
'Id': 'i-12345678',
'Port': 80,
},
{
'Id': 'i-23456789',
'Port': 80,
},
]
)
response = elbv2.create_listener(
LoadBalancerArn='arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/net/my-load-balancer/abcdefg12345678',
Protocol='TCP',
Port=80,
DefaultActions=[
{
'Type': 'forward',
'TargetGroupArn': 'arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-target-group/abcdefg12345678',
},
]
)
这些示例代码使用AWS SDK for Python (Boto3)来创建网络负载均衡器、目标组、注册实例和创建监听器。你可以根据自己的需求进行修改和扩展。请确保已安装Boto3库并正确配置AWS凭证。