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

ks7*_*s78 5 linux security ssh networking 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会更好地发布这个问题吗?

Eig*_*uru 3

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

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

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