AWS ECS架构

2024-04-25

我有一个 React 前端和 Flask 后端,我想用 ECS 部署它们。我想让反应应用程序面向公众,并将烧瓶服务器隐藏起来,无法从外界访问。

根据我的阅读,该方法应该如下:

  1. 为 Flask 服务器创建公共子网和私有子网,并在公共子网上创建 NAT 网关。
  2. 在公共子节点中部署 React 应用程序,在私有子节点上部署服务器。

现在这是我感到困惑的地方:

  1. 如何向外界公开反应应用程序?我应该使用 Internet 网关还是 ELB/ALB?有什么区别?
  2. 当服务器只有私有IP时,如何让React应用程序与服务器通信?服务发现?如果是这样,我应该如何使用 docker 将服务器的服务名称注入到 React 应用程序中?

  1. 如何向外界公开反应应用程序?我应该使用 Internet 网关还是 ELB/ALB?有什么区别?

如果反应前端是静态网站,那么最好使用S3 + 云前用于托管它。但如果您想使用 ECS,那么通常是使用面向互联网的负载均衡器。

ELB is 第一代负载均衡器。现在你应该将 ALB 与 is 一起使用第二代平衡器比 ELB 提供更多功能,例如从 http 重定向到 https。

Internet 网关适用于您的 VPC,仅当您使用自定义目标 VPC 时才需要它。如果你使用默认专有网络,那么你就不用担心了。

  1. 当服务器只有私有IP时,如何让React应用程序与服务器通信?服务发现?如果是这样,我应该如何使用 docker 将服务器的服务名称注入到 React 应用程序中?

您不能使用私有 IP 也不能使用服务发现。您的前端将在您的客户端浏览器中执行,因此它必须使用互联网与您的后端交谈。这意味着您需要使用公共 IP(而不是私有 IP)公开 Flask API。

这也可以使用公共 ALB 来完成。你可以使用same ALB至于前端。所以你会有以下设置:

                                   |---> Target Group 1 ---> ECS Services for React frontend (private subnet)
Client ---> ALB (public subnet) ---|
                                   |---> Target Group 2 ---> ECS Service for Flask (private subnet)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS ECS架构 的相关文章

随机推荐

  • 使 viewcode 显示模块源

    我正在尝试使用 Sphinx 用一些 Python 片段制作一本食谱 每个片段都是一个独立的 Python 脚本 并且有一个教程类型的文档 我希望在生成的文档中有一个源链接来显示脚本内容 但viewcode https www sphinx
  • 原则 2 - ManyToMany + IN 子句

    我有这个模型 Entity Table name articles class Article Id GeneratedValue Column type integer protected id Column type string le
  • 平假名到汉字转换器

    你知道 C 中是否有一个库或字典可以帮助我将平假名翻译成汉字吗 我知道 Windows 有 IME 但我想完全自定义给定平假名的汉字候选列表的设计 但使用此 IME 是不可能的 示例 用户写 toru 首先将其翻译为平假名 我想要这个选择列
  • 有脚本模拟控件、按键序列吗?

    我搜索并发现我可以使用 jQuery 模拟按键事件 但我对 jQuery 的了解很差 而且我不知道具体是如何实现的 So I have a Greasemonkey script which manages 2 different webp
  • 在 Access 2007 中使隐藏的窗体再次可见

    如果使用 acHidden 打开表单 是否可以使用 VBA 使其再次可见 我已经四处搜索 但只能找到有关如何首先打开隐藏表单的信息 我知道该怎么做 您可以设置可见属性 Forms MyForm Visible True
  • 如何仅通过鼠标使用 javafx 在表格视图中选择多个单元格?

    我有一个在 javafx 中带有表格视图的应用程序 我想仅通过鼠标选择多个单元格 类似于 Excel 中存在的选择 我尝试过 但我不能做某事 这个问题的正确答案在这里https community oracle com thread 262
  • ASP.Net Identity 2,双因素安全代码时间跨度

    我们通过电子邮件将 2FA 与 ASP Net Identity 2 结合使用 这在大多数情况下工作正常 但在某些情况下 安全代码发送到用户电子邮件时会出现延迟 安全代码的 6 分钟窗口就会变得太短 有没有办法调整 2FA 代码的时间窗口
  • 错误“标记不是预处理器子表达式中的有效二元运算符”

    如果我构建并运行一个项目 基本上是由 Mac OS 10 6 上的 Qt 框架生成的存根 我会得到以下错误输出 Users home Qt5 0 1 5 0 1 clang 64 include QtCore qisenum h 53 Er
  • Ghostscript 9.07:PDF/X-1a:2001:缺少 PDF/X 输出意图

    您能告诉我如何嵌入 PDF X 输出意图吗 当我检查预检时 我报告 PDF X 1a 2001 PDF 文件中缺少 PDF X 输出意图 PDF 文件中遇到的问题 1 PDF X 1a 2001 PDF X version is not P
  • VS2017 构建失败 - DOCKER_REGISTRY

    我正在开始使用 Docker 并熟悉 NET Core 和 Visual Studio 2017 我创建了一个名为 WebApplicationCore21 的新 Web 应用程序 Razor Pages 并启用了 Docker 支持 并立
  • 复制延迟 - 超过 max_slot_wal_keep_size,WAL 段未删除

    Summary 我们正在使用max slot wal keep size来自 PostgreSQL https www postgresql org docs current runtime config replication html1
  • Ember.js - 根据对象属性更新 CSS 宽度

    正如中提到的 安多罗夫的回答 https stackoverflow com a 32593118 565877 OP的理想代码 div style width 1 现在从 Ember 1 10 开始几乎可以正常工作 我是 Ember js
  • 在项目之间共享 ASP.NET MVC 部分视图

    在应用程序之间共享公共部分视图的最佳方式是什么 我创建了一个单独的程序集 其中包含 ascx 文件中的部分视图 一些与该视图配合使用的脚本以及一个 HtmlHelper 扩展方法 以便更轻松地创建部分视图 但是 当从 ASP NET MVC
  • TensorFlow 数据集的函数 cache() 和 prefetch() 有何作用?

    我正在关注 TensorFlow图像分割 https www tensorflow org tutorials images segmentation教程 其中有以下几行 train dataset train cache shuffle
  • Django REST Framework 分页链接不使用 HTTPS

    我正在为某个运行良好的 DRF 端点设置分页 但是 当部署在使用 HTTPS 的服务器上时 下一页和上一页的链接是通过http 代替https 这会导致浏览器阻止对下一页 上一页的请求 我已经仔细检查了初始请求是否已通过 HTTPS 发出
  • Android Studio 中的“应用更改”按钮被禁用(灰色)

    我已将项目的 minSdkVersion 设置为 19 并启用 Instant Run 我已在运行 API 21 的设备中部署了该应用程序 但 应用更改 按钮呈灰色 当我将鼠标悬停在该按钮上时 它显示 No Active App launc
  • 如何禁用 django 中应用程序的一种模型的迁移

    我有一个使用 2 个数据库的应用程序 1 个是默认数据库 另一个是自定义数据库 所以我的模型中有两个使用默认数据库 其他模型使用自定义数据库 我不想在运行 make migrations 命令时迁移自定义数据库模型 请帮忙 您可以通过设置选
  • 使用 NAN 替换强制转换非数字 numpy 数组

    考虑数组 x np array 1 2 a 绑定转换为浮点数组会引发异常 x astype np float ValueError could not convert string to float a numpy 是否提供任何有效的方法将
  • scala案例类问题

    我有两个关于 案例类的问题 可以用作 case head tail gt 它是如何工作的 意思是 Scala 用于将 List 实例与 case 类进行匹配的流程到底是什么 鉴于我有一个类 MyClass 带有运算符 op 我可以创建一个名
  • AWS ECS架构

    我有一个 React 前端和 Flask 后端 我想用 ECS 部署它们 我想让反应应用程序面向公众 并将烧瓶服务器隐藏起来 无法从外界访问 根据我的阅读 该方法应该如下 为 Flask 服务器创建公共子网和私有子网 并在公共子网上创建 N