在 CloudFormation 中创建 ELB - 忽略粘性策略?
Creating ELB in CloudFormation - Stickiness Policy is Ignored?
我想创建一个 ELB 作为 CloudFormation 堆栈的一部分,它具有不会过期的负载均衡器粘性(例如,我未指定的 CookieExpirationPeriod 属性)。以下是模板的相关 ELB 部分(YAML 格式)。
HAELB:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
CrossZone: 'true'
HealthCheck:
HealthyThreshold: '5'
Interval: '10'
Timeout: '5'
Target: HTTPS:8443/health
UnhealthyThreshold: '2'
Instances:
- Ref: Instance1
- Ref: Instance2
- Ref: Instance3
LBCookieStickinessPolicy:
- PolicyName: HASessionStickiness
Listeners:
- InstancePort: '8443'
InstanceProtocol: HTTPS
LoadBalancerPort: '443'
Protocol: HTTPS
SSLCertificateId: arn:aws:iam::xxx
LoadBalancerName: prodtest
SecurityGroups:
- sg-xxx
Scheme: internet-facing
Subnets:
- subnet-xxx
Tags:
-
Key: Name
Value: prodtest
(我用 xxx 编辑了一些信息)
模板和 ELB 的创建没有问题,但是当我在控制台上检查粘性时,它说它已被禁用。我是否错误配置了 LBCookieStickinessPolicy?正如我提到的,我希望它被启用但没有过期。
目前,您已经定义了负载均衡器的粘性策略,但尚未将粘性策略与侦听器相关联。
将 PolicyNames
属性 添加到您的侦听器以将您的策略与侦听器相关联:
LBCookieStickinessPolicy:
- PolicyName: HASessionStickiness
Listeners:
- InstancePort: '8443'
InstanceProtocol: HTTPS
LoadBalancerPort: '443'
Protocol: HTTPS
SSLCertificateId: arn:aws:iam::xxx
PolicyNames:
- HASessionStickiness
我想创建一个 ELB 作为 CloudFormation 堆栈的一部分,它具有不会过期的负载均衡器粘性(例如,我未指定的 CookieExpirationPeriod 属性)。以下是模板的相关 ELB 部分(YAML 格式)。
HAELB:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
CrossZone: 'true'
HealthCheck:
HealthyThreshold: '5'
Interval: '10'
Timeout: '5'
Target: HTTPS:8443/health
UnhealthyThreshold: '2'
Instances:
- Ref: Instance1
- Ref: Instance2
- Ref: Instance3
LBCookieStickinessPolicy:
- PolicyName: HASessionStickiness
Listeners:
- InstancePort: '8443'
InstanceProtocol: HTTPS
LoadBalancerPort: '443'
Protocol: HTTPS
SSLCertificateId: arn:aws:iam::xxx
LoadBalancerName: prodtest
SecurityGroups:
- sg-xxx
Scheme: internet-facing
Subnets:
- subnet-xxx
Tags:
-
Key: Name
Value: prodtest
(我用 xxx 编辑了一些信息)
模板和 ELB 的创建没有问题,但是当我在控制台上检查粘性时,它说它已被禁用。我是否错误配置了 LBCookieStickinessPolicy?正如我提到的,我希望它被启用但没有过期。
目前,您已经定义了负载均衡器的粘性策略,但尚未将粘性策略与侦听器相关联。
将 PolicyNames
属性 添加到您的侦听器以将您的策略与侦听器相关联:
LBCookieStickinessPolicy:
- PolicyName: HASessionStickiness
Listeners:
- InstancePort: '8443'
InstanceProtocol: HTTPS
LoadBalancerPort: '443'
Protocol: HTTPS
SSLCertificateId: arn:aws:iam::xxx
PolicyNames:
- HASessionStickiness