Общие вопросы

Вопрос: Что такое AWS CDK?
AWS Cloud Development Kit (AWS CDK) – это платформа для разработки программного обеспечения с открытым исходным кодом. На ее основе можно определять облачную инфраструктуру как код с использованием современных языков программирования и выполнять развертывание с помощью AWS CloudFormation.

Вопрос. Что можно делать с помощью AWS CDK CLI?
AWS CDK Command Line Interface (CLI) можно использовать для взаимодействия с приложениями CDK. С помощью CDK CLI можно перечислять стеки, определенные в приложении CDK, синтезировать на их основе шаблоны CloudFormation, выявлять различия между запущенными инстансами стеков и стеками, определенными в коде CDK, а также развертывать стеки в любом публичном регионе AWS.

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

Вопрос: Как начать работу с AWS CDK?
Лучший способ начать работу с AWS CDK – изучить раздел, посвященный началу работы, в руководстве по AWS CDK для разработчиков. Всего за несколько минут вы научитесь определять и развертывать приложения AWS CDK. Более подробное руководство см. на странице https://CDKworkshop.com.

Вопрос: Существуют ли образцы приложений AWS CDK, которые можно использовать в качестве ориентира?
Да, несколько образцов AWS CDK на разных языках программирования можно найти на странице https://github.com/aws-samples/aws-cdk-examples. Образцы также содержатся в руководстве AWS для разработчиков по адресу https://docs.aws.amazon.com/cdk/latest/guide/examples.html.

Вопрос: Почему для использования AWS CDK требуется среда выполнения JavaScript?
AWS создает бизнес‑логику пакетов AWS Construct Library на TypeScript и предоставляет привязки к каждому из поддерживаемых языков программирования. Благодаря этому поведение логических структур, созданных AWS CDK, единообразно на всех языках, что позволяет предлагать полный набор пакетов логических структур на всех языках. Весь код в рамках проекта AWS CDK можно писать на наиболее удобном для вас языке программирования, а среда выполнения JavaScript используется для реализации возможностей программирования. Ссылка на проект jsii – https://github.com/aws/jsii.

Вопрос. Где найти исходный код AWS CDK?
Открытый исходный код AWS CDK доступен на GitHub по адресу https://github.com/awslabs/aws-cdk.

Вопрос. Как перенести приложения CDK из версии 1 в версию 2?
Чтобы перенести приложение в AWS CDK версии 2, сначала нужно обновить флаги возможностей в cdk.json. Затем следует обновить зависимости и импортированные данные приложения в соответствии с его языком программирования. Подробнее можно узнать по ссылке https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html

Вопрос. Как принять участие в проекте?
Проект по разработке AWS CDK открыт, и свой вклад в базу кода может внести любой желающий. Подробнее рассказано по адресу https://github.com/awslabs/aws-cdk/blob/master/CONTRIBUTING.md.

Вопрос. Какие языки программирования поддерживает AWS CDK?
AWS CDK поддерживает JavaScript, TypeScript, Python, Java, C# и Go (в ознакомительной версии для разработчиков). В будущем планируется поддержка других языков для AWS CDK, поэтому голосуйте за предпочитаемый вариант на GitHub.

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

Вопрос: Существуют ли какие‑либо лимиты ресурсов или ограничения для AWS CDK?
Поскольку в работе AWS CDK используется сервис CloudFormation, на приложения AWS CDK распространяются те же ограничения, что и на сервис CloudFormation.

Вопрос. Как связаны AWS CDK и AWS Solutions Constructs?
AWS Solutions Constructs – это расширение библиотеки с открытым исходным кодом для AWS CDK. AWS Solutions Constructs предоставляет тщательно отобранный набор многофункциональных шаблонов архитектуры, которые созданы с учетом рекомендаций, определяемых концепцией AWS Well‑Architected Framework. Обязательным предварительным требованием для использования AWS Solutions Constructs является установка AWS CDK. Инструкции по добавлению AWS Solutions Constructs в среду AWS CDK приведены в нашем руководстве разработчика.

AWS Construct Library

Вопрос. Что такое AWS Construct Library?
AWS Construct Library содержит логические структуры AWS CDK, которые представляют собой извлеченную логику облачной инфраструктуры, упакованную для многократного использования. Логические структуры можно определять локально или публиковать с использованием менеджеров пакетов наподобие npm, Maven, NuGet или PyPI для общего доступа в рамках организации.

Вопрос: Какие сервисы доступны в AWS Construct Library?
Мы поддерживаем многие распространенные сервисы и возможности AWS с помощью многофункциональных высокоуровневых логических структур, а также обеспечиваем полную поддержку ресурсов CloudFormation нижнего уровня, в том числе новых ресурсов вскоре после их появления. Мы поддерживаем актуальность AWS Construct Library, автоматически генерируя API уровня ресурсов всякий раз при изменении спецификаций CloudFormation. На основе автоматически сгенерированных API мы предлагаем разработанные вручную абстракции более высокого уровня, благодаря чему работать с тем или иным сервисом становится еще проще. Такие удобные высокоуровневые абстракции доступны пока не для всех сервисов AWS, но мы постоянно добавляем новые возможности, ориентируясь при этом сервисы, наиболее востребованные в современных облачных приложениях. Подробнее рассказано в справке по API AWS Construct Library.

Вопрос: Как быстро в AWS CDK появляется поддержка новых возможностей CloudFormation?
Мы синхронизируем AWS Construct Library со спецификацией ресурсов CloudFormation и добавляем новые возможности CloudFormation в AWS CDK вскоре после их публикации.

Вопрос: Как предоставлять участникам группы доступ к логическим структурам AWS CDK и управлять ими?
Библиотеки логических структур AWS CDK действуют точно так же, как любая другая библиотека. Они употребляются через менеджер пакетов используемого языка программирования. Поддержание актуального состояния библиотек – одна из составляющих стандартного рабочего процесса. Все пакеты поддерживают семантическую систему версий, что позволяет принимать осознанные решения о миграции на новые модели инфраструктуры.

CloudFormation и SAM

Вопрос. Как связаны AWS CDK и CloudFormation?
AWS CDK можно рассматривать как набор инструментов разработчика, позволяющий использовать все возможности современных языков программирования для определения Infrastructure as Code AWS. При запуске приложений AWS CDK они компилируются в полностью готовые шаблоны JSON/YAML CloudFormation, которые затем отправляются в сервис CloudFormation для распределения. Поскольку AWS CDK использует CloudFormation, доступны все преимущества CloudFormation, такие как безопасное развертывание, автоматическое восстановление предыдущей версии и обнаружение отклонений.

Вопрос: Как связаны AWS CDK и AWS SAM?
И AWS Serverless Application Model, и AWS CDK создают абстракцию инфраструктуры AWS в виде кода, что упрощает определение облачной инфраструктуры. AWS SAM используется для работы с бессерверными приложениями и архитектурами для определения инфраструктуры в виде компактных декларативных шаблонов JSON / YAML. AWS CDK предлагает поддержку всех сервисов AWS и позволяет использовать для определения облачной инфраструктуры современные языки программирования, такие как TypeScript, Python, C# и Java. И AWS SAM, и AWS CDK используют CloudFormation в качестве механизма выделения ресурсов для стеков инфраструктуры.

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

Вопрос: Можно ли использовать интерфейс командной строки AWS SAM для локального тестирования функций Lambda, определенных с помощью AWS CDK?
Да, можно локально синтезировать шаблон CloudFormation на основе приложения AWS CDK и затем сослаться на созданный идентификатор обработчика AWS Lambda в интерфейсе командной строки SAM. Подробные сведения есть разделе руководства по CDK для разработчика, посвященном SAM CLI.

Стоимость

Вопрос: По какой лицензии распространяется AWS CDK?
AWS CDK распространяется по лицензии Apache версии 2.0. Подробные сведения есть в документах LICENSE и NOTICE.

Вопрос: Сколько стоит использование AWS CDK?
Дополнительная плата за AWS CDK отсутствует. Оплачиваются ресурсы AWS (например, инстансы Amazon EC2 или балансировщики нагрузки Elastic Load Balancing), созданные с использованием AWS CDK, точно так же, как при создании вручную. Вы платите только за то, чем пользуетесь, без минимальной оплаты или долгосрочных обязательств.

Ознакомиться с возможностями продукта

Посетите страницу с описанием возможностей AWS CDK

Подробнее 
Зарегистрировать бесплатный аккаунт

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

Регистрация 
Документация

Подробнее об AWS CDK в руководстве для разработчиков

Подробнее