例如,以下代码示例演示如何创建一个目标组,并设置健康检查路径为“/health”:
import boto3
elbv2 = boto3.client('elbv2')
response = elbv2.create_target_group(
Name='my-target-group',
Protocol='HTTP',
Port=80,
HealthCheckProtocol='HTTP',
HealthCheckPort='80',
HealthCheckPath='/health',
TargetType='instance'
)
例如,以下代码示例演示如何创建一个目标实例,并将其与目标组关联:
import boto3
ec2 = boto3.client('ec2')
elbv2 = boto3.client('elbv2')
response = ec2.run_instances(
ImageId='ami-12345678',
InstanceType='t2.micro',
MinCount=1,
MaxCount=1
)
instance_id = response['Instances'][0]['InstanceId']
response = elbv2.register_targets(
TargetGroupArn='arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-target-group/1234567890abcdef',
Targets=[
{
'Id': instance_id,
'Port': 80,
},
]
)
例如,以下代码示例演示如何为目标实例和ALB创建安全组规则:
import boto3
ec2 = boto3.client('ec2')
elbv2 = boto3.client('elbv2')
# 创建目标实例的安全组规则
response = ec2.authorize_security_group_ingress(
GroupId='sg-12345678',
IpPermissions=[
{
'IpProtocol': 'tcp',
'FromPort': 80,
'ToPort': 80,
'IpRanges': [
{
'CidrIp': '0.0.0.0/0'
},
],
},
],
)
# 创建ALB的安全组规则
response = ec2.authorize_security_group_ingress(
GroupId='sg-12345678',
IpPermissions=[
{
'IpProtocol': 'tcp',
'FromPort': 80,
'ToPort': 80,
'UserIdGroupPairs': [
{
'GroupId': 'sg-87654321'
},
],
},
],
)
例如,以下代码示例演示如何创建一个ALB的监听器,并将其与目标组关联:
import boto3
elbv2 = boto3.client('elbv2')
response = elbv2.create_listener(
LoadBalancerArn='arn:aws:elasticloadbalancing:region:123456789012:loadbalancer/my-load-balancer',
Protocol='HTTP',
Port=80,
DefaultActions=[
{
'Type': 'forward',
'TargetGroupArn': 'arn:aws:elasticloadbalancing:region:123456789012:targetgroup/my-target-group/1234567890abcdef',
},
],
)
以上是一些常见的解决方法,根据具体情况可能会有所不同。如果以上方法无法解决问题,请参考AWS文档或联系AWS支持获取更多帮助