【问题标题】:AWS - What are the exact differences between EC2, Beanstalk and LightSail?AWS - EC2、Beanstalk 和 LightSail 之间的确切区别是什么?
【发布时间】:2019-07-25 15:18:05
【问题描述】:

AWS 中的 EC2、Beanstalk 和 LightSail 之间的确切区别是什么?

我应该在哪些实时场景中使用这些服务?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 cloud amazon-elastic-beanstalk amazon-lightsail


    【解决方案1】:

    它们都基于 EC2,AWS 的计算服务允许您创建 EC2 实例(云中的虚拟机)。

    Lightsail 的打包方式与虚拟专用服务器类似,因此任何人都可以轻松地从自己的服务器入手。它有一个简化的管理控制台,许多选项都使用默认值进行了调整,以最大限度地提高可用性和安全性。

    Elastic Beanstalk 是一项面向应用程序开发人员的服务,可自动配置 EC2 实例和负载均衡器。它创建 EC2 实例,在这些机器上安装执行环境,并为您部署应用程序(Elastic Beanstalk 支持 Java、Node、Python、Docker 等)

    在幕后,Elastic Beanstalk 创建您将在 AWS 控制台中看到的常规 EC2 实例。

    而 EC2 是允许另一个成为可能的裸服务。如果您选择创建 EC2 实例,则必须自行选择操作系统、管理 ssh 密钥、安装应用程序运行时并配置安全设置。您可以完全控制该虚拟机。

    【讨论】:

    • 非常感谢您的精彩回答。现在我知道了我应该什么时候使用。
    • 太好了,它对你有用。如果它符合您的目的,请不要忘记标记答案已接受
    【解决方案2】:

    简单来说:

    EC2 - 虚拟主机或图像。您可以使用它来安装应用程序并拥有一台机器来做任何您喜欢的事情。

    Lightsail - 类似但对用户更友好的管理选项,适用于小型应用程序。

    Beanstalk - 一种编排工具,可完成创建 EC2、安装应用程序、软件的所有工作,让您在创建环境时无需手动执行任务。

    更多详情请访问 -https://stackshare.io/stackups/amazon-ec2-vs-amazon-lightsail-vs-aws-elastic-beanstalk

    【讨论】:

    • 在这种情况下,小的定义是什么?像用户一样小?如果是少于 5,000 个用户?
    • @FabricioG,我认为它(大致)意味着 CPU、RAM 等资源,还可以控制您对 (AWS) 服务器的控制
    【解决方案3】:

    Amazon EC2 是一个虚拟主机,换句话说,它是一个服务器,您可以在其中通过 SSH 配置您的应用程序、安装依赖项等,就像在您的本地计算机中一样。 EC2 有十几个 AMI(亚马逊系统映像:它是您的 EC2 服务器的某种操作系统,例如,您可以让 EC2 在基于 Linux 的操作系统或 Windows 操作系统上运行)。总而言之,如果您需要一台机器,这是一个好主意。

    Amazon Lightsail 是一个简单的工具,您可以通过它对服务器进行少量管理来部署和管理应用程序。如果您的应用程序很小,您会发现它非常实用,例如,如果您使用 Wordpress 或其他 CMS,它将非常适合您的应用程序。

    AWS Elastic Beanstalk 是一种编排工具。您可以在该服务中管理您的应用程序,它比 AWS Light Sail 更高。

    如果您仍然不了解差异,可以查看每个服务概述。

    还有一个answer in Quora

    【讨论】:

      【解决方案4】:

      我不知道我的情况是否是典型的,但这里有一些对我来说至关重要的差异。我比 EB 更开心 EC2:

      EC2:

      • 只是一台具有 shell(命令行)访问权限的远程 linux 机器
      • 可追踪的应用程序级错误,轻松查看您的应用程序出了什么问题
      • 您可以使用 AWS Web 控制台面板或 AWS 命令​​行工具进行管理
      • 如果要重现相同的环境,则需要重复步骤
      • 努力获得正确的 shell 访问权限(例如,仅将安全规则修复到您的 IP)
      • 默认不提供负载均衡器

      弹力豆茎

      • 使用您选择的编程语言(例如 Python、PHP 等)创建 EC2 实例的服务
      • 在那台机器上运行一个应用程序(对于 python - application.py
      • 将应用程序上传为 .zip 文件,使用 git 源需要额外的努力
      • 需要习惯环境与应用的心智模型
      • 隐藏在服务器日志深处的应用程序级错误,在单独的菜单中下载日志
      • 可以通过 Web 控制台进行管理,但除了 AWS CLI 之外还需要另一个 CLI 工具(您最终安装了两个 CLI 工具)
      • 提供负载均衡器和其他服务器级服务,省去手动设置部分
      • 非常适合扩展稳定的应用程序,而不是用于试用和查看实验
      • 可能比仅仅一个 EC2 实例更昂贵

      【讨论】:

      • 我更喜欢这个答案的格式 - 很容易找到我正在寻找的东西(现在我已经这么说了我觉得非常懒惰......)编辑也 aws 不收取任何额外费用对于 beanstalk,只是下面的捆绑资源。
      • 感谢编辑!我的印象 AWS 对所有东西都收费,并在您通常不使用的区域中隐藏了一个昂贵的运行容器,这让您想知道为什么账单会飙升(我最近的经验)。
      【解决方案5】:

      我在这些技术上只花了 10 分钟,但这是我的第一次尝试。

      1. EC2 - 裸机服务。它为您提供了一个带有操作系统的服务器。这就对了。上面没有安装其他任何东西。因此,如果您需要网络服务器 (nginx) 或 python,则需要自己做。
      2. Beanstalk - 帮助您部署应用程序。假设您有一个要在服务器上运行的 python/flask 应用程序。传统上,您必须构建应用程序,将可部署包移动到应安装 Web 服务器的另一台机器上,然后将包移动到 Web 服务器的某个目录中。 Beanstalk 会自动为您完成这一切。
      3. LightSail - 我还没有尝试过,但它似乎是一个更简单的选择来创建具有预安装操作系统/软件的服务器。

      总而言之,通过使用所需的软件包和安全策略(例如端口号等)预先配置服务器/EC2,这些似乎使应用程序部署更加容易。

      我不是专家,所以我可能是错的。

      【讨论】:

        猜你喜欢
        • 2014-11-15
        • 2017-04-17
        • 2016-01-19
        • 2013-03-25
        • 2016-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多