amazon-web-services - 从控制台从 Elastic Beanstalk 实例之一获取公共(public) DNS

标签 amazon-web-services amazon-ec2 amazon-elastic-beanstalk

我们希望直接连接到我们的 Elastic Beanstalk 实例之一,因此我们需要知道其公共(public) IP 地址

我们通常从 aws.console 网站的 EC2 选项卡获取实例的公共(public) IP。这很麻烦,因为我们需要浏览几个页面......

我们已从其中一台服务器配置了 eb 实用程序,因此我们可以使用 eb list 轮询我们的环境,或使用 eb status< 检查状态.

我们如何使用 eb 实用程序来获取环境实例的公共(public) DNS?

或者还有其他方式获取这些信息吗?

谢谢!

最佳答案

我不是 EB CLI 的用户。不过,您可以使用 awscli 通过 1 个命令来实现您想要的效果。

首先安装并配置awscli:

$ pip install awscli
$ aws configure

ElasticBeanstalk 使用 elasticbeanstalk:environment-name 标签自动标记属于 ElasticBeanstalk 环境一部分的 EC2 实例。使用此信息,您可以过滤掉具有特定 elasticbeanstalk:environment-name 标记值的所有正在运行的实例。

$ aws ec2 描述实例 --filters "Name=tag:elasticbeanstalk:environment-name,Values=your-environment-name"

上面的命令将为您提供相当长的 JSON 输出。您可以简单地在其中找到 "PublicIpAddress",但是您可以使用 jq 等工具过滤此信息。所以最终的命令看起来像:

$ aws ec2 描述实例 --filters "Name=tag:elasticbeanstalk:environment-name,Values=your-environment-name"| jq '. 预订 | .[] | .实例| .[] | .PublicIpAddress'

尝试一下。

以下是有关所使用的 awscli 命令的各种选项的更多信息: aws ec2 describe-instances docs

更新2017-03-12

jq 是不必要的,Linux 命令行工具也是不必要的。 awscli 支持 --query 选项,该选项可用于查询您感兴趣的某些值 JMESPath (JSON query language) 。在这种情况下你会这样做:

$ aws ec2 描述实例 --filters "Name=tag:elasticbeanstalk:environment-name,Values=your-environment-name"--query 'Reservations[].Instances[].PublicIpAddress' --输出文本

上面将打印纯 IP 地址,每行一个。

关于amazon-web-services - 从控制台从 Elastic Beanstalk 实例之一获取公共(public) DNS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40982686/

相关文章:

ruby-on-rails - 如何在单容器 Docker 环境中的 Amazon Elastic Beanstalk 上部署 Rails 应用程序

python - AWSCLI 和 AWSEBCLI 有什么区别?

amazon-web-services - 在 terraform 的另一个模块中使用一个模块局部变量

amazon-web-services - AWS、Packer、Vagrant 和 Chef 它们如何协同工作?

amazon-web-services - 使用 Elasticsearch 地理功能查找最常见的位置?

linux - 无法在 AWS 中进行 SSH

java - AWS EC2 实例 : Launch Multiple Instance

amazon-web-services - ECS任务不断抛出错误 "DockerClientConfigError: unable to get BridgeIP for task in bridge mode"

java - 为什么 SimpUserRegistry 在 EC2 实例上无法正常工作

amazon-web-services - 将 ASP.NET Core 部署到 AWS Elastic Beanstalk,必须包含一个带有 '.runtimeconfig.json' 后缀错误的文件