Вопрос: Что такое AWS CloudFormation?

Сервис AWS CloudFormation позволяет разработчикам и предприятиям без труда создать набор связанных ресурсов AWS и обеспечить их упорядоченное и предсказуемое распределение.

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

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

Начать работу с AWS бесплатно

Создать бесплатный аккаунт
или войти в Консоль

Уровень бесплатного пользования AWS включает 750 часов использования узла микрокэша Amazon ElastiCache.

Сведения об уровне бесплатного пользования AWS »

Вопрос: Чем сервис AWS CloudFormation отличается от сервиса AWS Elastic Beanstalk?

Эти сервисы являются взаимодополняющими. AWS Elastic Beanstalk предоставляет среду для простого развертывания и запуска приложений в облаке. Он интегрируется с инструментами разработчика и обеспечивает единый пункт управления жизненным циклом приложений. Сервис AWS CloudFormation – удобное средство выделения разнообразных ресурсов AWS. Он обеспечивает поддержку инфраструктурных требований многих типов приложений, таких как существующие корпоративные приложения, приложения прежних версий, приложения на основе различных ресурсов AWS и решения на основе контейнеров (в том числе приложения, построенные с использованием AWS Elastic Beanstalk).

Таким образом, среда приложений Elastic Beanstalk – это один из типов ресурсов AWS, поддерживаемых сервисом AWS CloudFormation. Это, в частности, позволяет создать и использовать приложение в среде AWS Elastic Beanstalk и хранить данные приложения в базе данных RDS. Помимо инстансов RDS, к этой группе можно добавить любые другие поддерживаемые ресурсы AWS.

Вопрос: Какие новые понятия введены сервисом AWS CloudFormation?

Сервисом AWS CloudFormation введены два понятия: понятие шаблона, который представляет собой текстовый файл в формате JSON или YAML с описанием всех ресурсов AWS, требуемых для развертывания и запуска приложения, и понятие стека, который представляет собой набор ресурсов AWS, создаваемых и управляемых как единое целое при создании экземпляра шаблона сервисом AWS CloudFormation.

Вопрос: Как начать работу с AWS CloudFormation?

Вы можете легко начать работу с AWS CloudFormation с помощью Консоли управления AWS, которая предоставляет удобный графический веб-интерфейс для развертывания и управления стеками. Чтобы создать новый стек в Консоли управления AWS, достаточно выполнить несколько простых шагов.

  1. Задайте имя стека. Присвойте стеку уникальное имя.
  2. Выберите шаблон. Выберите шаблон в локальной файловой системе или укажите его URL-адрес в хранилище Amazon S3. Это может быть один из образцов шаблонов AWS CloudFormation, ваш собственный шаблон, шаблон из репозитория управления версиями или шаблон сторонних разработчиков.
  3. Задайте параметры. Если шаблон предусматривает пользовательскую настройку развертывания, задайте любые параметры либо используйте настройки по умолчанию.
  4. Нажмите «Create». Запустите развертывание. В Консоли управления AWS вы увидите текущее состояние развертывания, а также все имена ресурсов и события стека.

Вопрос: Какие ресурсы поддерживает AWS CloudFormation?

Полный перечень поддерживаемых ресурсов AWS и их возможностей приведен на странице «Поддерживаемые сервисы AWS» раздела «История релиза» в документации.

Пользовательские ресурсы AWS CloudFormation позволяют управлять дополнительными ресурсами AWS и прочими ресурсами.

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

Да. AWS CloudFormation не препятствует этому, и вы можете полностью контролировать все элементы своей инфраструктуры. Все существующие средства AWS и инструменты сторонних разработчиков для управления ресурсами AWS по-прежнему доступны для использования.

Вопрос: Из каких элементов состоит шаблон AWS CloudFormation?

Шаблоны AWS CloudFormation представляют собой текстовые файлы в формате JSON или YAML, состоящие из пяти типов элементов:

  1. необязательный список параметров шаблона (входные значения, передаваемые в момент создания стека);
  2. необязательный список выходных значений (например, полный URL-адрес веб-приложения);
  3. необязательный список таблиц данных, используемый для просмотра статических значений конфигурации (например, имен AMI);
  4. список ресурсов AWS и их значений конфигурации;
  5. номер версии формата файла шаблона.

С помощью параметров можно задать настройки работы шаблона в момент создания стека. Например, при создании стека сервису AWS CloudFormation можно передать значение размера базы данных Amazon RDS, данные о типах инстансов Amazon EC2 и номера портов сервера баз данных и веб-сервера. Каждый из параметров может иметь значение по умолчанию и описание, а метка NoEcho позволяет скрыть введенное вами фактическое значение на экране и в журналах событий AWS CloudFormation. При создании стека AWS CloudFormation Консоль управления AWS автоматически генерирует и отображает всплывающее диалоговое окно, в котором можно редактировать значения параметров.

Выходные значения – это очень удобный способ отображения ключевых ресурсов стека для пользователя (таких как адрес балансировщика нагрузки Elastic Load Balancing или базы данных Amazon RDS) посредством Консоли управления AWS или инструментов командной строки. С помощью простых функций можно объединять строковые литералы и значения атрибутов, связанные с конкретными ресурсами AWS.

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

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

Вопрос: Почему разрешено присваивать имена не всем ресурсам?

Сервис AWS CloudFormation позволяет вам присваивать имена некоторым ресурсам (например, корзинам Amazon S3), но не всем. Присвоение ресурсам имен ограничивает возможность повторного использования шаблонов и приводит к возникновению конфликтов имен, если при обновлении ресурс необходимо заменить. Во избежание подобных проблем CloudFormation в ряде случаев не поддерживает именование ресурсов пользователем.

Вопрос: Можно ли с помощью AWS CloudFormation при создании стека устанавливать ПО?

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

Вопрос: Можно ли использовать AWS CloudFormation для установки Chef?

Да. Сервис AWS CloudFormation можно использовать для установки ПО Chef Server и Chef Client на инстансы EC2. Дополнительные сведения и инструкции см. на странице Интеграция AWS CloudFormation с Chef.

Вопрос: Можно ли использовать сервис AWS CloudFormation для установки Puppet?

Да. Сервис AWS CloudFormation можно использовать для установки ПО Puppet Master и Puppet Client на инстансы EC2. Дополнительные сведения и инструкции см. на странице Интеграция AWS CloudFormation с Puppet.

Вопрос: Поддерживает ли AWS CloudFormation тегирование ресурсов Amazon EC2?

Да. Ресурсам Amazon EC2, поддерживающим функцию тегирования, можно присваивать теги в шаблоне AWS. Значения тегов могут ссылаться на параметры шаблонов, имена других ресурсов, значения атрибутов ресурсов, таких как адреса, или значения, вычисляемые с помощью простых функций (например, объединенный список строк).

AWS CloudFormation автоматически присваивает томам Amazon EBS и инстансам Amazon EC2 теги по имени стека AWS CloudFormation, к которому они принадлежат.

Вопрос: Будет ли у разработчика доступ к инстансам Amazon EC2 или к полям пользовательских данных конфигурации запуска Auto Scaling?

Да. С помощью несложных функций вы можете объединить строковые литералы и значения атрибутов ресурсов AWS и передавать их полям пользовательских данных в вашем шаблоне. Для получения подробных сведений об этих функциях ознакомьтесь с нашими образцами шаблонов.

Вопрос: Что произойдет, если не удастся создать один из ресурсов стека?

В связи с тем, что по умолчанию включена функция автоматического отката в случае возникновения ошибки, все ресурсы AWS, успешно созданные для стека сервисом AWS CloudFormation к моменту возникновения ошибки, будут удалены. Это полезно в тех случаях, когда вы, к примеру, случайно превысили свой лимит эластичных IP-адресов по умолчанию или у вас нет доступа к AMI EC2, который нужно запустить. Данная функция гарантирует, что стек будет либо создан полностью, либо не будет создан вообще. Это упрощает администрирование системы и реализацию многоуровневых решений на базе сервиса AWS CloudFormation.

Вопрос: Можно ли отсрочить создание стека до момента запуска нужного приложения?

Да. Сервис AWS CloudFormation предоставляет ресурс WaitCondition, который блокирует создание других ресурсов до тех пор, пока от внешнего источника (от приложения или управляющей системы) не будет получен сигнал завершения.

Вопрос: Можно ли при удалении стека сохранить данные?

Да. AWS CloudFormation позволяет задать политики удаления для ресурсов шаблона. Вы можете настроить создание снимков состояния томов Amazon EBS или инстансов баз данных Amazon RDS перед их удалением, а также задать сохранение определенных ресурсов при удалении стека. Например, таким образом можно предотвратить удаление корзин Amazon S3 при удалении стека.

Вопрос: Можно ли обновить стек после его создания?

Да. С помощью сервиса AWS CloudFormation можно вносить изменения в ресурсы существующих стеков и обновлять их контролируемым и предсказуемым образом. Внося в стек изменения с помощью шаблонов, вы можете управлять версиями инфраструктуры AWS точно так же, как и версиями работающего в этой инфраструктуре ПО.

Вопрос: Можно ли создавать стеки в виртуальном частном облаке (VPC)?

Да. Сервис CloudFormation поддерживает создание облаков VPC, подсетей, шлюзов, таблиц маршрутизации и списков контроля доступа к сети, а также создание таких ресурсов, как эластичные IP-адреса, инстансы Amazon EC2, группы безопасности EC2, группы Auto Scaling, балансировщики нагрузки Elastic Load Balancing, инстансы баз данных Amazon RDS и группы безопасности Amazon RDS в облаке VPC.



Вопрос: Как зарегистрироваться в сервисе AWS CloudFormation?

Чтобы зарегистрироваться в сервисе AWS CloudFormation, нажмите кнопку Создать бесплатный аккаунт на странице сведений о продукте AWS CloudFormation. После регистрации обратитесь к разделу документации сервиса, куда входит «Руководство по началу работы».

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

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

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

Проще всего начать работу с сервисом AWS CloudFormation, ознакомившись с «Руководством по началу работы», которое входит в техническую документацию. Уже через несколько минут вы сможете развернуть и начать использовать один из наших образцов шаблонов, на примере которого увидите, как создать инфраструктуру для работы таких приложений, как Tracks, WordPress и др.

Вопрос: Имеются ли образцы шаблонов, с помощью которых можно испытать работу сервиса AWS CloudFormation?

Да, в AWS CloudFormation есть образцы шаблонов, с помощью которых можно испытать работу сервиса и исследовать его возможности. На их примере вы увидите, как обеспечить взаимосвязь и работу различных ресурсов AWS в комплексе, в соответствии с рекомендациями по использованию избыточности во множестве зон доступности, масштабирования и настройки предупреждений. Чтобы приступить к работе, достаточно перейти в Консоль управления AWS, нажать Create Stack и выполнить последовательность действий по выбору и запуску одного из наших образцов. Когда стек будет создан, выберите его в Консоли и просмотрите вкладки Template и Parameter, чтобы ознакомиться с элементами файла шаблона, использованного при создании этого стека.

Вопрос: Какова стоимость использования сервиса AWS CloudFormation?

Дополнительная плата за AWS CloudFormation отсутствует. Вы платите только за созданные ресурсы AWS (например, инстансы Amazon EC2, балансировщики нагрузки Elastic Load Balancing и др.)

Вопрос: Начисляется ли плата за ресурсы, удаленные в результате отката из-за ошибки, возникшей при попытке создания стека?

Да. Плата за ресурсы AWS, созданные при инстанциации шаблона, начисляется независимо от того, был ли процесс создания стека завершен успешно или с ошибкой.

Вопрос: Имеются ли ограничения на количество шаблонов или стеков?

Количество шаблонов не ограничено. При этом в каждом аккаунте AWS CloudFormation можно создать не более 200 стеков. Для повышения этого ограничения заполните заявку, и мы ответим на нее в течение двух рабочих дней.

Вопрос: Имеются ли ограничения длины полей описаний?

Поля описаний Template, Parameter, Output и Resource ограничены 4096 символами.

Вопрос: Имеются ли ограничения на число параметров или выходных значений в шаблоне?

В шаблон можно ввести до 60 параметров и до 60 выходных значений.

Вопрос: Какие точки доступа к сервису Amazon CloudFormation используются в каждом из регионов?

Информацию о конечных точках для каждого из регионов см. в технической документации.

Вопрос: В каких регионах AWS в настоящее время доступен сервис AWS CloudFormation?

Дополнительные сведения о доступности сервиса CloudFormation по регионам см. на странице Продукты и сервисы по регионам.