Mau*_*ord 25 amazon-ec2 amazon-web-services
Amazon仅为您提供一定数量的静态IP地址,并且每台EC2实例的本地(私有)ips可在计算机重新启动时更改.这使得创建一个稳定的平台,据我所知,EC2实例依赖于彼此非常难以使用.
我在网上搜索了很多关于各种解决方案的内容,到目前为止,除了在EC2上分配弹性IP地址之外没有任何合理的解决方案,即使它不是公开的.有没有人有任何其他好的想法,实际上很容易执行?
谢谢!
请参阅AWS团队对问题静态本地IP的回复:
EC2实例的内部IP地址通过DHCP分配.在实例关闭时,或者当DHCP租约到期时,IP地址将返回到可用于其他实例的常规EC2 DHCP地址池.
无法保证在重新启动后获得相同的DHCP地址.
编辑:答案是使用亚马逊VPC.除了一小部分额外的设置之外没有任何缺点,因为现在你控制了路由器.这是一个与AWS上普通的旧EC2实例不同的世界.事实上,默认情况下,VPC将为所有未来的AWS设置启用.有关更多信息,请参阅此帖子:http://www.reddit.com/r/aws/comments/1a3n0r/ec2_update_virtual_private_clouds_for_everyone/
Mau*_*ord 13
我偶然发现了第三种选择.Instragram人员有ec2-ssh.它是一个全局安装的python shell脚本,允许您通过标记名称以及sshvia标记名称查询ec2实例的公共dns .
它的文档几乎不存在.我已经写下了以下安装步骤:
要安装ec2-ssh:
sudo yum install python-boto (ec2 api的python包装器)在您的〜/ .bash_profile中设置您的AWS访问密钥和秘密,如下所示:
export AWS_ACCESS_KEY_ID = XYZ123
export AWS_SECRET_ACCESS_KEY = XYZ123
cd进入binrepo 的文件夹,会有两个文件:
ec2-host 和 ec2-ssh
将它们复制到您的/usr/bin或/usr/local/bin.
现在你可以做一些很棒的东西,比如:
$ ec2-host ZenWorker
ec2-999-xy-999-99.compute-1.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
和
$ ec2-ssh ZenWorker
Connecting to ec2-999-xy-999-99.compute-1.amazonaws.com.
Run Code Online (Sandbox Code Playgroud)
请注意,在常规shell脚本中,您可以使用反引号来调用这些全局工具.我已经对这些调用进行了定时,并且使用EC2实例需要0.25到0.5秒,所以这确实是唯一的缺点.也许您可以忍受延迟,或者使用公共DNS仅在重新启动时更改实例以解决问题的事实.
请注意,这两个程序是命令行脚本,您不需要任何Python知识即可使用它们.对于PHP粉丝,或那些想要在scp不知道更改公共DNS的情况下轻松访问文件的人,您可以签出ec2dns.
| 归档时间: |
|
| 查看次数: |
25879 次 |
| 最近记录: |