Amazon ec2 用于通过公共dns连接到amazon ec2实例的脚本

Amazon ec2 用于通过公共dns连接到amazon ec2实例的脚本,amazon-ec2,dns,Amazon Ec2,Dns,我需要写一个脚本,可以通过它的公共dns启动aws实例, 我可以通过使用带有我的实例名的过滤器来启动实例,但是如果我尝试使用{tag:'Public DNS':my_publicdns}进行过滤,我会得到一个错误。甚至可以通过公共dns进行过滤吗 my_publicdns = 'ec2-1-2-3-4.eu-west-1.compute.amazonaws.com' myinstance = 'GA_brian_burroughs' def start_instance():

我需要写一个脚本,可以通过它的公共dns启动aws实例, 我可以通过使用带有我的实例名的过滤器来启动实例,但是如果我尝试使用{tag:'Public DNS':my_publicdns}进行过滤,我会得到一个错误。甚至可以通过公共dns进行过滤吗

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!')
你不能这样做

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

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

您不能这样做

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


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

它是否具有弹性IP地址,或者在启动实例时仅分配了一个IP地址?它是否具有弹性IP地址,或者只是在实例启动时分配的IP地址?谢谢我完成了,我不需要通过其dns启动它,只需通过其dns连接到它,这样我就可以自动安装nginx web服务器,分配规范现在完成了,只需做一些额外的工作,以获得一些额外的标记,如监视cpu统计数据,并在读数高于某个阈值时创建新实例。我是python新手,有没有一个监控类或一些导入可以用来做这件事?谢谢我完成了,我不需要通过它的dns启动它,只需要通过它的dns连接到它,这样我就可以自动安装一个nginx web服务器,分配规范现在完成了,只需要做一些额外的事情来获得一些额外的标记,如监视cpu统计数据,并在读数高于某个阈值时创建新实例。我是python新手,有没有一个监控类或一些导入可以用来实现这一点?