【问题标题】:Can serverless be used to to create RDS instance?可以使用 serverless 创建 RDS 实例吗?
【发布时间】:2019-02-27 06:35:00
【问题描述】:

目前我们正在使用无服务器框架来更新我们的开发/测试环境,并手动管理我们的环境。例如。每次创建新环境时,我们都会手动创建 Elastic Beanstalk 应用程序和 RDS 实例。 是否可以使用无服务器脚本自动执行所有这些操作?还是云形成?

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk serverless-framework


    【解决方案1】:

    使用 CloudFormation,这非常简单。您只需要定义一个AWS::RDS::DBInstance。 AWS 还为此提供了一些示例模板:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-east-1.html#w2ab2c23c42c13c27

    由于您可以在 Serverless 中包含 CloudFormation 资源,因此您可以将其直接添加到您的 serverless.yml,这样它就可以由 Serverless 部署,而无需使用单独的 CloudFormation 部署:https://serverless.com/framework/docs/providers/aws/guide/resources/

    RDS(包括 Aurora)所有可用选项的更完整示例: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html

    【讨论】:

    • 我会优先关注无服务器。好吧,RDS 是可能的。但是在 Serverless 本身中也可以使用弹性 beanstalk?
    • 您也可以对 Elastic Beanstalk 使用相同的方法。本质上,您可以将它用于 CloudFormation 支持的任何资源,如 docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/… 中所述。
    • 好的,谢谢..解决了我最关心的问题..我希望我现在能够弄清楚如何将 zip 上传到 beanstalk。
    【解决方案2】:

    是的,您绝对可以使用 cloudformation 模板创建您的 rds 实例,

    "MyDB" : {
     "Type" : "AWS::RDS::DBInstance",
     "Properties" : {
         "DBSecurityGroups" : [
            {"Ref" : "MyDbSecurityByEC2SecurityGroup"}, {"Ref" : "MyDbSecurityByCIDRIPGroup"} ],
         "AllocatedStorage" : "5",
         "DBInstanceClass" : "db.m1.small",
         "Engine" : "MySQL",
         "MasterUsername" : "MyName",
         "MasterUserPassword" : "MyPassword"
     },
     "DeletionPolicy" : "Snapshot"
    } 
    

    此 json sn-p 将创建您的 RDS 实例,以获取创建 RDS 和 Elastic beanstalk 的完整参考:

    https://github.com/satterly/AWSCloudFormation-samples/blob/master/ElasticBeanstalk.template

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2014-11-02
      • 1970-01-01
      • 2017-02-14
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      相关资源
      最近更新 更多