我计划首次将Web应用程序移至AWS。它包含(本地):
假设我的应用程序需要更多资源,我有两点需要考虑:
1 - 使用包含所有软件的AMI启动新实例。在这种情况下,实例的资源在所有软件之间共享。
2-创建'并使用多个AMI,每个AMI包含一个软件。在这种情况下,在组中启动新实例将仅为一个软件添加资源。
最常用和最方便的方法是什么?第二种方法是否需要更多工具/软件来实施?
非常感谢您的平常帮助。
答案 0 :(得分:1)
您需要确定堆栈的哪些部分是公开的,哪些只是内部的。您可能不希望向公众公开您的ES群集或数据库。
然后为堆栈的每个部分确定适当的技术。
对于数据库,RDS是一个明智的选择。
对于搜索,请确定您是否要自己管理群集,或者AWS Managed Elasticsearch是否会这样做。
对于Web和websockets,均由Application Load Balancer支持。我会有单独的目标组,每个组都有单独的自动缩放组。使用负载均衡器(仅与单个实例相比)的另一个原因是能够利用AWS证书管理器来配置和部署证书,以便为您的站点启用TLS。
然后,您只需要决定是否要为前端使用基于路径的路由或基于主机的路由。
因此,每个层级都拥有自己的AMI(如果您正在进行部署),并且可以独立监控和扩展。