在一个 EC2 实例上运行 Apache 并在另一个实例上运行 MySQL 可以吗?

在一个 EC2 实例上运行 Apache 并在另一个实例上运行 MySQL 可以吗?

我目前正在运行一个使用 ~1.5GB 内存的 VPS。我正在考虑切换到 Amazon EC2,因为我们的主机访问速度很慢,停机时间很多,等等。

EC2 小型实例有 1.7GB,因此我假设如果要迁移,我将需要多个实例。想法是在一个实例上运行 Apache,在另一个实例上运行 MySQL,然后根据任一实例上的 RAM 使用情况确定在哪里运行其余进程(Mono、Red5 等)。

我并不是一名真正的服务器专业人士,所以我不知道这是否有意义,或者我是否遗漏了什么。如果 Apache(Wordpress 等)必须访问另一个 EC2 实例上的数据库,是否会对性能造成很大影响?还有什么其他因素可能会让这成为一个坏主意?

答案1

简而言之:是的,这非常有意义。

为不同的服务配备专用服务器非常有意义。这在为不同的服务器配备单独的硬件的情况下更为常见,但在 VPS 的情况下也是有意义的;例如,不同的文件系统为不同的应用程序提供不同的好处,不同的安装选项可以帮助/阻碍不同的访问模式,以及其他与软件相关的调整。您还可以在服务之间设置硬屏障,例如,Apache/PHP 不会耗尽所有 CPU 并杀死可能正在使用 MySQL 的其他服务。

就 MySQL 而言,亚马逊提供RDS 实例它们是专用的 MySQL 实例。这提供了一个预先配置和预先调整以运行 MySQL 的远程实例,可以很好地完成您所查看的操作。RDS 的缺点是您无法在数据库服务器上安装其他应用程序,因为我认为您无法获得与 EC2 实例相同的访问权限。这意味着您可能需要三个实例,或者第一个实例更大,具体取决于您还想在其上运行什么。您可能想要了解的另一项服务是 Amazon 的 VPC。

相关内容