TLDR;
Самая последняя среда Java / Tomcat8 Elastic Beanstalk включает в себя boto3. Мой файл .ebextensions / sshd.config устанавливает boto3, и это вызывало конфликт. Удаление строки boto3 из моего sshd.config решило проблему.
Полный ответ
Я начал свой проект в качестве шаблона Java / Tomcat Codestar. Этот проект включает файл .ebextensions / sshd.config, который выглядит следующим образом:
packages:
yum:
python27-devel: []
python27-pip: []
gcc: []
python:
pycrypto: []
boto3: []
files:
"/usr/local/bin/get_authorized_keys" :
mode: "000755"
owner: root
group: root
source: https://s3.amazonaws.com/awscodestar-remote-access-us-east-1/get_authorized_keys
commands:
01_update_ssh_access:
command: >
sed -i '/AuthorizedKeysCommand /s/.*/AuthorizedKeysCommand \/usr\/local\/bin\/get_authorized_keys/g' /etc/ssh/sshd_config &&
sed -i '/AuthorizedKeysCommandUser /s/.*/AuthorizedKeysCommandUser root/g' /etc/ssh/sshd_config &&
/etc/init.d/sshd restart
Скрипт устанавливает python и boto3 в экземпляр Elastic Beanstalk.
Благодаря поддержке AWS я обнаружил, что последняя среда Java / Tomcat уже включает в себя boto3, и попытка установить ее поверх существующей среды вызывала проблему. В конечном итоге это привело к тому, что журналы экземпляров не могли быть переданы в CloudWatch.
Решением было просто удалить явную установку boto3 в sshd.config, затем пересобрать экземпляр Elastic Beanstalk и заново развернуть мое приложение.
Я только что попытался создать новый шаблонный проект Codestar Java / Tomcat, и строка установки boto3 все еще находится в sshd.config.
Я не проверял другие типы проектов, чтобы увидеть, включен ли тот же файл sshd.config в шаблон Codestar. Я предполагаю, что это, вероятно, не характерно для среды Java / Tomcat.