寻找“最佳实践”的答案来pipe理使用Amazon EC2和Amazon Route 53组合的外部可寻址主机, 而无需为每个主机使用弹性IP。 在我的情况下,我将有30多个主机需要从外部EC2访问,所以直接使用内部DNS将无法正常工作。 过去,我通过给主机分配一个弹性IP(比方说55.55.55.55),然后创build一个关联的Alogging来解决主机问题。 例如,假设我想创build“ec2-corp01.mydomain.com”我可能会这样做: ec2-corp01.mydomain.com. A 55.55.55.55 300 然后在EC2实例上,我将分配弹性IP为55.55.55.55,一切工作正常。 当然,要做到这一点,我需要每个实例都有一个弹性IP,这是我想尽可能避免的。 我希望基础设施更具活力。 所以我的想法是尝试像这样: 创build一个查询内部EC2工具的脚本来确定一个实例的私有主机名 在实例引导中,调用该脚本以确定其主机名,然后使用命令行Route 53接口查找该主机名并将其更新为其当前内部主机名 由于主机的TTL相对较低(比如说300或5分钟),它应该很快生效 这是一个好主意吗? 有更好或更广泛接受的方式来处理它吗? 如果这是一个好主意,我应该创build什么types的logging? 指向内部主机的CNAME,例如ec2-55-55-55-55.compute-1.amazonaws.com? Alogging是好还是坏? 谢谢!
在AWS上使用官方Ubuntu 12.04服务器AMI创build新实例时,与我在自己的计算机上执行标准服务器安装相比有什么不同? 例如,默认用户是'ubuntu'。 将SSH公钥添加到该用户authorized_keys文件。 Sudo是该用户的密码。 PasswordAuthentication在SSH中被禁用。 等等 configuration已经从他们的默认值改变了,我想知道是否有一个列表,或者我可以find所做的修改。
我正在Amazon EC2上构build一个具有以下依赖关系链的应用程序(使用Python): gevent-websocket —> gevent —> libevent 最后一个(libevent)在星期天升级了,我的服务器现在产生这个错误: (…) File "/usr/lib/python2.6/site-packages/gevent-0.13.7-py2.6-linux-x86_64.egg/gevent/__init__.py", line 41, in <module> from gevent import core ImportError: libevent-1.4.so.2: cannot open shared object file: No such file or directory 不想花太多时间在这个问题上,我试图通过创build一个符号链接到一个总是最近的版本来缓解它: $ sudo ln -s /usr/lib64/libevent.so /usr/lib64/libevent-1.4.so.2 但是这并不奏效: (…) File "/usr/lib/python2.6/site-packages/gevent-0.13.7-py2.6-linux-x86_64.egg/gevent/__init__.py", line 41, in <module> from gevent import core ImportError: /usr/lib/python2.6/site-packages/gevent-0.13.7-py2.6-linux-x86_64.egg/gevent/core.so: undefined symbol: current_base […]
有谁知道如何通过Amazon SDK将多个弹性IP关联到单个实例? 在Ruby中,我试图使用aws-sdk和雾gem,它们对于单个地址工作正常,但试图分配多个错误。 通过networking用户界面,这将通过添加额外的私人IPS,然后分配公共IP到networking接口+私人IP,但我没有任何私人IP参数在SDK中。
基本上它是什么方式,我怎样才能创build个人每个实例报警内自动扩展组创build一个CloudFormation模板? 我可以在报警中引用ASG本身并创buildASG级警报,但似乎无法将维度指定为“属于此ASG的任何EC2实例”。 这是可能的或者是我唯一的select用户数据脚本?
我想从默认的VPC中的一个EC2实例设置一个VPN,同一个VPC中的其他实例可以使用,所以我正在做一些初始testing。 我有两个testing实例运行,他们可以互相ping通。 当我将一个testing公共IP从一个路由到另一个路由时,数据包确实从发送者实例的eth0出去(如tcpdump所预期的目标MAC地址所示(所以我想我的主机路由设置正确),但是永远不会到达目标实例我已经testing了两种方法,一种是通过172.31.0.1,另一种是直接使用另一个实例的IP作为网关,两台主机( Ubuntu和Amazon Linux都testing过)上的iptables都是空的。作为路由添加到VPC主路由表中,使用testing接收实例作为网关。 我的目标是,我在发送到任何非VPC IP的VPC中启动的实例最终转到运行VPN的实例(仍然未定IPsec或OpenVPN之间)。 我如何通过默认的VPC获取数据包在EC2上 ? 我怀疑还有更多,比我在AWS文档或通过谷歌(也许一些其他的EC2对象…我有所有的概念吗?)find。
我正在使用Logstash S3 Input插件来处理S3访问日志。 访问日志全部存储在一个桶中,其中有成千上万个。 我已经build立了插件,只包含具有特定前缀的S3对象(基于date,如2016-06)。 但是,我可以看到Logstash正在重新查询Bucket中的每个对象,而没有考虑它之前分析过的对象。 {:timestamp=>"2016-06-21T08:50:51.311000+0000", :message=>"S3 input: Found key", :key=>"2016-06-01-15-21-10-178896183CF6CEBB", :level=>:debug, :file=>"logstash/inputs/s3.rb", :line=>"111", :method=>"list_new_files"} 即 每隔一分钟(或者您设置的任何时间间隔),Logstash会从存储桶的开始处开始,并为其find的每个对象进行AWS API调用。 它似乎这样做是为了找出对象的最后修改时间是什么,以便它可以包含相关的文件进行分析。 这显然减慢了一切,并没有给我实时的访问日志分析。 除了不断更新前缀以仅匹配最近的文件,有没有办法使Logstash跳过阅读旧的S3对象? 这个插件有一个sincedb_path参数,但是这似乎只涉及到最后分析哪个文件的数据被写入的地方。
我正在研究一个小型的研究项目,目前在ec2上作为一个实例运行,我希望弄清楚我是否正在走上正确的道路。 我们像其他一千人一样,正在利用一些推特stream媒体饲料来收集一些数据,以获得乐趣,我的分贝似乎有问题保持和查询采取什么似乎是一个很长的时间。 我不是一个交易DBA,所以我只是倾倒一些信息在这里,如果需要添加更多。 系统规格: ec2 xl,15演唱会 ebs:4个100GB驱动器,raid 0。 我们正在看的stream量是每分钟10K左右。 3个主要表格,当前用户正在跟踪26M行附近的用户。 在这个硬件上插入这么多的数据是不是问得出来? 应该看一些像MongoDB一样less开销的东西?
亚马逊有两个工具集,必须用于创buildec2 api工具和ec2 ami工具 ,这两个工具都需要设置EC2_HOME环境variables。 所以看起来我一次只能在一个terminal上使用其中的一个工具集? 如果我不得不使用另一个工具集 – 每次需要工具集时,我都必须导出EC2_HOMEvariables来更正位置 – 这是正确的吗? 如果我想从单个terminal使用这两个工具集,将会做什么。 我知道我可以打开多个terminal,并以这种方式将EC2_HOME设置到不同的位置 – 但是这似乎有点有效。 有任何想法吗?
我发现这个线程 ,似乎表明它是不可能连接到从Windows 7框没有外部硬件(路由器)在客户端的亚马逊VPC VPN。 这是真的,还是我错过了什么? 如果可能的话,有没有说明如何做到这一点?