AWS-Cli эквивалент EB развертывания?
Я пытаюсь развернуть приложение из одного экземпляра ElasticBeanstalk в другой. Запуск pip install awsebcli --upgrade --user не устанавливает eb
Инструмент Cli по какой-то странной причине на машине EC2.
Кто-нибудь знает эквивалент eb deploy
используя только aws
Cli варианты?
2 ответа
Этот вопрос немного сбивает с толку. Вы пытаетесь переместить код между экземплярами EC2 в вашей среде Beanstalk?
Если я правильно понимаю, вы вытащили / изменили свой код на одном хосте Beanstalk. И теперь вы пытаетесь распространить это изменение на другие экземпляры с помощью EB CLI. Это не лучшая практика. Beanstalk имеет механизм для развертывания вашего кода во всех экземплярах.
EB CLI предназначен для запуска с вашей рабочей станции для передачи кода из вашей IDE/ редактора на хосты Beanstalk в AWS.
Beanstalk хранит копию этой версии кода в S3. И если среда Beanstalk сбалансирована по нагрузке, то все экземпляры будут работать с одной и той же версией приложения при масштабировании событий или развертываний, потому что это извлечет ваш код из общего источника.
Но чтобы ответить на ваш вопрос:
Кто-нибудь знает эквивалент eb deploy с использованием только параметров aws cli?
Вы хотите ZIP и загрузить свой код в S3 и отметить ключ S3 и значения корзины, где он находится.
Затем создайте новую версию приложения.
% aws elasticbeanstalk create-application-version --application-name="<APPLICATION_NAME>" --version-label="<NEW_VERSION_LABEL>" --source-bundle="{\"S3Bucket\": \"<S3_BUCKET_NAME>\",\"S3Key\": \"<S3_KEY>\"}"
Затем разверните новую версию приложения в работающей среде.
% aws elasticbeanstalk update-environment --environment-id="<ENVIRONMENT_ID>" --version-label="<NEW_VERSION_LABEL>"
Читать тяжело...
Linux требует от вас "[a]dd путь к исполняемому файлу к вашей переменной PATH"
export PATH=~/.local/bin:$PATH
eb --version
в настоящее время работает