amazon-web-services - 检索通过 CFT 创建的 EC2 托管 Apache 应用程序的 IP 地址和端口号

标签 amazon-web-services amazon-ec2 aws-cloudformation

我想要检索托管通过我的 CFT 创建的 Apache Solr 应用程序的 EC2 实例的 IP 地址及其运行的端口号。我需要将此信息传递给另一个堆栈。有什么办法可以做到这一点吗?

最佳答案

通常这是通过 CloudFormation 输出完成的: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html

语法如下所示:


    "Outputs" : {
      "Logical ID" : {
        "Description" : "Information about the value",
        "Value" : "Value to return",
        "Export" : {
          "Name" : "Value to export"
        }
      }
    }

或者举个例子: 这里我们定义一个简单的EC2实例

    "Server" : {
        "Type" : "AWS::EC2::Instance",
        "Properties" : {
        }
    }

在这个语句中,我们公开了实例的公共(public) ip 属性。


    "Outputs" : {
        "PublicIp" : {
          "Value" : { "Fn::GetAtt" : [ "Server", "PublicIp" ]},
          "Description" : "Server's PublicIp Address"
        }
    }

(从本期获得的示例:AWS CloudFormation: How to output a machine's PublicIP? 信用应归于:Matt Houser)

默认情况下,Solr 在端口:8983 上运行,因此除非情况并非如此,否则可能可以使用它。

在这种情况下,您的输出可能如下所示:


    "Outputs" : {
        "PublicIp" : {
          "Value" : { "Fn::GetAtt" : [ "Server", "PublicIp" ]},
          "Description" : "Server's PublicIp Address"
        },
        "SolrPort" : {
          "Value" : "8983",
          "Description" : "Port that Solr is running on."
        }
    }

关于amazon-web-services - 检索通过 CFT 创建的 EC2 托管 Apache 应用程序的 IP 地址和端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58728707/

相关文章:

amazon-ec2 - 如何 'warm up' EC2/EBS存储?

aws-cloudformation - 将现有 DynamoDB 数据源与 Amplify 和 AppSync 结合使用

elasticsearch - 用于配置 Elasticsearch 的 AWS Cloudformation 模板

amazon-web-services - 仅针对特定分区键读取 Kinesis Stream 上的数据记录

amazon-web-services - 在单个指定的 future 时间仅调用 AWS Lambda 函数一次

node.js - Amazon Redshift Node 并行请求比顺序请求花费的时间更长

amazon-web-services - 使用 CloudFormation 从 WAFv2 创建 WebACL

amazon-web-services - 云信息 : How to pass a string through cloudformation script into UserData?

amazon-ec2 - 在 boto 中使用新的 LaunchConfiguration 更新 AutoScalingGroup

linux - 无法通过 Composer 安装 Laravel 5.1,但可以在 5.2 上运行