gpt4 book ai didi

amazon-web-services - 使用 API 通过 RDS 配置 ElasticBeanstalk

转载 作者:行者123 更新时间:2023-12-03 07:28:32 25 4
gpt4 key购买 nike

如何使用 API(而不是 GUI 或 CLI)创建具有 RDS 层的 EB 环境?

我可以使用 GUI 配置具有 RDS 层的 EB 环境。但目前,我正在使用 API 创建 EB 环境(通过 boto3,它似乎只是 REST API 的包装器)。我传递了与 GUI 创建的选项相同的 OptionSettings(命名空间 aws:rds:dbinstance),但这不会导致创建 RDS 实例或层。我的配置和 GUI 创建的配置之间的唯一区别是 GUI 创建的部分,如下所示:

Extensions:
RDS.EBConsoleSnippet:
Order: null
SourceLocation: https://s3-us-west-2.amazonaws.com/elasticbeanstalk-env-resources-us-west-2/eb_snippets/rds/rds.json

我已将此逐字添加到 .ebextensions 目录中的 yaml 文件中(然后将该目录添加到我的部署包中),但仍然没有骰子。

以下是相关的选项设置(产生的选项与 GUI 创建的选项相同):

                {
'Namespace':'aws:ec2:vpc',
'OptionName': 'DBSubnets',
'Value': '<redacted>'
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'DBEngine',
'Value': 'mysql'
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'DBEngineVersion',
'Value': '5.6.23'
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'DBInstanceClass',
'Value': 'db.t2.micro'
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'DBUser',
'Value': os.environ['RDS_USER']
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'DBPassword',
'Value': os.environ['RDS_PASSWORD']
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'DBAllocatedStorage',
'Value': '5'
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'MultiAZDatabase',
'Value': 'false'
},
{
'Namespace':'aws:rds:dbinstance',
'OptionName': 'DBDeletionPolicy',
'Value': 'snapshot'
}

最佳答案

您可以在创建环境时定义数据库,如下所示:

eb create --database --database.engine mysql --region eu-west-1

更新:您还可以使用 .ebextensions 中的配置中的资源标签创建数据库,如下所示:

Resources:
AWSEBRDSDatabase:
Type: AWS::RDS::DBInstance
Properties:
AllocatedStorage: 5
DBInstanceClass: db.t2.micro
DBName: database_name
Engine: mysql
EngineVersion: 5.5
MasterUsername: root
MasterUserPassword: password

更多信息herehere .

关于amazon-web-services - 使用 API 通过 RDS 配置 ElasticBeanstalk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34276110/

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