【发布时间】:2018-11-14 12:36:03
【问题描述】:
如何在cloudformation中获取Elastic Beanstalk EC2实例的instanceId?
我使用elasticbeanstalk Template 和elasticBeanstalk environment 创建了一个弹性豆茎。现在我需要在某处引用该 EB 的 instanceId。如何在 cloudformation 中做到这一点?
或者我可以使用一些解决方法从我的 EB 某处获取底层 EC2 实例,然后只获取该 EC2 的 instanceID(可行)。
这是我的模板的一部分。我有一个 EIP,我想将它与我的 EB EC2 的 instanceId 相关联。最后一行不起作用(instanceId)
Resources:
ProxyEIP:
Type: "AWS::EC2::EIP"
ProxyEIPAssocation:
Type: "AWS::EC2::EIPAssociation"
Properties:
InstanceId: !GetAtt ProxyEnvironment.InstanceId
我的弹性豆茎有一个基本配置。在这里,我想为我的 IP 创建一个环境属性。
ProxyConfiguration:
Type: AWS::ElasticBeanstalk::ConfigurationTemplate
Properties:
ApplicationName: !ImportValue ProxyApplication
OptionSettings:
..
- Namespace: aws:elasticbeanstalk:application:environment
OptionName: NGINX_IP
Value: !Ref ProxyEIP
我的环境使用哪个
ProxyEnvironment:
Type: AWS::ElasticBeanstalk::Environment
Properties:
EnvironmentName: !Sub "Proxy-${Environment}"
ApplicationName: !ImportValue ProxyApplication
TemplateName: !Ref ProxyConfiguration
CNAMEPrefix: !Sub "nginx-${Environment}"
【问题讨论】:
-
你能解释更多你想要做什么的场景吗?您在环境的第一次初始化期间是否需要 InstanceId?或者在您的环境更新期间?有关您的总体目标和要求的更多详细信息将有助于我们尝试和解决。
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-cloudformation