【问题标题】:obtain public DNS from one of the Elastic Beanstalk instances from the console从控制台从 Elastic Beanstalk 实例之一获取公共 DNS
【发布时间】:2017-04-20 08:15:06
【问题描述】:

我们喜欢直接连接到我们的 Elastic Beanstalk 实例之一,因此我们需要知道它的public IP address

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

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

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

或者有没有其他方法可以获取这些信息?

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

    首先安装配置awscli

    $ pip install awscli
    $ aws configure
    

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

    $ aws ec2 describe-instances --filters "Name=tag:elasticbeanstalk:environment-name,Values=your-environment-name"

    上面的命令会给你一个很长的 JSON 输出。您可以简单地在其中找到"PublicIpAddress",但是您可以使用jq 之类的工具过滤此信息。所以最终命令看起来像:

    $ aws ec2 describe-instances --filters "Name=tag:elasticbeanstalk:environment-name,Values=your-environment-name" | jq '.Reservations | .[] | .Instances | .[] | .PublicIpAddress'

    试试看。

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

    2017 年 3 月 12 日更新

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

    $ aws ec2 describe-instances --filters "Name=tag:elasticbeanstalk:environment-name,Values=your-environment-name" --query 'Reservations[].Instances[].PublicIpAddress' --output text

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

    【讨论】:

    • Ubuntu 要求我安装 jqutility。但是,我发布了一个不需要这个的对我的困境的答案。我给你一个赞成票,因为 describe-instances 是要走的路,虽然我使用了 ec2-describe-instances 这可能是一个过时的 API...
    • 你也可以只使用 grep/awk/perl 而不是使用 jq :) 与标准工具包相比,它是一个使用 JSON 的非常方便的工具。
    • @arod 查看更新后的答案以获得非常简洁的语法,无需外部工具。
    【解决方案2】:

    这是一种快速而肮脏的方式:

    ec2-describe-instances $(eb status -v | grep InService | cut -d":" -f1 | awk '{print $1}') | grep 实例 | awk '{print $4}'

    【讨论】:

      猜你喜欢
      • 2012-03-03
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      • 2013-05-02
      • 2016-02-15
      • 2014-05-17
      • 2015-11-07
      • 1970-01-01
      相关资源
      最近更新 更多