Ran*_*unt 7 amazon-web-services amazon-rds aws-cli amazon-elastic-beanstalk
如何使用create-environment或其他子命令创建RDS实例aws elasticbeanstalk?我尝试了几种参数组合无济于事.以下是一个例子.
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
Run Code Online (Sandbox Code Playgroud)
以及内容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"
}
]
Run Code Online (Sandbox Code Playgroud)
任何人都知道为什么会失败?我用aws:rds:dbinstance命名空间指定的任何东西似乎都从配置中删除了.
只需设置aws:rds:dbinstance选项不会创建RDS数据库.目前,您可以使用以下技术之一创建RDS实例:
前两种方法最方便,因为它们为您完成所有繁重的工作,但对于第三种方法,您必须做一些额外的工作.如果您不使用控制台或eb CLI,第三种方法是您想要使用的方法.
您可以使用以下ebextension代码段为beanstalk环境创建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
Run Code Online (Sandbox Code Playgroud)
此文件采用YAML格式,因此缩进很重要.如果您愿意,也可以使用JSON.这些不是选项设置,因此您无法将其作为传递--option-settings test.json.您只需将此文件与您的应用程序源捆绑在一起即可.
在此处详细了解可在RDS数据库上配置的属性.在此页面上,您还可以找到所需的属性以及可选的属性.
如果上述内容对您不起作用或者您有任何其他问题,请与我们联系.
| 归档时间: |
|
| 查看次数: |
3017 次 |
| 最近记录: |