AWS:动态分配&将新IP地址关联到EC2实例?

时间:2014-04-08 16:23:40

标签: amazon-web-services amazon-ec2 cloud-hosting dynamic-ip

我正在AWS托管服务器上运行一些Web抓取作业。抓取工具从电子商务网站上抓取数据,但最近抓取工具从网站上获取“超时错误”。该网站可能会根据我的IP地址限制我的访问频率。分配新的弹性IP地址可以解决问题,但不能长久。

我的问题:我是否可以使用任何服务来自动和动态地分配&将新IP与我的实例相关联?谢谢!

2 个答案:

答案 0 :(得分:6)

要更改EIP,您只需使用Python boto

即可

这样的事情:

#!/usr/bin/python

import boto.ec2

conn = boto.ec2.connect_to_region("us-east-1",
    aws_access_key_id='<key>',
    aws_secret_access_key='<secret>')


reservations = ec2_conn.get_all_instances(filters={'instance-id' : 'i-xxxxxxxx'})
instance = reservations[0].instances[0]

old_address = instance.ip_address
new_address = conn.allocate_address().public_ip

conn.disassociate_address(old_address)
conn.associate_address('i-xxxxxxxx', new_address)

答案 1 :(得分:0)

如果你想使用TOR网络,只需执行:

sudo apt-get install tor 
sudo /etc/init.d/tor start

 netstat -ant | grep 9050 #  Tor port

并在您的java项目中将代理设置为:

public static void main(String[] args) {
    System.setProperty("socksProxyHost", "127.0.0.1");
    System.setProperty("socksProxyPort", "9050");

您可以安排一个cron作业,每个XX时间重新启动您的应用程序和。

简单安全。