代码之家  ›  专栏  ›  技术社区  ›  Joshua Foxworth

部署到AWS S3 bucket的节点后端-后端的端点URL是什么

  •  0
  • Joshua Foxworth  · 技术社区  · 3 年前

    我有一个存储在AWS S3存储桶中的react应用程序,它似乎运行良好。 我有一个正在运行的RDS数据库,我有它的终点。 我有一个运行express的节点应用程序,以及从前端接收请求并使用该端点将数据“放置”在RDS数据库中所需的一切。

    我的问题是-当节点应用程序部署到S3 bucket时,我在前端使用什么URL来调用S3 bucket中的节点应用程序后端?

    在我的工作中,我们有一个类似的设置,从前端调用后端(S3 bucket with Node)的终点类似于。。。

    https://xxxxxxxxx.execute-api.us-east-2.amazonaws.com/dev    
    https://xxxxxxxxx.execute-api.us-east-2.amazonaws.com/prod
    

    我不确定我是否需要设置一个api网关或其他东西来方便呼叫的路由?

    0 回复  |  直到 3 年前
        1
  •  0
  •   Adiii    3 年前

    正如评论中提到的,AWS s3仅用于静态内容。因此,您只能在AWS s3上部署静态网站,而不能部署nodejs应用程序,因为它需要将node作为运行时。

    如果您想复制,那么正如前面提到的,它必须在API网关后面。因此,您需要了解潜在的部署资源,这些资源可以是lambda、ecs或ec2。API网关只需将您的流量路由到部署。

    AWS API Gateway

    如果你只是想通过几个步骤运行后端,那么AWS EC2或AWS lightsail是更快的选择。

    Ec2:

    使用EC2,您将需要配置和安装每一项内容,例如nodejs运行时、npm等

    光剑:

    在lightsail中,您只需要选择节点版本即可。 以下是一些可以帮助您使用lightsale部署应用程序的文档,lightsale实例附带nodejs版本,不需要任何安装,您只需要将代码复制到实例中即可启动。

    一旦你能够在ec2或lightsale上部署应用程序,你只需要从lightsale或ec2复制公共IP,并在前端应用程序中使用该IP。

    deploy-nodejs-app-in-aws-lightsail

    amazon-lightsail-quick-start-guide-nodejs

    deploy-node-js-server-on-aws-lightsail

    推荐文章