首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AWS静态ip地址

AWS静态ip地址
EN

Stack Overflow用户
提问于 2018-05-25 18:07:04
回答 4查看 702关注 0票数 1

我使用AWS代码部署代理,并通过bitbucket插件将我的项目部署到服务器。

代码部署代理首先执行脚本文件,该脚本文件包含执行我的spring-boot项目的命令。

因为我有两个环境,一个是开发环境,另一个是生产环境。我想让脚本根据环境做不同的事情,即两个不同的实例。

我的计划是获取映射的aws静态ip地址,并从中确定环境(生产或阶段)。

如何通过sh命令拉取弹性ip地址。

编辑过的

EN

回答 4

Stack Overflow用户

发布于 2018-06-09 07:15:58

静态IP将起作用。

这里有一种更自然的CodeDeploy方法来解决这个问题--设置2个CodeDeploy部署组,一个用于开发环境,另一个用于生产环境。然后,您可以在脚本中使用CodeDeploy将在部署期间设置的环境变量,以了解要部署到哪个环境。

这是一篇关于如何使用CodeDeploy环境变量的博客文章:https://aws.amazon.com/blogs/devops/using-codedeploy-environment-variables/

票数 2
EN

Stack Overflow用户

发布于 2018-05-25 21:31:25

您可以执行以下操作:

代码语言:javascript
复制
id=$( curl http://169.254.169.254/latest/meta-data/instance-id )
eip=$( aws ec2 describe-addresses --filter Name=instance-id,Values=${id} | aws ec2 describe-addresses | jq .Addresses[].PublicIp --raw-output )

上面的代码从元数据中获取instance-id,然后使用该aws cli从元数据中查找按id过滤的弹性IP。使用jq,可以将此输出解析为您要查找的IP。

票数 1
EN

Stack Overflow用户

发布于 2018-05-25 21:37:30

查询元数据服务器

代码语言:javascript
复制
eip=`curl -s 169.254.169.254/latest/meta-data/public-ipv4`
echo $eip
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50526674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档