当AWS网络负载均衡器在某个可用区域中没有任何目标(EC2实例)时,可以通过AWS CLI或AWS SDK进行以下操作来解决这个问题:
AWS CLI示例代码:
aws elbv2 create-target-group --name my-target-group --protocol HTTP --port 80 --target-type instance --vpc-id your-vpc-id
aws elbv2 register-targets --target-group-arn target-group-arn --targets Id=your-instance-id
aws elbv2 create-listener --load-balancer-arn load-balancer-arn --protocol HTTP --port 80 --default-actions Type=forward,TargetGroupArn=target-group-arn
上述代码中,需要替换以下参数:
AWS SDK示例代码(使用Python SDK - boto3):
import boto3
elbv2_client = boto3.client('elbv2')
response = elbv2_client.create_target_group(
Name='my-target-group',
Protocol='HTTP',
Port=80,
TargetType='instance',
VpcId='your-vpc-id'
)
target_group_arn = response['TargetGroups'][0]['TargetGroupArn']
response = elbv2_client.register_targets(
TargetGroupArn=target_group_arn,
Targets=[
{
'Id': 'your-instance-id',
},
]
)
response = elbv2_client.create_listener(
LoadBalancerArn='load-balancer-arn',
Protocol='HTTP',
Port=80,
DefaultActions=[
{
'Type': 'forward',
'TargetGroupArn': target_group_arn,
},
]
)
上述代码中,需要替换以下参数:
通过以上代码,您可以创建一个目标组、注册目标(EC2实例),并创建一个负载均衡监听器来解决AWS网络负载均衡器在每个可用区域中没有目标的情况。