AWS Elastic Beanstalk: невозможно клонировать с последней платформой или eb upgrade
с Ruby 2.1 на Ruby 2.2
Я ломал голову над этим. Еще в мае AWS объявили, что их Ruby Elastic Environments теперь предлагают Ruby-2.2 (например, ruby-2.2-(passenger-standalone)
или ruby-2.2-(puma)
). Я не могу обновить существующие среды ruby-2.1 до ruby-2.2. Похоже, мне нужно полностью воссоздать их... это кажется глупым? Кто-нибудь еще испытывает это? Я просто пропустил что-то простое?
Дополнительная информация
Я с радостью использую ruby-2.1-(passenger-standalone)
в течение нескольких месяцев в моих постановочных и производственных средах. Теперь я хочу обновить их до последней версии платформы ruby-2.2. В документации AWS говорится, что это довольно тривиально, на самом деле в некоторых документах даже говорится, что вы можете использовать eb clone <env-name> --update
. Этого флага нет в EB CLI 3.4.5
, который я использую :( Кроме того, в веб-консоли есть пункт меню Клонировать с последней платформой, но он отключен.
Похоже, что все, что я могу сделать, чтобы получить последние экземпляры Ruby-2.2, — это создать совершенно новую среду с нуля. Это ужасно раздражает.
Итак, вот что я пробовал...
$ eb status
Environment details for: staging
Application name: xyz
Region: us-west-2
Deployed Version: fbe7
Environment ID: someId
Platform: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.1 (Passenger Standalone)
Tier: WebServer-Standard
CNAME: bla.bla.bla.elasticbeanstalk.com
Updated: 2015-06-26 22:48:59.689000+00:00
Status: Ready
Health: Green
Отлично, подтверждает, что я использую Ruby 2.1. Итак, попробуем обновить:
$ eb upgrade
Environment already on most recent platform version.
Хорошо, это хорошо, а что насчет самой платформы:
$ eb platform select
It appears you are using Ruby. Is this correct?
(y/n): y
Select a platform version.
1) Ruby 2.2 (Puma)
2) Ruby 2.2 (Passenger Standalone)
3) Ruby 2.1 (Puma)
4) Ruby 2.1 (Passenger Standalone)
5) Ruby 2.0 (Puma)
6) Ruby 2.0 (Passenger Standalone)
7) Ruby 1.9.3
(default is 1): 2
Итак, вот настройки моей платформы:
$ eb platform show
Current default platform: Ruby 2.2 (Passenger Standalone)
New environments will be running: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.2 (Passenger Standalone)
Platform info for environment "staging":
Current: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.1 (Passenger Standalone)
Latest: 64bit Amazon Linux 2015.03 v1.4.3 running Ruby 2.1 (Passenger Standalone)
Таким образом, новые среды будут использовать преимущества редакций Ruby-2.2. Это здорово, но нужно ли мне отказываться от уже настроенных выпусков Ruby-2.1 вместо вновь созданного выпуска Ruby-2.1? Давай?