【问题标题】:Cloning environment in elastic beanstalk弹性豆茎中的克隆环境
【发布时间】:2021-04-08 02:06:45
【问题描述】:

我想将我的 Rails EB Linux 从 1.11.8 更新到 2.12.2,所以我克隆了环境并提交了它,但我收到了这个错误:

PG::ConnectionBad (could not connect to server: Connection timed out
    Is the server running on host "example.ccexample.us-east-1.rds.amazonaws.com" (111.11.21.22) and accepting
    TCP/IP connections on port 5432?

另一个错误——可能是同一个问题?:

/opt/elastticbeanstalk/hooks/appdeploy/pre/12_db_migration.sh failed.

我的环境变量都是正确的,所以数据库不应该只是简单地连接吗?

这是错误日志:

    [2020-12-31T22:05:28.834Z] INFO  [5012]  - [Application update app-example/AppDeployStage0/AppDeployPreHook/12_db_migration.sh] : Starting activity...
[2020-12-31T22:07:45.564Z] INFO  [5012]  - [Application update example/AppDeployStage0/AppDeployPreHook/12_db_migration.sh] : Activity execution failed, because: ++ /opt/elasticbeanstalk/bin/get-config container -k script_dir
  + EB_SCRIPT_DIR=/opt/elasticbeanstalk/support/scripts
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_staging_dir
  + EB_APP_STAGING_DIR=/var/app/ondeck
  ++ /opt/elasticbeanstalk/bin/get-config container -k app_user
  + EB_APP_USER=webapp
  ++ /opt/elasticbeanstalk/bin/get-config container -k support_dir
  + EB_SUPPORT_DIR=/opt/elasticbeanstalk/support
  + . /opt/elasticbeanstalk/support/envvars-wrapper.sh
  +++ /opt/elasticbeanstalk/bin/get-config container -k support_dir
  ++ EB_SUPPORT_DIR=/opt/elasticbeanstalk/support
  ++ set +x
  + RAKE_TASK=db:migrate
  + . /opt/elasticbeanstalk/support/scripts/use-app-ruby.sh
  ++ . /usr/local/share/chruby/chruby.sh
  +++ CHRUBY_VERSION=0.3.9
  +++ RUBIES=()
  +++ for dir in '"$PREFIX/opt/rubies"' '"$HOME/.rubies"'
  +++ [[ -d /opt/rubies ]]
  ++++ ls -A /opt/rubies
  +++ [[ -n ruby-2.4.10
  ruby-2.5.8
  ruby-2.6.6
  ruby-current ]]
  +++ RUBIES+=("$dir"/*)
  +++ for dir in '"$PREFIX/opt/rubies"' '"$HOME/.rubies"'
  +++ [[ -d /.rubies ]]
  +++ unset dir
  +++ cat /etc/elasticbeanstalk/.ruby_version
  ++ chruby 2.5.8
  ++ case "$1" in
  ++ local dir match
  ++ for dir in '"${RUBIES[@]}"'
  ++ dir=/opt/rubies/ruby-2.4.10
  ++ case "${dir##*/}" in
  ++ for dir in '"${RUBIES[@]}"'
  ++ dir=/opt/rubies/ruby-2.5.8
  ++ case "${dir##*/}" in
  ++ match=/opt/rubies/ruby-2.5.8
  ++ for dir in '"${RUBIES[@]}"'
  ++ dir=/opt/rubies/ruby-2.6.6
  ++ case "${dir##*/}" in
  ++ for dir in '"${RUBIES[@]}"'
  ++ dir=/opt/rubies/ruby-current
  ++ case "${dir##*/}" in
  ++ [[ -z /opt/rubies/ruby-2.5.8 ]]
  ++ shift
  ++ chruby_use /opt/rubies/ruby-2.5.8 ''
  ++ [[ ! -x /opt/rubies/ruby-2.5.8/bin/ruby ]]
  ++ [[ -n '' ]]
  ++ export RUBY_ROOT=/opt/rubies/ruby-2.5.8
  ++ RUBY_ROOT=/opt/rubies/ruby-2.5.8
  ++ export RUBYOPT=
  ++ RUBYOPT=
  ++ export PATH=/opt/rubies/ruby-2.5.8/bin:/opt/elasticbeanstalk/lib/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
  ++ PATH=/opt/rubies/ruby-2.5.8/bin:/opt/elasticbeanstalk/lib/ruby/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin
  +++ /opt/rubies/ruby-2.5.8/bin/ruby -
  ++ eval 'export RUBY_ENGINE=ruby;
  export RUBY_VERSION=2.5.8;
  export GEM_ROOT="/opt/rubies/ruby-2.5.8/lib/ruby/gems/2.5.0";'
  +++ export RUBY_ENGINE=ruby
  +++ RUBY_ENGINE=ruby
  +++ export RUBY_VERSION=2.5.8
  +++ RUBY_VERSION=2.5.8
  +++ export GEM_ROOT=/opt/rubies/ruby-2.5.8/lib/ruby/gems/2.5.0
  +++ GEM_ROOT=/opt/rubies/ruby-2.5.8/lib/ruby/gems/2.5.0
  ++ ((  0 != 0  ))
  + cd /var/app/ondeck
  + su -s /bin/bash -c 'bundle exec /opt/elasticbeanstalk/support/scripts/check-for-rake-task.rb db:migrate' webapp

我还用新的环境名称更新了 config.yml:

分支默认值: 掌握: 环境:新名称 环境默认值: 新名字: 分支:空 存储库:空 RevoltVendor-env: 分支:空 存储库:空 全球的: application_name:应用名称 default_ec2_keyname:空 default_platform:在 64 位 Amazon Linux 上运行 Ruby 2.5 的 Puma 默认区域:us-east-1 include_git_submodules:真 instance_profile:空 平台名称:空 平台版本:空 简介: eb-cli sc: 混帐 workspace_type: 应用程序

任何帮助将不胜感激

【问题讨论】:

  • RDS上的安全组规则是什么?
  • 我有 1 个安全组。我点击“VPC 安全组”,点击“安全组 ID”,然后编辑入站规则,但是现在当我尝试添加克隆的 env 时,它没有弹出。还有别的吗?
  • 这些入站规则是什么?
  • 我刚刚添加了另一个我看到的 desc “SecurityGroup for ElasticBeanstalk environment”,应用程序现在加载。我假设这是在克隆上创建的?
  • 是的,我想是的。克隆确实创造了新的 SG。如果你不是我的,我会提供一个答案以供将来参考。

标签: ruby-on-rails amazon-web-services amazon-elastic-beanstalk amazon-rds


【解决方案1】:

基于 cmets。

问题是由 RDS 中的错误的安全组 (SG) 入站规则引起的。 EB克隆操作创建新SG,RDS的SG没有体现。

解决方案是更新 RDS 的 SG 并添加与克隆的 EB 环境关联的 SG。

【讨论】:

    猜你喜欢
    • 2020-05-08
    • 2016-09-16
    • 2023-03-26
    • 2020-05-11
    • 2014-08-19
    • 2020-10-20
    • 2016-11-03
    • 2015-03-20
    • 2022-01-10
    相关资源
    最近更新 更多