Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将Ruby on Rails 5部署到AWS Elastic Beanstalk_Ruby On Rails_Postgresql_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

Ruby on rails 将Ruby on Rails 5部署到AWS Elastic Beanstalk

Ruby on rails 将Ruby on Rails 5部署到AWS Elastic Beanstalk,ruby-on-rails,postgresql,amazon-web-services,amazon-elastic-beanstalk,Ruby On Rails,Postgresql,Amazon Web Services,Amazon Elastic Beanstalk,我正在尝试使用AWS cli和通过自制安装的elasticbeanstalk cli将Ruby on Rails应用程序部署到AWS Elastic Beanstalk 我已经通过eb init命令在Elastic Beanstalk中创建了我的应用程序,然后使用以下命令尝试构建我的生产环境 eb create production -db -db.engine postgres 此命令成功构建了所需的一些资源,但在它尝试构建的第二个安全组(RDS实例(postgresql)所需的安全组)上失

我正在尝试使用AWS cli和通过自制安装的elasticbeanstalk cli将Ruby on Rails应用程序部署到AWS Elastic Beanstalk

我已经通过
eb init
命令在Elastic Beanstalk中创建了我的应用程序,然后使用以下命令尝试构建我的生产环境

eb create production -db -db.engine postgres
此命令成功构建了所需的一些资源,但在它尝试构建的第二个安全组(RDS实例(postgresql)所需的安全组)上失败。故障的输出如下所示:

Printing Status:
INFO: createEnvironment is starting.
INFO: Using elasticbeanstalk-us-east-1-060304732879 as Amazon S3 storage bucket for environment data.
INFO: Created security group named: sg-6df63b27
INFO: Created load balancer named: awseb-e-v-AWSEBLoa-SNYOVF7XI1O
INFO: Created security group named: awseb-e-vfpiydbe4p-stack-AWSEBSecurityGroup-7CUYEFRLYW20
INFO: Created Auto Scaling launch configuration named: awseb-e-vfpiydbe4p-stack-AWSEBAutoScalingLaunchConfiguration-PBAKQ91A7F1C
ERROR: Stack named 'awseb-e-vfpiydbe4p-stack' aborted operation. Current state: 'CREATE_FAILED'  Reason: The following resource(s) failed to create: [AWSEBRDSDBSecurityGroup].
ERROR: Creating RDS database security group named: awseb-e-vfpiydbe4p-stack-awsebrdsdbsecuritygroup-1er5fh5espelw failed Reason: Either the resource does not exist, or you do not have the required permissions.
INFO: Launched environment: production. However, there were issues during launch. See event log for details.
还有其他人遇到过这个问题吗?我已仔细检查(并重置)我的AWS凭据,并确保我在IAM控制台中设置的唯一使用设置为
AdministratorAccess
,并且我正在使用为该用户设置的AWS访问和密钥


任何帮助都将不胜感激

我认为问题可能是您的RDS是使用与您的环境不同的安全组创建的,尽管这并不明显。您能否作为
eb create-db.engine postgres-vpc
重试,并确保将RDS和环境置于同一vpc和子网的安全中?在此过程中,将要求您提供安全组名称。从该区域的“安全组”页面中为此选择一个现有安全组。我认为这可能行得通。顺便说一句,还值得一提的是,您不应该以这种方式使用在您的环境中创建RDS的方法,因为环境会将关联的RDS一起删除。为了在Beanstalk的上下文中使用RDSs,我遇到了相同的问题,这个答案解决了我的问题: