Como adicionar a regra ALB ao modelo sem servidor existente

1

Por isso, estou tentando adicionar uma regra para / synchrony / *, que apontaria para o grupo-alvo 'sincronia'.

Aqui está o meu modelo existente.

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

Não sei como adicionar isso e a documentação da AWS (cloudformation) parece ser escassa. Eu adiciono isso no bloco do ouvinte?

    
por david 05.09.2017 / 21:39

1 resposta

0

Investigamos como isso é feito para um novo projeto e nos deparamos com este exemplo: link (por mais impressionantes que sejam os documentos da AWS, às vezes eles são quase ofuscados!)

Esta é a seção relevante para você:

ECSALBListenerRule:
Type: AWS::ElasticLoadBalancingV2::ListenerRule
DependsOn: ALBListener
Properties:
  Actions:
  - Type: forward
    TargetGroupArn: !Ref 'ECSTG'
  Conditions:
  - Field: path-pattern
    Values: [/]
  ListenerArn: !Ref 'ALBListener'
  Priority: 1

Por meio do qual ele se refere tanto ao recurso de Listener 'ALBListener' quanto ao Grupo de Segurança 'ECSTG'. O exemplo é sobre ECS, mas não pense que realmente importa para a resposta que você buscou.

    
por 26.11.2017 / 10:41