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

ks7*_*s78 43 networking security linux ssh amazon-ec2

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

  • 网络服务器——Apache
  • 数据库服务器——MySQL
  • 开发服务器——Apache & MySQL
  • 文件服务器-- SVN & Bacula(备份到 S3 存储桶)

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

我的第一个问题是,Amazon EC2 实例之间最好、最安全的通信方式是什么?目前我正在使用 SSH,这是最好的方法吗?

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

所以这是我的第二个问题,如果 Amazon 实例的私有 IP 不是静态的,您如何利用它们?

我知道这些实例可能不会非常频繁地停止和启动,但是,如果 IP 地址在各种配置文件中,那么必须遍历它们并更改它会很痛苦。

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

注意: 我以前从未使用过 Bacula 并且我还没有设置它,但我假设它需要客户端的 IP 地址来备份它们。

小智 30

查看 Eric Hammond 的文章,该文章解释了如何甚至在 EC2 中使用弹性 IP 地址。此方法不会产生任何带宽费用,因为从 EC2 内解析弹性 IP 地址(按名称)会返回私有 IP 地址。

http://alestic.com/2009/06/ec2-elastic-ip-internal

对于更多选择,我有一篇文章研究了一些替代方案:

http://shlomoswidler.com/2010/06/track-changes-to-your-dynamic-cloud-services-automatically.html


小智 6

将您的 EC2 实例部署到 AWS Virtual Private Cloud (VPC)。当您配置 VPC 时,您将为 VPC 中的所有 EC2 实例分配 CIDR,并且内部 IP 将是静态的。