gpt4 book ai didi

amazon-web-services - AWS CLI使用elasticbeanstalk创建环境创建RDS

转载 作者:行者123 更新时间:2023-12-04 08:07:32 24 4
gpt4 key购买 nike

如何使用create-environmentaws elasticbeanstalk的另一个子命令创建RDS实例?我尝试了几种参数组合都无济于事。下面是一个例子。

APP_NAME="randall-railsapp"
aws s3api create-bucket --bucket "$APP_NAME"
APP_VERSION="$(git describe --always)"
APP_FILE="deploy-$APP_NAME-$APP_VERSION.zip"
git archive -o "$APP_FILE" HEAD
aws s3 cp "$APP_FILE" "s3://$APP_NAME/$APP_FILE"

aws --region us-east-1 elasticbeanstalk create-application-version \
--auto-create-application \
--application-name "$APP_NAME" \
--version-label "$APP_VERSION" \
--source-bundle S3Bucket="$APP_NAME",S3Key="$APP_FILE"

aws --region us-east-1 elasticbeanstalk create-environment \
--application-name "$APP_NAME" \
--version-label "$APP_VERSION" \
--environment-name "$APP_NAME-env" \
--description "randall's rails app environment" \
--solution-stack-name "64bit Amazon Linux 2014.03 v1.0.0 running Ruby 2.1 (Puma)" \
--cname-prefix "$APP_NAME-test" \
--option-settings file://test.json

以及 test.json的内容:
[
{
"OptionName": "EC2KeyName",
"Namespace": "aws:autoscaling:launchconfiguration",
"Value": "a-key-is-here"
},
{
"OptionName": "EnvironmentType",
"Namespace": "aws:elasticbeanstalk:environment",
"Value": "SingleInstance"
},
{
"OptionName": "SECRET_KEY_BASE",
"Namespace": "aws:elasticbeanstalk:application:environment",
"Value": "HAHAHAHAHAHA"
},
{
"OptionName": "DBPassword",
"Namespace": "aws:rds:dbinstance",
"Value": "hunter2"
},
{
"OptionName": "DBUser",
"Namespace": "aws:rds:dbinstance",
"Value": "random"
},
{
"OptionName": "DBEngineVersion",
"Namespace": "aws:rds:dbinstance",
"Value": "9.3"
},
{
"OptionName": "DBEngine",
"Namespace": "aws:rds:dbinstance",
"Value": "postgres"
}
]

有人知道这为什么会失败吗?我使用 aws:rds:dbinstance命名空间指定的所有内容似乎都已从配置中删除。

最佳答案

仅设置aws:rds:dbinstance选项不会创建RDS数据库。
当前,您可以使用以下技术之一创建RDS实例:

  • 使用AWS控制台创建
  • 使用eb cli
  • 使用Resources section of ebextensions创建RDS资源

  • 前两种方法最方便,因为它们为您完成了所有繁重的工作,但第三种方法则需要做一些额外的工作。第三种方法是不使用控制台或eb CLI时要使用的方法。

    您可以使用以下ebextension代码段为beantalk环境创建RDS资源。在应用程序源的 01-rds.config目录中创建一个名为 .ebextensions的文件。
    Resources:
    AWSEBRDSDatabase:
    Type: AWS::RDS::DBInstance
    Properties:
    AllocatedStorage: 5
    DBInstanceClass: db.t2.micro
    DBName: myawesomeapp
    Engine: postgres
    EngineVersion: 9.3
    MasterUsername: myAwesomeUsername
    MasterUserPassword: myCrazyPassword

    该文件为YAML格式,因此缩进非常重要。如果愿意,也可以使用JSON。
    这些不是选项设置,因此您不能将其作为 --option-settings test.json传递。您只需要将此文件与您的应用程序源捆绑在一起即可。

    阅读更多有关可以在RDS数据库 here上配置的属性的信息。在此页面上,您还可以找到哪些属性是必需的,哪些属性是可选的。

    让我知道以上内容是否对您不起作用,或者您还有其他疑问。

    关于amazon-web-services - AWS CLI使用elasticbeanstalk创建环境创建RDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25946723/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com