首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于通过公共dns连接到亚马逊ec2实例的脚本

用于通过公共dns连接到亚马逊ec2实例的脚本
EN

Stack Overflow用户
提问于 2015-10-12 03:26:50
回答 1查看 46关注 0票数 1

我需要编写一个可以通过公共域名启动aws实例的脚本,我可以通过使用带有我的实例名称的筛选器来启动该实例,但如果我尝试使用{tag:'Public DNS':my_publicdns}进行筛选,则会收到错误。是否可以通过公共dns进行过滤?

代码语言:javascript
复制
my_publicdns = 'ec2-1-2-3-4.eu-west-1.compute.amazonaws.com' 
myinstance = 'GA_brian_burroughs'

 def start_instance():

          try:
            inst = conn.get_all_instances(filters={'tag:Name': myinstance})[0].instances[0]
          except Exception:
            print('Error:', myinstance, 'not found!')

          if not inst.state == 'running':
            print('Starting', myinstance)
            inst.start()
          else:
            print(myinstance, 'already running or starting up!')
EN

回答 1

Stack Overflow用户

发布于 2015-10-12 03:31:14

你不能这样做。

EC2实例在启动后才会分配公共DNS地址。IPv4地址是一种稀缺商品,因此亚马逊网络服务不会永久分配它们。如果您停止并启动一个实例,您很可能会得到一个不同的IPv4地址。由于AWS public DNS名称基于IPv4地址,因此实例在停止和启动时不一定保留相同的public DNS名称。

我建议改为为您的实例分配一个有意义的标记,使您能够通过使用公共DNS名称在功能上完成您正在尝试完成的任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33069200

复制
相关文章

相似问题

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