Deployment error on elastic bean glass with the error "Unable to allocate memory"

I created a rail application that I want to deploy on an elastic beanstalk. I was able to deploy it to my AWS account, but now I want to deploy it to my client account. For some reason, I get errors when trying to deploy it. They managed to deploy it to my account from scratch and was able to deploy it to the hero, but every time I try to deploy it to my customer account, I get a bunch of errors. Are different settings possible between the two accounts? I don’t understand why the deployment on two accounts will be different. I tried every solution I could find.

Here are the magazines. I'm not sure if they will help

  gem 'bootstrap-sass'
  gem 'autoprefixer-rails'
  gem 'puma'

  group :development, :test do
    gem "letter_opener"
    gem 'byebug'
  end

  group :development do
    gem 'web-console', '~> 2.0'
    gem 'spring'
  end

  group :production do
    # gem 'pg'
    gem 'rails_12factor'
  end
  + '[' -d /var/app/ondeck/vendor/cache ']'
  + bundle install
  Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
  installing your bundle as root will break this application for all non-root
  users on this machine.
  Warning: the running version of Bundler is older than the version that created the lockfile. We sugg
est you upgrade to the latest version of Bundler by running `gem install bundler`.
  Fetching gem metadata from https://rubygems.org/
  Fetching version metadata from https://rubygems.org/
  Fetching dependency metadata from https://rubygems.org/
  Using rake 11.1.2
  Using i18n 0.7.0
  Installing json 1.8.3 with native extensions

  Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

      /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-1pc5aw8.rb extconf.rb
  Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-1pc5aw8.rb extcon
f.rb 2>&1

  Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/json-1.8.3 for in
spection.
  Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/js
on-1.8.3/gem_make.out
  Using minitest 5.9.0
  Using thread_safe 0.3.5
  Using builder 3.2.2
  Using erubis 2.7.0
  Using mini_portile2 2.1.0
  Using pkg-config 1.1.7
  Using rack 1.6.4
  Using mime-types-data 3.2016.0521
  Using arel 6.0.3
  Using execjs 2.7.0
  Installing bcrypt 3.1.10 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

      /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-myt7e8.rb extconf.rb
  Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-myt7e8.rb extconf.rb 2>&1

  Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/bcrypt-3.1.10 for inspection.
  Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/bcrypt-3.1.10/gem_make.out
  Using sass 3.4.22
  Using coffee-script-source 1.10.0
  Using thor 0.19.1
  Using concurrent-ruby 1.0.2
  Using multi_json 1.12.1
  Using libv8 3.16.14.15
  Installing puma 3.4.0 with native extensions

  Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

      /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-kv1g4s.rb extconf.rb
  Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-kv1g4s.rb extconf.rb 2>&1

  Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/puma-3.4.0 for inspection.
  Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/puma-3.4.0/gem_make.out
  Using bundler 1.12.1
  Using rails_serve_static_assets 0.0.5
  Using rails_stdout_logging 0.0.4
  Using ref 2.0.0
  Using tilt 2.0.5
  Installing sqlite3 1.3.11 with native extensions

  Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

      /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-5lnc3v.rb extconf.rb
  Cannot allocate memory - /opt/rubies/ruby-2.2.5/bin/ruby -r ./siteconf20160708-498-5lnc3v.rb extconf.rb 2>&1

  Gem files will remain installed in /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/gems/sqlite3-1.3.11 for inspection.
  Results logged to /opt/rubies/ruby-2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/sqlite3-1.3.11/gem_make.out
  An error occurred while installing json (1.8.3), and Bundler cannot continue.
  Make sure that `gem install json -v '1.8.3'` succeeds before bundling. (Executor::NonZeroExitStatus)


[2016-07-08T19:47:55.300Z] INFO  [424]   - [Application update app-d3f5-160708_124551@2/AppDeployStage0/AppDeployPreHook/10_bundle_install.sh] : Activity failed.
[2016-07-08T19:47:55.301Z] INFO  [424]   - [Application update app-d3f5-160708_124551@2/AppDeployStage0/AppDeployPreHook] : Activity failed.
[2016-07-08T19:47:55.301Z] INFO  [424]   - [Application update app-d3f5-160708_124551@2/AppDeployStage0] : Activity failed.
[2016-07-08T19:47:55.302Z] INFO  [424]   - [Application update app-d3f5-160708_124551@2] : Completed activity. Result:
  Application update - Command CMD-AppDeploy failed
[2016-07-08T20:17:06.267Z] INFO  [1271]  - [CMD-TailLogs] : Starting activity...
[2016-07-08T20:17:06.268Z] INFO  [1271]  - [CMD-TailLogs/AddonsBefore] : Starting activity...
[2016-07-08T20:17:06.268Z] INFO  [1271]  - [CMD-TailLogs/AddonsBefore] : Completed activity.
[2016-07-08T20:17:06.268Z] INFO  [1271]  - [CMD-TailLogs/TailLogs] : Starting activity...
[2016-07-08T20:17:06.268Z] INFO  [1271]  - [CMD-TailLogs/TailLogs/TailLogs] : Starting activity...
+3
3

, @osazemeu, , , container_commands ( ), .

container_command (. AWS ), inline, .sh, , . 01setup_swap.config .ebextensions . . :

files:
  "/home/ec2-user/setup_swap.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/bin/bash
      # based on http://steinn.org/post/elasticbeanstalk-swap/

      SWAPFILE=/var/swapfile
      SWAP_MEGABYTES=2048

      if [ -f $SWAPFILE ]; then
        echo "Swapfile $SWAPFILE found, assuming already setup"
        exit;
      fi

      /bin/dd if=/dev/zero of=$SWAPFILE bs=1M count=$SWAP_MEGABYTES
      /bin/chmod 600 $SWAPFILE
      /sbin/mkswap $SWAPFILE
      /sbin/swapon $SWAPFILE

commands:
  01setup_swap:
    command: "bash setup_swap.sh"
    cwd: "/home/ec2-user/"
+4

, . , .

1: ElasticBean EC2

yourapp/.ebextensions/setup_swap.sh
#!/bin/bash

SWAPFILE=/var/swapfile
SWAP_MEGABYTES=2048

if [ -f $SWAPFILE ]; then
        echo "Swapfile $SWAPFILE found, assuming already setup"
        exit;

/bin/dd if=/dev/zero of=$SWAPFILE bs=1M count=$SWAP_MEGABYTES
/bin/chmod 600 $SWAPFILE
/sbin/mkswap $SWAPFILE
/sbin/swapon $SWAPFILE

1.1 yourapp/.ebextensions/01_setup_swap.config

container_commands:
    01setup_swap:
        command: "bash .ebextensions/swap/setup_swap.sh"

: elasticbeanstalk-swap

2: ElasticBeanstalk .

3: , rails.

bundle exec bundle package

(/) rails. , .

. .

+2

. :

AWS EC2, , t1.micro. t1.micro . , , . t1.micro (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). , EC2 AWS t1.micro t2.micro. .

0

Source: https://habr.com/ru/post/1661399/


All Articles