用于 PHP 托管的 AWS CloudFront

AWS CloudFront for PHP hosting

我是 AWS 的新手,在理解 CloudFront 时遇到了一些困难。 我已经从一个带有 NGINX、MySQL 和 public 文件夹中的一些 PHP 文件的 EC2 实例开始,以向世界公开 API。 然后我被告知 CloudFront 可用于保护实例免受恶意攻击。 我认为 CloudFront 需要 Elastic Load Balancer。 所以我创建了一个 ELB,一个 EC2 实例(总共两个 EC2 实例),创建了一个将这两个 EC2 实例分组的“目标组”。 我还创建了一个 S3 存储桶,这似乎是 CloudFront 所必需的,尽管我认为我不需要一个,因为我的应用程序没有任何静态内容。 现在通过互联网搜索,一般的想法似乎是 PHP 文件应该存在于 EC2 实例的 EBS 而不是 CloudFront S3 存储桶中,因为需要执行 PHP 文件。 (并且S3不能执行任何文件)

我的理解正确吗?

I figured CloudFront required an Elastic Load Balancer.

ELB 不是使用 CF 所必需的,但它简化了一些事情,例如在 CF 和您的服务器之间使用 HTTPS。

do I need to deploy my PHP files to both EC2 instances?

是的,但这不是“手动”完成的。相反,它通常是通过使用用户数据(或自定义 AMI)和自动缩放组来完成的。所以你必须阅读这些主题如何去做。

EC2 instance holds its own MySQL database in its own EBS storage.

您的数据库应该在您的网络服务器之外。如果您想自行托管它,那么它将是专用实例。如果您想使用托管解决方案,则可以将 MySQL 迁移到 RDS MySQL.

How does the end to end request flow look like?

如您所述。