【问题标题】:What AWS Resources/Services are used when creating an AWS Elastic Beanstalk Ruby/Rails Application Environment [AWS free tier]?创建 AWS Elastic Beanstalk Ruby/Rails 应用程序环境 [AWS 免费套餐] 时使用了哪些 AWS 资源/服务?
【发布时间】:2021-01-14 15:01:30
【问题描述】:

意图:了解 AWS 云基础设施资源服务配置和相关成本影响 [AWS 免费层]

上下文: 仅使用控制台创建 Ruby 应用程序环境,例如示例应用程序

Elastic Beanstalk 是否处理清理工作?如何验证?

【问题讨论】:

    标签: ruby-on-rails amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    来源:AWS Official Docs EB > tutorial Rails

    所有这些资源都由 Elastic Beanstalk 管理当你 终止您的环境,Elastic Beanstalk 终止所有 它包含的资源

    环境创建大约需要 5 分钟,创建以下内容 资源

    EC2 实例 – Amazon Elastic Compute Cloud (Amazon EC2) 虚拟 机器配置为在您选择的平台上运行 Web 应用程序。

    每个平台都运行一组特定的软件、配置文件、 以及支持特定语言版本、框架、网络的脚本 容器,或这些的组合。大多数平台使用 Apache 或 NGINX 作为位于您的 Web 应用程序前面的反向代理, 将请求转发给它,提供静态资产,并生成访问权限 和错误日志。

    实例安全组 – 配置为的 Amazon EC2 安全组 允许端口 80 上的入站流量。此资源允许来自的 HTTP 流量 负载均衡器到达运行您的 Web 应用程序的 EC2 实例。经过 默认情况下,其他端口不允许流量。

    负载均衡器 – 一个 Elastic Load Balancing 负载均衡器,配置为 将请求分发到运行您的应用程序的实例。负载 平衡器还消除了将您的实例直接暴露给 互联网。

    负载均衡器安全组 – 已配置的 Amazon EC2 安全组 允许端口 80 上的入站流量。此资源允许 HTTP 流量 从互联网到达负载均衡器。默认情况下,流量不是 允许在其他端口上。

    Auto Scaling 组 – 配置为替换一个 Auto Scaling 组 实例如果它被终止或变得不可用。

    Amazon S3 存储桶 – 源代码、日志和 使用 Elastic Beanstalk 时创建的其他工件。

    Amazon CloudWatch 警报 – 两个监控负载的 CloudWatch 警报 在您环境中的实例上,如果 负载过高或过低。触发警报时,您的 Auto 扩展组会相应地扩大或缩小规模。

    AWS CloudFormation 堆栈 – Elastic Beanstalk 使用 AWS CloudFormation 在您的环境中启动资源并传播 配置更改。资源在模板中定义,该模板 您可以在 AWS CloudFormation 控制台中查看。

    域名 – 以表单形式路由到您的 Web 应用程序的域名 subdomain.region.elasticbeanstalk.com。

    按照官方指南部署示例 ruby​​ 应用程序处于免费层中;

    使用控制台服务可以:

    • 检查部署后创建的其他资源
    • 检查清理

    【讨论】:

      【解决方案2】:

      这取决于它是单实例 Ruby 环境、负载平衡的环境,还是您将 RDS 与您的环境捆绑在一起等等。

      不过,要了解 EB 究竟为您创建了什么,最好的方法是转到 CloudFormaion (CFN) 控制台,并检查 EB 为您提供的 EB 堆栈。 EB 环境是通过 CFN 创建的,因此在您的 EB 环境中创建的所有内容都在那里(S3 存储桶除外)。

      要获得创建的资源的简明列表,您可以使用 AWS CLI:

      aws cloudformation  describe-stack-resources --stack-name <awseb-stack-name> --query "StackResources[].ResourceType"
      

      例子:

          "AWS::AutoScaling::AutoScalingGroup",
          "AWS::AutoScaling::LaunchConfiguration",
          "AWS::AutoScaling::ScalingPolicy",
          "AWS::AutoScaling::ScalingPolicy",
          "AWS::CloudFormation::WaitConditionHandle",
          "AWS::CloudWatch::Alarm",
          "AWS::CloudWatch::Alarm",
          "AWS::CloudFormation::WaitCondition",
          "AWS::CloudFormation::WaitConditionHandle",
          "AWS::EC2::SecurityGroup",
          "AWS::EC2::SecurityGroup",
          "AWS::ElasticLoadBalancingV2::LoadBalancer",
          "AWS::ElasticLoadBalancingV2::Listener",
          "AWS::ElasticLoadBalancingV2::TargetGroup"
      

      Elastic Beanstalk 是否处理清理工作?如何验证?

      是的,因为所有资源都由单个 CFN 堆栈管理。清理基于删除堆栈,您可以在 CFN 控制台中进行验证。

      例外: S3 存储桶不会被删除。您必须手动完成。

      【讨论】:

        猜你喜欢
        • 2018-06-19
        • 1970-01-01
        • 2014-06-28
        • 1970-01-01
        • 1970-01-01
        • 2016-12-29
        • 2020-09-29
        • 2020-06-07
        • 1970-01-01
        相关资源
        最近更新 更多