Amazon EC2实例之间的通信最佳实践是什么?

时间:2011-01-27 15:47:10

标签: linux security networking ssh amazon-ec2

我一直在为即将开展的项目设置Amazon EC2实例。它们都是微实例,运行Ubuntu Server 64bit。这是我到目前为止设置的内容:

  • Web服务器 - Apache
  • 数据库服务器 - MySQL
  • 开发服务器 - Apache& MySQL的
  • 文件服务器 - SVN& Bacula(备份完成S3存储桶)

目前,只有一个Web服务器,但最终会有更多。

  

我的第一个问题是,是什么   Amazon EC2的最佳,最安全的方式   每个之间进行通信的实例   其他?目前我正在使用SSH,是   那个最好的方法?

据亚马逊称,使用弹性IP地址进行通信的实例将收取数据传输费用。但是,使用其私有IP地址进行通信的实例可以免费进行。不幸的是,如果实例停止并重新启动,则显示私有IP会发生变化。

  

这是我的第二个问题,怎么做   你利用亚马逊实例'   私有IP,如果它们不是静态的?

我知道实例可能不会经常停止和启动,但是,如果IP地址在各种配置文件中,那么必须仔细检查它们并进行更改将是一件痛苦的事。

我主要关心的是Web服务器,它需要访问数据库服务器和文件服务器,在执行备份时需要访问所有实例。

注意:我之前从未使用过Bacula,但我还没有设置它,但我认为它需要客户端的IP地址来支持它们。

ServerFault会更好地发布这个问题吗?

1 个答案:

答案 0 :(得分:3)

这可能更像是一个ServerFault主题,但无论如何我都会回答它。

克服内部IP地址动态的最简单方法是在群集中运行私有DNS服务器。我的产品使用Windows VM,因此我们设置了AD对以提供DNS服务(以及顺便提一下,集中式VM登录身份验证)。由于每台计算机都是域的成员,并且它的DNS指针设置为每个AD单元(主要和备份),因此动态内部IP会随着DNS服务的变化自动注册 - 因此,而不是引用其他虚拟机通过其公共IP(例如79.125.xx)导致数据传输成本,或者通过内部IP(例如10.44.xx)在重启时可以更改,它们使用持久的DNS名称(例如mydomain.dbserver01)。 p>

我们使用加密通信进行内部和外部数据交换 - 请记住,根据定义,云虚拟机本质上不如公司防火墙内的任何内容安全,因此您应该在其安全配置上投入更多资金。我们的政策是应该配置云虚拟机,使其比我们内部网中的等效虚拟机更多安全。