当前位置: 首页 > 知识库问答 >
问题:

如何在Cloudformation模板中引用现有的ELB DNSName

殳阳飙
2023-03-14

我们有Cloudformation模板,我们通过它为我们的产品部署红外资源。下面是通过CF模板创建的AWS组件:1。网络组件。如VPC、子网、安全组等。IAM角色和策略。3.EMR 4。EKS 5。MSK 6。RDS7.弹性疼痛

  ServiceDeployment:
    Type: "Custom::KubeManifest"
    Version: '1.0'
    Properties:
      ServiceToken: !Ref KubeManifestLambdaArn
      KubeConfigPath: !Sub "s3://${KubeConfigS3Bucket}/${KubeConfigS3Key}"
      KubeConfigKmsContext: !Ref KmsContext
      Manifest:
        apiVersion: v1
        kind: Service
        metadata:
          name: test
          labels:
            app: client
            tier: master
        spec:
          selector:
            app: client
            tier: master
          ports:
          - name: client-api
            port: 9877
            protocol: TCP
          - name: client-snapshots
            port: 9878
            protocol: TCP
          - name: client-support
            port: 9881
            protocol: TCP
  UiDeployment:
    Type: "Custom::KubeManifest"
    Version: '1.0'
    Properties:
      ServiceToken: !Ref KubeManifestLambdaArn
      KubeConfigPath: !Sub "s3://${KubeConfigS3Bucket}/${KubeConfigS3Key}"
      KubeConfigKmsContext: !Ref KmsContext
      Manifest:
        apiVersion: v1
        kind: Service
        metadata:
          name: client-ui
          annotations:
            service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
            service.beta.kubernetes.io/aws-load-balancer-proxy-protocol: '*'
            service.beta.kubernetes.io/aws-load-balancer-type: nlb
            service.beta.kubernetes.io/aws-load-balancer-backend-protocol: 'tcp'
            service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "tcp"
            service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
          labels:
            app: client
            tier: master
        spec:
          type: LoadBalancer
          selector:
            app: client
            tier: master
          ports:
          - name: client-ui
            port: 80
            protocol: TCP
            targetPort: 8800
          - name: client-ui-https
            port: 443
            protocol: TCP
            targetPort: 8800

共有1个答案

融建树
2023-03-14

这是我的YAML示例

Resources:
  LoadBalancer:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      Name: !Ref EnvironmentName
      Subnets: !Ref Subnets
      SecurityGroups:
        - !Ref SecurityGroup
      Tags:
        - Key: Name
          Value: !Ref EnvironmentName

  LoadBalancerListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      LoadBalancerArn: !Ref LoadBalancer
      Port: 80
      Protocol: HTTP
      DefaultActions:
        - Type: forward
          TargetGroupArn: !Ref DefaultTargetGroup

必须包含LoadBalancerLoadBalanceListener。然后,您必须添加输出,这些输出声明您希望Description stacks API调用可用的值。

Outputs:
  LoadBalancer:
    Description: A reference to the Application Load Balancer
    Value: !Ref LoadBalancer

  LoadBalancerUrl:
    Description: The URL of the ALB
    Value: !GetAtt LoadBalancer.DNSName

  Listener:
    Description: A reference to a port 80 listener
    Value: !Ref LoadBalancerListener
 类似资料:
  • 我已经通过AWS控制台创建了AWS网络资源(VPC、子网、IGW等)。现在,我正在尝试创建一个由现有的 问题1:这是正确的方法吗?(因为我们有diff envs来处理动态AWS资源,所以我正在这样做) 问题2:我可以用VPC、子网设置参数,但不能用Internet gateway设置参数。如何将internetgateway作为参数? 谢谢

  • 问题内容: 一个布局模板和三个子模板。 layout.html tags.html content.html comment.html 代码 我很困惑如何渲染每个子模板并将结果组合到布局输出中。 谢谢。 问题答案: 与往常一样,该文档是一个很好的起点。 我在操场上写了一个工作实例 解释一下: 您不需要struct文字中的字符串:,而不是 您只能将单个对象传递给模板才能执行,这将按照指令中的要求将对

  • 了解在 Dreamweaver 中如何使用“资源”面板在现有文档中应用或删除模板。 当您将模板应用到包含现有内容的文档时,Dreamweaver 会尝试将现有内容与模板中的区域进行匹配。如果您应用的是现有模板之一的修订版本,则名称可能会匹配。 如果您将模板应用于一个尚未应用过模板的文档,则没有可编辑区域可供比较并且会出现不匹配。Dreamweaver 将跟踪这些不匹配的内容,这样,您就可以选择将当

  • 问题内容: 我一直在寻找如何在django 1.8中使用jinja2的方法,但是没有完整的源代码可以将django与jinja2一起使用。我想知道你们是否知道在Django中使用jinja2的过程。我查看了官方文档,并查看了以下问题:如何设置django 1.8以使用jinja2? 但是他们都没有清楚地解释如何以综合方式使用jinja2。我刚刚开始使用django,不了解文档中的所有术语。我真的很

  • 问题内容: 我想知道如何通过更新的Sails版本提供引导模板。我是否应该将JS的链接更新为其他链接。我尝试将js和图像移动到资产文件夹中,但是javascript无法正常工作。Sails文档在该主题上非常差。任何人都可以告诉一个简单的方法来集成它。提前致谢 问题答案: Sails 0.9.x已移至使用Grunt处理资产。这使您可以进行多种不同的预编译和资产处理。默认情况下,无法将自动资产注入到视图

  • 我想创建两个带有模板方法(GOF)变体的HttpServlet。所以我创建了从HttpServlet扩展的抽象类: 两种混凝土等级: 在调用(成功)其中一个服务后,我无法得到任何响应。经过一些调试,Tomcat似乎在NIO通道和锁存器方面有一些问题: 2016-01-31 19:13:52 Http11NioProtocol[DEBUG]套接字:[org.apache.tomcat.util.ne