如何在 cloudfront、aws 路由 S3、EC2
how to route S3, EC2 at cloudfront, aws
我的 S3(前端代码)和 EC2(后端代码)都链接到 'example.com'
我在这里喜欢做的是引导用户查看存储在 S3 中的页面,除非他们在浏览器上输入“example.com/api/”。
换句话说,'example.com/api/' 用于服务器访问,其他路由用于 React 应用程序访问。
我应该在 AWS 中使用哪种服务? CloudFront、Route53、负载均衡。我感到很困惑。谢谢。
您可以使用 Route53 创建一个子域,比如 api.example.com,这里有一个 https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/
的文档
要为新创建的子域路由流量,请阅读此文档https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-routing-traffic-for-subdomains.html
TLDR; 为您的域创建单个 CloudFront 分配,为您需要支持的每个路径使用单独的缓存行为。您可以轻松添加其他应用程序、控制缓存或编写边缘函数(使用 Lambda@Edge 或 CloudFront Functions)以进行您可能需要的任何进一步自定义。
详细信息:CloudFront 允许您配置多个来源(例如 S3、EC2、API 网关、ELB、自定义 URL 等),然后创建缓存将流量引导至适当来源的行为(路由)。
在您的情况下,您将创建 /api/*
的缓存行为以指向您的 EC2 来源,并且默认缓存行为(将其视为您的后备路由)将指向所有的 S3 来源不以 /api/
开头的请求
我的 S3(前端代码)和 EC2(后端代码)都链接到 'example.com' 我在这里喜欢做的是引导用户查看存储在 S3 中的页面,除非他们在浏览器上输入“example.com/api/”。 换句话说,'example.com/api/' 用于服务器访问,其他路由用于 React 应用程序访问。
我应该在 AWS 中使用哪种服务? CloudFront、Route53、负载均衡。我感到很困惑。谢谢。
您可以使用 Route53 创建一个子域,比如 api.example.com,这里有一个 https://aws.amazon.com/premiumsupport/knowledge-center/create-subdomain-route-53/
的文档要为新创建的子域路由流量,请阅读此文档https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-routing-traffic-for-subdomains.html
TLDR; 为您的域创建单个 CloudFront 分配,为您需要支持的每个路径使用单独的缓存行为。您可以轻松添加其他应用程序、控制缓存或编写边缘函数(使用 Lambda@Edge 或 CloudFront Functions)以进行您可能需要的任何进一步自定义。
详细信息:CloudFront 允许您配置多个来源(例如 S3、EC2、API 网关、ELB、自定义 URL 等),然后创建缓存将流量引导至适当来源的行为(路由)。
在您的情况下,您将创建 /api/*
的缓存行为以指向您的 EC2 来源,并且默认缓存行为(将其视为您的后备路由)将指向所有的 S3 来源不以 /api/