从 Amazon EC2/RDS/S3 快速安全地下载?

从 Amazon EC2/RDS/S3 快速安全地下载?

我正在从我的 AWS 设置中定期下载 gzip 压缩的数据库转储(大约 150MB)。

虽然正常的 http/https 下载速度(通过 Apache 文件服务)是 >>300kb/秒,但当我使用 scp 下载转储时,我只能获得大约 30-50kb/秒的速度。

这么慢的原因是什么?

我如何才能更快速、更安全地下载数据库转储文件?

谢谢!

答案1

我遇到过类似的问题,最后发现是因为我的 ISP 限制(或以其他方式干扰)非标准端口上的流量。他们显然认为任何不在端口 25/80/443 等上的流量都是文件共享,因此故意降低其速度。

我建议您尝试切换 ISP,或者首先您也可以尝试配置 sshd 来监听端口 443(假设您该机器上没有带有 SSL 的 Web 服务器)并尝试这种方式。

答案2

尝试将cipher_specscp 会话的 更改为-c blowfish-cbc(或 中的密码.ssh/config file)。这将稍微减轻加密负载。

在我的本地局域网上,我看到速度从~28MB/s 增加到~35MB/s。

答案3

为什么不在本地使用 gpg 来加密转储呢?然后,您可以通过 HTTP 或 FTP 传输它们,或将它们发布到 usenet 上,或者做您想做的事情,而不会危及您的安全(好吧,您可能不应该将它们发布到 alt.binaries)。

我对 colo'ed box 的备份也这样做,然后可以放心地将它们存储在 colo 的在线存储中,而不会危及我自己。我的 colo'ed box 也不需要我的私钥 - 只需要公钥即可加密。如果有需要,我会在家里解密。

如果您这样做,请不要忘记关闭 gpg 的 ASCII 装甲,否则您的备份文件将比应有的大小大 30%。

答案4

既然您已经在运行 apache,为什么不创建一个单独的 VirtualHost、一个自签名证书并向数据库转储所在的目录添加基本身份验证呢?这应该允许您更快地安全地下载数据库转储文件。这可能是一种解决方法,但它应该可以实现目标。两个有用的链接是:

http://www.akadia.com/services/ssh_test_certificate.html

http://httpd.apache.org/docs/2.2/howto/auth.html

相关内容