Итак, я пытаюсь добавить правило для / synchrony / *, которое указывало бы на целевую группу «synchrony».
Вот мой существующий шаблон.
ConfluenceALB:
Properties:
Scheme: internal
SecurityGroups:
- Ref: ConfluenceAlbSg
- Ref: ConfluenceAsgSg
Subnets:
- Fn::ImportValue: ${self:custom.${opt:stage}-VpcName, self:custom.${self:provider.stage}-VpcName}-PrivateSubnet1Id
- Fn::ImportValue: ${self:custom.${opt:stage}-VpcName, self:custom.${self:provider.stage}-VpcName}-PrivateSubnet2Id
- Fn::ImportValue: ${self:custom.${opt:stage}-VpcName, self:custom.${self:provider.stage}-VpcName}-PrivateSubnet3Id
Tags:
- Key: Name
Value:
Fn::Join: [ "-", [ Ref: "AWS::StackName", "confluencealb" ] ]
Type: "AWS::ElasticLoadBalancingV2::LoadBalancer"
ConfluenceAlbListener:
Properties:
Certificates:
- CertificateArn: ${self:custom.${opt:stage}-SSLCertId, self:custom.${self:provider.stage}-SSLCertId}
DefaultActions:
- Type: forward
TargetGroupArn:
Ref: ConfluenceTargetGroup
LoadBalancerArn:
Ref: ConfluenceALB
Port: 443
Protocol: HTTPS
Type: AWS::ElasticLoadBalancingV2::Listener
ConfluenceTargetGroup:
Properties:
HealthCheckIntervalSeconds: 60
UnhealthyThresholdCount: 10
HealthCheckPath: /
Name: "confluence"
Port: 8080
Protocol: HTTP
VpcId:
Fn::ImportValue: ${self:custom.${opt:stage}-VpcName, self:custom.${self:provider.stage}-VpcName}-VpcId
Type: AWS::ElasticLoadBalancingV2::TargetGroup
SynchronyTargetGroup:
Properties:
Name: "synchrony"
Port: 8091
Protocol: HTTP
VpcId:
Fn::ImportValue: ${self:custom.${opt:stage}-VpcName, self:custom.${self:provider.stage}-VpcName}-VpcId
Type: AWS::ElasticLoadBalancingV2::TargetGroup
Я не знаю, как это добавить, а документация AWS (облачная информация) кажется скудной. Могу ли я добавить это под блок слушателя?
Мы исследовали, как это делается для нового проекта, и наткнулись на этот пример: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-ecs.html (как бы хороши ни были документы AWS, иногда они почти запутываются!)
Думаю, это подходящий вам раздел:
ECSALBListenerRule:
Type: AWS::ElasticLoadBalancingV2::ListenerRule
DependsOn: ALBListener
Properties:
Actions:
- Type: forward
TargetGroupArn: !Ref 'ECSTG'
Conditions:
- Field: path-pattern
Values: [/]
ListenerArn: !Ref 'ALBListener'
Priority: 1
При этом он относится как к ресурсу слушателя «ALBListener», так и к группе безопасности «ECSTG». Пример касается ECS, но не думаю, что это действительно важно для ответа, который вам нужен.