Общие сведения

Вопрос: Что представляет собой AWS Elastic Beanstalk?

AWS Elastic Beanstalk позволяет разработчикам легко и быстро развертывать приложения в облаке AWS и управлять ими. Достаточно загрузить приложение, и Elastic Beanstalk автоматически выделит ресурсы, обеспечит балансировку нагрузки, автомасштабирование и мониторинг работоспособности приложения.

Вопрос: Для кого предназначен сервис AWS Elastic Beanstalk?

Для любого разработчика, который хочет развертывать приложения в облаке AWS за несколько минут и просто управлять ими. Чтобы начать работу с сервисом, не требуется опыт работы с системами облачных вычислений. AWS Elastic Beanstalk поддерживает интернет-приложения, созданные на Java, .NET, PHP, Node.js, Python, Ruby, Go или с использованием Docker.

Вопрос: Какие языки программирования и стеки разработки поддерживает AWS Elastic Beanstalk?

AWS Elastic Beanstalk поддерживает следующие языки программирования и стеки разработки:

Apache Tomcat для приложений Java;

Apache HTTP Server для приложений PHP;

Apache HTTP Server для приложений Python;

Nginx и Apache HTTP Server для приложений Node.js;

Passenger или Puma для приложений Ruby;

Microsoft IIS 7.5, 8.0 и 8.5 для приложений .NET

Java SE

Docker

Перейти

Для получения полного и актуального перечня поддерживаемых языков программирования и стеков разработки см. список поддерживаемых платформ.

Вопрос: Будет ли в сервис AWS Elastic Beanstalk включена поддержка других языков программирования?

Да. В AWS Elastic Beanstalk предусмотрена возможность расширения для поддержки в будущем большего числа стеков разработки и языков программирования. AWS совместно с разработчиками решений работает над созданием API и функций для предоставления дополнительных возможностей Elastic Beanstalk.

Вопрос: Какие новые возможности стали доступны разработчикам благодаря сервису AWS Elastic Beanstalk?

AWS Elastic Beanstalk автоматически выделяет ресурсы, осуществляет балансировку нагрузки, автоматическое масштабирование и развертывание приложений, позволяя создать среду для запуска различных версий приложения. Достаточно загрузить код развертывания (например, файл WAR), а сервис AWS Elastic Beanstalk сделает все остальное. Средства AWS Toolkit for Visual Studio и AWS Toolkit for Eclipse позволят выполнить развертывание приложения в AWS Elastic Beanstalk и управлять им в привычной среде разработки. После запуска приложения Elastic Beanstalk автоматически выполняет такие задачи управления, как мониторинг, развертывание версий приложения и базовая проверка работоспособности, а также обеспечивает доступ к журналам. Сервис Elastic Beanstalk позволяет разработчикам сосредоточиться на создании приложений, освобождая их от выполнения рутинных задач, связанных с развертыванием, таких как выделение серверов, настройка балансировки нагрузки или масштабирования.

Вопрос: Чем сервис AWS Elastic Beanstalk отличается от существующих контейнеров приложений и решений PaaS?

При работе с большинством существующих контейнеров приложений и решений PaaS не требуется писать больших объемов кода, но одновременно они существенно ограничивают гибкость и управляемость. Разработчики вынуждены использовать возможности, предопределенные поставщиком решения, и не контролируют или почти не контролируют элементы инфраструктуры приложения. При работе с AWS Elastic Beanstalk разработчики полностью контролируют ресурсы AWS, на которых работают их приложения. Если вы решили взять в свои руки контроль над инфраструктурой или ее элементами, это легко сделать с помощью функций управления Elastic Beanstalk.

Вопрос: Какие элементы приложения можно контролировать при работе с AWS Elastic Beanstalk?

При работе с AWS Elastic Beanstalk можно:

выбрать операционную систему, соответствующую требованиям приложения (например Amazon Linux или Windows Server 2012 R2);

выбрать подходящую базу данных и хранилище;

получить доступ к инстансам Amazon EC2 для неотложного и непосредственного устранения неполадок;

быстро повысить надежность приложения за счет его запуска в нескольких зонах доступности;

повысить безопасность приложения за счет использования протокола HTTPS в балансировщике нагрузки;

использовать встроенные средства мониторинга Amazon CloudWatch и получать уведомления о работоспособности приложений и других важных событиях;

настраивать параметры сервера приложений (например, настройки JVM) и передавать переменные окружения;

параллельно запускать в Amazon EC2 другие компоненты приложения, такие как сервис кэширования памяти;

получить доступ к файлам логов, не авторизуясь на серверах приложений.

Вопрос: Какие облачные ресурсы обеспечивают работу приложений в AWS Elastic Beanstalk?

При создании среды для работы приложения в AWS Elastic Beanstalk используются проверенные возможности и сервисы AWS, такие как Amazon EC2, Amazon RDS, Elastic Load Balancing, Auto Scaling, Amazon S3 и Amazon SNS. Текущая версия AWS Elastic Beanstalk работает с использованием образов AMI Amazon Linux или Windows Server 2012 R2.

Вопрос: Какие типы приложений поддерживает AWS Elastic Beanstalk?

AWS Elastic Beanstalk поддерживает Java, .NET, PHP, Node.js, Python, Ruby, Go и Docker и прекрасно подходит для развертывания интернет-приложений, хотя за счет открытой архитектуры этого сервиса приложения, которые не относятся к интернет-приложениям, также могут быть развернуты с помощью Elastic Beanstalk. В ближайшем будущем планируется обеспечить поддержку других типов приложений и языков программирования. Подробнее см. Поддерживаемые платформы

Вопрос: Какие операционные системы использует AWS Elastic Beanstalk?

AWS Elastic Beanstalk работает на образах AMI с Amazon Linux и Windows Server 2012 R2. Amazon Web Services осуществляет поддержку и обслуживание этих образов AMI. Они предоставляют стабильную, безопасную и высокопроизводительную среду облачных вычислений сервиса Amazon EC2.

Начало работы

Вопрос: Каким образом можно зарегистрироваться в сервисе AWS Elastic Beanstalk?

Чтобы зарегистрироваться в сервисе AWS Elastic Beanstalk, нажмите кнопку «Создать бесплатный аккаунт» на странице описания Elastic Beanstalk. Чтобы получить доступ к этому сервису, требуется аккаунт Amazon Web Services. Если его еще нет, вам будет предложено создать его в начале процесса регистрации в сервисе AWS Elastic Beanstalk. После регистрации ознакомьтесь с руководством по началу работы с AWS Elastic Beanstalk.

Вопрос: Почему меня просят подтвердить номер телефона при регистрации в сервисе AWS Elastic Beanstalk?

Для регистрации в сервисе AWS Elastic Beanstalk должен быть указан ваш действительный номер телефона и адрес электронной почты (на тот случай, если нам потребуется связаться с вами). Процедура подтверждения номера телефона занимает всего несколько минут, в ходе нее на ваш номер поступит звонок, и вы будете должны ввести PIN-код с помощью кнопок своего телефона.

Вопрос: Как после регистрации приступить к работе?

Для скорейшего начала работы с AWS Elastic Beanstalk воспользуйтесь руководством по началу работы с AWS Elastic Beanstalk, которое входит в техническую документацию. Уже через несколько минут вы сможете выполнить развертывание образца приложения для использования или загрузить собственное приложение.

Вопрос: Существует ли образец приложения для проверки работы с AWS Elastic Beanstalk?

Да. AWS Elastic Beanstalk содержит образец приложения, с помощью которого можно испытать работу сервиса и исследовать его возможности.

Базы данных и хранилище

Вопрос: Хранятся ли данные AWS Elastic Beanstalk в хранилище сервиса Amazon S3?

Да. AWS Elastic Beanstalk сохраняет файлы приложения и серверные журналы, если таковые ведутся, в Amazon S3. Если вы используете Консоль управления AWS, AWS Toolkit for Visual Studio или AWS Toolkit for Eclipse, в вашем аккаунте будет создана корзина Amazon S3, и загруженные файлы будут автоматически копироваться с локального клиента в хранилище Amazon S3. При желании вы можете настроить в Elastic Beanstalk ежечасное копирование серверных логов в Amazon S3. Копирование включается с помощью настроек конфигурации среды.

Вопрос: Можно ли хранить в Amazon S3 данные приложения, например образы?

Да. Вы можете использовать Amazon S3 в качестве хранилища для приложения. Для этого проще всего включить пакет SDK AWS в состав файла развертывания вашего приложения. Например, вы можете включить пакет AWS SDK for Java в файл WAR вашего приложения.

Вопрос: Какие решения баз данных можно использовать с AWS Elastic Beanstalk?

Работая с AWS Elastic Beanstalk, вы не привязаны к какой-либо конкретной технологии хранения данных. Можно использовать Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB или Microsoft SQL Server, Oracle и другие реляционные базы данных, работающие в Amazon EC2.

Вопрос: Как создать базу данных для работы с AWS Elastic Beanstalk?

Elastic Beanstalk автоматически выделяет инстанс БД Amazon RDS. Информация для подключения к инстансу БД предоставляется приложению посредством переменных среды окружения. Подробнее о настройке инстансов БД RDS для своей среды см. в руководстве по Elastic Beanstalk для разработчиков.


Вопрос: Требуется ли вносить изменения в код при перемещении приложения из тестовой среды в рабочую?

При работе с AWS Elastic Beanstalk такой необходимости нет. Вы можете указать информацию для подключения в конфигурации среды. Извлекая строку подключения из кода приложения, можно просто настроить различные среды Elastic Beanstalk для работы с разными базами данных.

 

Безопасность

Вопрос: Как сделать приложение частным?

По умолчанию приложение находится в публичном доступе по адресу myapp.elasticbeanstalk.com. С помощью Amazon VPC можно выделить частный изолированный раздел приложения в заданной виртуальной сети. Эту виртуальную сеть можно сделать частной с помощью определенных правил группы безопасности, сетевых ACL и специальных таблиц маршрутизации. Можно также с легкостью настраивать доставку или блокировку входящего трафика (например, по SSH) к серверам приложений путем изменения настроек группы безопасности EC2.

Вопрос: Можно ли запускать приложения в Amazon Virtual Private Cloud (VPC)?

Да, вы можете запускать приложения в VPC. Дополнительные сведения см. в руководстве по AWS Elastic Beanstalk для разработчиков.

Вопрос: Где можно найти дополнительную информацию о безопасности и запуске приложений на AWS?

Для получения дополнительной информации о безопасности AWS ознакомьтесь с документом «Amazon Web Services: обзор процессов обеспечения безопасности» и посетите наш Центр безопасности.

Вопрос: Можно ли использовать сервис Identity & Access Management (IAM) совместно с AWS Elastic Beanstalk?

Да. Пользователи IAM с соответствующими разрешениями теперь могут работать с AWS Elastic Beanstalk.

Вопрос: Для чего стоит использовать IAM с AWS Elastic Beanstalk?

IAM позволяет централизованно управлять пользователями и группами. Вы можете предоставлять определенным пользователям IAM доступ к AWS Elastic Beanstalk и выдавать разрешения доступа «только чтение» тем пользователям, у кого не должно быть возможности выполнять действия с ресурсами Elastic Beanstalk. Все действия пользователей в рамках вашего аккаунта объединяются в одном счете AWS.

Вопрос: Как создать пользователей IAM?

Чтобы создать пользователей IAM, можно использовать консоль IAM, интерфейс командной строки IAM или API IAM. По умолчанию у пользователей IAM нет доступа к сервисам AWS, пока им не будут предоставлены соответствующие разрешения.

Вопрос: Как предоставить пользователю IAM доступ к AWS Elastic Beanstalk?

Чтобы предоставить пользователям IAM доступ к сервисам, используйте политики. Чтобы упростить процесс предоставления доступа к AWS Elastic Beanstalk, для начала можно воспользоваться шаблонами политик в консоли IAM. В Elastic Beanstalk есть два шаблона: доступ только для чтения и полный доступ. Шаблон доступа только для чтения обеспечивает соответствующий доступ к ресурсам Elastic Beanstalk. Шаблон полного доступа обеспечивает полный доступ ко всем операциям Elastic Beanstalk, а также разрешения на управление связанными ресурсами, такими как Elastic Load Balancing, Auto Scaling и Amazon S3. Для создания политик также можно воспользоваться AWS Policy Generator. Дополнительные сведения см. в руководстве по AWS Elastic Beanstalk для разработчиков.

Вопрос: Можно ли ограничить доступ к определенным ресурсам AWS Elastic Beanstalk?

Да. Существует возможность предоставлять или отменять разрешения на доступ к ресурсам AWS Elastic Beanstalk, таким как приложения, версии приложений и среды.

Вопрос: Кому будет выставлен счет за использование ресурсов AWS, созданных пользователем IAM?

Все ресурсы, созданные пользователями IAM с правами аккаунта root, принадлежат этому аккаунту. Счет за них выставляется в аккаунте root.

Вопрос: У кого есть доступ к среде AWS Elastic Beanstalk, созданной пользователем IAM?

У аккаунта root имеется полный доступ ко всем средам AWS Elastic Beanstalk, созданным любым пользователем IAM этого аккаунта. Если вы используете шаблон Elastic Beanstalk, чтобы предоставить пользователю IAM доступ только для чтения, этот пользователь сможет просматривать все приложения, версии приложений, среды и любые связанные ресурсы в пределах аккаунта. Если вы используете шаблон Elastic Beanstalk, чтобы предоставить пользователю IAM полный доступ, этот пользователь сможет создавать, изменять и удалять любые ресурсы Elastic Beanstalk в рамках аккаунта.

Вопрос: Есть ли у пользователя IAM доступ к консоли AWS Elastic Beanstalk?

Да. Пользователь IAM может войти в консоль AWS Elastic Beanstalk с помощью своего имени пользователя и пароля.

Вопрос: Может ли пользователь IAM вызывать API AWS Elastic Beanstalk?

Да. Пользователь IAM с помощью своего ключа доступа и секретного ключа может выполнять операции посредством API Elastic Beanstalk.

Вопрос: Может ли пользователь IAM работать с интерфейсом командной строки AWS Elastic Beanstalk?

Да. Пользователь IAM с помощью своего ключа доступа и секретного ключа может выполнять операции посредством интерфейса командной строки Elastic Beanstalk.

Управляемые обновления платформы

Вопрос: Как обеспечить автоматическое поддержание актуальности базовой платформы для среды, в которой работает мое приложение?

Вы можете выбрать автоматическое обновление сред AWS Elastic Beanstalk до последней версии базовой платформы, на которой работает ваше приложение, во время предусмотренного окна обслуживания. Elastic Beanstalk регулярно выпускает новые версии для поддерживаемых платформ (Java, PHP, Ruby, Node.js, Python, .NET, Go и Docker) с обновлениями операционных систем, веб-серверов, серверов приложений, языков и платформ программирования.

Вопрос: Как начать работать с управляемыми обновлениями платформы?

Чтобы Elastic Beanstalk автоматически управлял обновлениями платформы, нужно разрешить автоматические обновления платформы на вкладке «Configuration» в консоли Elastic Beanstalk или выполнить аналогичные операции с помощью интерфейса командной строки EB или API EB. После включения этой возможности можно настроить, какие типы обновлений будут разрешены и когда они будут выполняться.

Вопрос: Какие виды обновлений версий платформы будут применяться при управляемых обновлениях платформы?

AWS Elastic Beanstalk может автоматически выполнять установку новых исправлений и выполнять обновления до младших версий платформы. Elastic Beanstalk не будет выполнять автоматические обновления до основных версий платформы (например, с Java 7 Tomcat 7 до Java 8 Tomcat 8), так как это подразумевает обратно несовместимые изменения и требует дополнительного тестирования. В подобных случаях требуется запустить обновление вручную.

Вопрос: Каким образом AWS Elastic Beanstalk различает основные, второстепенные и исправленные версии?

Структура нумерации версий платформ AWS Elastic Beanstalk такова: ОСНОВНАЯ.ВТОРОСТЕПЕННАЯ.ИСПРАВЛЕНИЕ (например, 2.0.0). Увеличение чисел, составляющих номер версии, производится следующим образом.

ОСНОВНАЯ версия увеличивается, если есть несовместимые изменения.

ВТОРОСТЕПЕННАЯ версия увеличивается, если добавлены новые функциональные возможности и обеспечивается совместимость изменений.

Число в позиции ИСПРАВЛЕНИЕ увеличивается, если исправлены ошибки и обеспечивается совместимость изменений.

Вопрос: Когда и как можно выполнить обновление основных версий?

Обновление основных версий можно выполнить в любое время, используя консоль управления AWS Elastic Beanstalk, API сервиса или интерфейс командной строки. Есть несколько вариантов выполнения обновления основной версии.

Применить обновление локально, в существующей среде. См. в разделе «Обновление версии платформы среды Elastic Beanstalk».

Создать клон существующей среды на новой версии платформы. Подробнее см. в разделе «Клонирование среды».

Вопрос: Каким образом Elastic Beanstalk выполняет управляемые обновления платформы?

Обновления выполняются с помощью постоянного механизма развертывания, который гарантирует, что никакие изменения не будут сделаны в существующей среде до тех пор, пока параллельно работающая группа инстансов Amazon EC2 с установленным обновлением не будет готова к тому, чтобы поменяться местами с существующими инстансами, которые впоследствии останавливаются. Кроме того, если система обеспечения работоспособности сервиса Elastic Beanstalk обнаружит проблемы во время обновления, трафик будет перенаправлен в существующую группу инстансов, так что последствия для конечных пользователей приложения будут минимальными.

Вопрос: Будет ли мое приложение доступно во время окна обслуживания?

Так как управляемые обновления платформы используют для выполнения обновлений постоянный механизм развертывания, приложение будет доступно во время окна обслуживания, и на пользователях приложения обновление никак не отразится.

Вопрос: Какова стоимость использования управляемых обновлений платформы?

За использование управляемых обновлений платформы дополнительная плата не взимается. Вы просто платите за дополнительные инстансы EC2, необходимые для обновления платформы и используемые во время обновления.

Вопрос: Что такое окно обслуживания?

Окно обслуживания – это еженедельный временной интервал продолжительностью два часа, во время которого AWS Elastic Beanstalk запускает обновления платформы, если включено управляемое обновление платформы и доступна новая версия платформы. Например, если вы выберете окно обслуживания, которое начинается каждое воскресенье в 2 часа ночи, то AWS Elastic Beanstalk будет запускать обновления платформы каждое воскресенье в интервале времени от 2 до 4 часов ночи. Важно отметить, что в зависимости от конфигурации ваших приложений обновления могут завершаться после окончания времени окна обслуживания.

Окно обслуживания определяется для каждой среды отдельно, поэтому есть возможность устанавливать различные окна обслуживания для разных приложений или компонентов приложения. Таким образом, если вы не хотите, чтобы несколько частей вашего приложения обновлялись в одно и то же время, можно разнести такие обновления сред по времени. Если вы разрешили управляемое обновление платформы, но не указали окно обслуживания, то для вашей среды будет по умолчанию назначено еженедельное двухчасовое окно обслуживания. Если вы хотите самостоятельно изменить время проведения обслуживания, можно отредактировать настройки управляемого обновления в Консоли управления AWS или с помощью API UpdateEnvironment.

Вопрос: Каким образом я буду извещен о доступности новой версии платформы?

Вы будете извещены о доступности новой версии платформы через Консоль управления AWS, с помощью объявлений в форуме или примечаний к выпуску.

Вопрос: Где можно найти подробные сведения о различиях между версиями платформы?

Подробные сведения о различиях между версиями платформы можно найти на странице примечаний к выпуску AWS Elastic Beanstalk.

Вопрос: Какие операции можно выполнять в среде в процессе выполнения управляемого обновления?

Единственная операция, возможная во время выполнения управляемого обновления платформы, это операция «отменить». При этом обновление немедленно прекращается и выполняется откат к предыдущей версии.

Вопрос: До какой версии будет обновлена среда, если между окнами обслуживания станут доступны несколько новых версий?

Ваша среда всегда будет обновляться до самой последней версии с учетом уровня обновлений, заданного вами (младшие плюс исправления или только исправления).

Вопрос: Где можно найти подробные сведения обо всех управляемых обновлениях платформы, выполненных в моей среде?

Подробные сведения о каждом управляемом обновлении платформы доступны на странице событий, они обозначены тегом типа события «MAINTENANCE».

Вопрос: Как часто выпускаются новые версии платформ?

Количество поддерживаемых выпусков новых версий в течение года меняется в зависимости от частоты и содержимого выпусков и исправлений, публикуемых поставщиком языка/платформы программирования или командой разработчиков ядра, а также результатов детальных исследований этих выпусков и исправлений нашей технической службой БД.

Оплата

Вопрос: Сколько стоит AWS Elastic Beanstalk?

Дополнительная плата за Elastic Beanstalk не взимается, вы платите только за ресурсы AWS, необходимые для хранения и работы приложений. Новые клиенты AWS, на которых распространяется уровень бесплатного пользования AWS, могут выполнять развертывание приложений в рамках уровня бесплатного пользования, используя настройки Elastic Beanstalk по умолчанию.

Вопрос: Сколько стоит использование ресурсов AWS, на которых работает приложение в AWS Elastic Beanstalk?

Вы платите только за то, что используете, без минимальных платежей за ресурсы AWS. Информацию о ценах на сервис EC2 см. в разделе цен на странице описания EC2. Информацию о ценах на сервис S3 см. в разделе цен на странице описания S3. С помощью простого калькулятора AWS вы можете оценить сумму счета для приложений разных размеров.

Вопрос: Как проверить объем ресурсов AWS, используемых приложением, и получить доступ к счету?

Расходы за текущий расчетный период можно в любое время просмотреть на сайте Amazon Web Services, войдя в аккаунт Amazon Web Services и нажав на пункт «Account Activity» (История аккаунта) в разделе «Your Web Services Account» (Ваш аккаунт AWS).

Поддержка

Вопрос: Сервис AWS Support включает поддержку AWS Elastic Beanstalk?

Да. Сервис AWS Support рассматривает вопросы, связанные с использованием AWS Elastic Beanstalk. Подробные сведения и информацию о ценах см. на странице AWS Support.

Вопрос: Доступны ли другие варианты поддержки?

В разработке приложений вам поможет обширная база знаний сообщества AWS, которой вы сможете воспользоваться, посетив форум AWS Elastic Beanstalk.

Подробнее о ценах на AWS Elastic Beanstalk

Перейти на страницу цен на AWS Elastic Beanstalk
Готовы начать работу?
Регистрация
Есть вопросы?
Свяжитесь с нами