You are currently viewing Ускоренный курс AWS Cloud Development Kit (SDK)

Ускоренный курс AWS Cloud Development Kit (SDK)

Видео текст:

[00:00] => AWS cloud development kit — это инструмент с открытым исходным кодом, который позволяет разработчикам использовать свои
[00:05] => любимые языки программирования для написания кода инфраструктуры для AWS, Мэтт Маркс —
[00:10] => создатель сообщества AWS, и он научит вас как использовать набор для облачной разработки AWS. Эй,
[00:16] => Я принадлежу Мэтту Марту. А я Брайан. И я являюсь Создатель сообщества AWS. И я здесь, чтобы дать
[00:23] => вы прошли ускоренный курс CDK от freeCodeCamp. Возможно, вы здесь потому, что устали от ручного
[00:31] => подготовка ваших ресурсов с помощью консоли. Или, может быть, как и я, вы ненавидите писать yaml.
[00:37] => Но CDK также часто появлялся в новостях в последнее время. В Декабрь, вторая версия стала общедоступной.
[00:43] => Вторая версия была значительно улучшена по сравнению с первой версией , поскольку существует только одна стабильная библиотека NPM для
[00:48] => установите вместо одного для каждого модуля. Среди других улучшений CDK также был представлен довольно
[00:56] => видное место в лейтмотиве доктора Фогеля «Изобретать заново». И книга CDK была выпущена. Книга CDK
[01:03] => была написана группой героев AWS, и это войдет в большую глубину, чем то, что будет
[01:07] => быть охваченным в этом ускоренном курсе, будут совпадение, но я все равно настоятельно рекомендую эту книгу.
[01:14] => Итак, что мы рассмотрим в этом курсе, я собираюсь начните с ознакомления с основами определений CDK
[01:21] => о стеках приложений, конструкциях и о том, как все это относится к образованию облаков. Тогда я собираюсь сделать
[01:28] => 30-минутный ускоренный запуск семинара CDK, который является семинаром, предоставляемым AWS, и доступен по адресу
[01:36] => CDC workshop.com . Оттуда мы перейдем к некоторым продвинутые темы, такие как тестирование и лучшие практики.
[01:46] => Этот курс разделен на главы на YouTube. Так что, если есть особые области, представляющие интерес,
[01:52] => не стесняйтесь прыгать вокруг да около. Я также предоставлю ссылки с отметками времени в описании с
[01:58] => дополнительная информация. Это будет включать полезные документация, блоги, ссылки или что-нибудь еще.
[02:06] => Я собираюсь пройти семинар CDK очень быстро, но вы должны сделать это сами. Лучший
[02:12] => способ узнать о CDK — это использовать его. И так как это видео с YouTube, не стесняйтесь ускорить меня,
[02:20] => притормози меня или перепиши разделы, если тебе нужно.
[02:24] => Если вы думаете, что я что-то пропустил в этом ускоренном курсе, или вы чего-то не поняли, позвольте мне
[02:29] => сообщайте в комментариях или подписывайтесь на меня в Твиттере и протяни руку туда. Я буду рад помочь. Здесь
[02:36] => несколько других ресурсов, которые я хотел бы конкретно вызывать. Сообщество CDK на Slack очень
[02:42] => активный. Он полон дружелюбных, знающих людей люди, которые любят помогать. Авторы этого
[02:46] => CDK book также очень активны там. Кстати , вы слышали, что сейчас вышла книга CDK?
[02:54] => Кроме того, есть также день CBK, который является ежегодной конференцией, связанной с CDK.
[03:00] => В прошлом году я уделил 15 минут молниеносный разговор о создании поддающихся проверке
[03:04] => шутки с CDK. И я добавлю ссылку на это ниже.
[03:09] => И теперь, когда с этим покончено, я надеюсь, что вы находитесь в нужном месте. Давайте перейдем к основам.
[03:16] => CDK расшифровывается как набор для облачной разработки. Это программное обеспечение с открытым исходным кодом, предоставляемое AWS
[03:23] => это позволяет вам писать императивный код для создания декларативных шаблонов CloudFormation.
[03:29] => Это позволяет вам определить, как, чтобы вы могли понять, на чем это означает, что вы можете больше сосредоточиться
[03:36] => архитектура вашего приложения, а не мельчайшие детали ролей IAM и заявлений о политике.
[03:42] => CDK доступен на JavaScript, машинописном, Python, Java, C sharp, и это в разработчике
[03:49] => предварительный просмотр для go CDK сам по себе не основан на GS. Даже если вы используете один из других языков,
[03:57] => сам код CDK будет выполнен через no GS. Так что отсутствие JS не является обязательным требованием.
[04:05] => Хорошо, итак, CDK генерирует образование Облаков. Но что такое формирование облака — это сервис AWS, который
[04:14] => предоставляет ресурсы и стеки AWS. AWS ресурсы — это такие вещи, как лямбда-функции,
[04:20] => s3, корзины, DynamoDB, таблицы — практически все, что предлагает AWS. Стек облачных данных
[04:27] => это всего лишь набор ресурсов AWS. Облако для меня CloudFormation использует файлы JSON или YAML в качестве
[04:34] => шаблон, описывающий предполагаемое состояние всех ресурсов, необходимых для развертывания приложения.
[04:40] => Стек реализует группу и управляет ею ресурсов, указанных в вашем шаблоне
[04:45] => и это позволяет совместно управлять состоянием и зависимостями этих ресурсов.
[04:50] => Когда вы обновляете облачную информацию шаблон, он создает набор изменений.
[04:54] => Набор изменений — это предварительный просмотр изменений, которые будут выполняться операциями стека для создания
[05:00] => Обновите или удалите ресурсы , чтобы синхронизировать шаблон.
[05:07] => Таким образом, CDK генерирует образование облаков и облако положения о формировании, ресурсы AWS. Что
[05:13] => как выглядит приложение CDK и как оно связано? То корень CDK — это приложение CDK. Это конструкция, которая
[05:22] => координирует жизненный цикл стеков внутри него. Эквивалента облачного образования для приложения не существует.
[05:28] => В приложении у вас может быть несколько стеков CDK, а стеки CDK могут даже иметь вложенные стеки.
[05:35] => Стеки CDK эквивалентны один к одному со стеками облачных данных,
[05:39] => и вложенные стеки также находятся в равновесии один к одному эквивалентно стекам облачных данных. Когда вы
[05:45] => запустите CDK, синтезатор или CDK, и результат будет Шаблон CloudFormation для этой структуры приложения.
[06:00] => Приложение CDK представляет собой специальную конструкцию маршрута это управляет жизненным циклом стеков
[06:05] => и ресурсы внутри него. Жизненный цикл приложения строит дерево приложения сверху вниз
[06:11] => подход, а затем он выполняет методы для конструкций внутри него. Обычно вам не нужно
[06:18] => для непосредственного взаимодействия с любым из методов подготовки, проверки или синтеза конструкций,
[06:23] => но их можно отменить. Заключительный этап частью жизненного цикла приложений является этап развертывания,
[06:29] => куда загружается артефакт формирования облака образование облаков. Единицей развертывания в CDK является
[06:37] => называется стопкой. Все ресурсы, определенные в рамках стека, прямо или косвенно,
[06:44] => предоставляемые как единое целое стеки CDK имеют те же ограничения, что и стеки CloudFormation.
[06:51] => Стеки являются мощными в формировании облаков. Для развертывания шаблона в нескольких средах,
[06:56] => вам необходимо использовать параметры формирования облаков. Но они решаются только во время развертывания.
[07:02] => При формировании облака, если вы хотите условно включить ресурс на основе параметра,
[07:07] => вы должны использовать условие CloudFormation. Но в CDK вам не нужно использовать ни то, ни другое, вы
[07:13] => можно просто использовать оператор if для проверки значения следует ли определять ресурс или нет,
[07:18] => в конечном итоге все становится намного проще. Вы можете использовать облако параметры и условия формирования в CDK. Но
[07:26] => они обескуражены, так как решаются только во время развертывание, которое происходит значительно позже синтеза CDK.
[07:36] => Мы много слышали о конструкции. Но что это такое?
[07:39] => Существует четыре уровня конструкций. Уровень нулевые конструкции — это всего лишь базовые ресурсы.
[07:45] => Все более высокие уровни наследуются от уровня ноль, к нему не привязан конкретный тип.
[07:51] => Конструкции первого уровня — один к одному представления ресурсов облачной информации.
[07:56] => Все они имеют префикс в API CDK с буквами C F n, we, который является краткой формой
[08:03] => образования облаков. То, как я это помню, таково первый уровень — один на один с CloudFormation.
[08:11] => Конструкции второго уровня не улучшены или расширенные конструкции первого уровня.
[08:16] => Они предоставлены командой CDK и предлагают вспомогательные методы и разумные значения по умолчанию.
[08:21] => Конструкции третьего уровня — это комбинации конструкций,
[08:26] => что может быть смешением конструкций первого, второго и третьего уровней вместе взятых.
[08:31] => Чаще всего вы будете взаимодействовать с конструкциями второго или третьего уровня.
[08:36] => Некоторые модули в CDK еще не имеют конструкций второго уровня. Но в значительной степени все
[08:41] => конструкции первого уровня существуют для соответствующих API облачных вычислений. Команда CDK очень быстра в
[08:47] => внесение изменений в конструкции первого уровня и более часто используемые конструкции второго уровня.
[08:54] => для построения первого уровня давайте рассмотрим модуль анализатора доступа. В этом случае модуль не
[09:01] => доступны любые конструкции второго уровня, так что есть только конструкция первого уровня, которую МОЖНО анализировать.
[09:09] => Как вы можете видеть, это один к одному представление с помощью API CloudFormation.
[09:16] => Конструкция анализатора CFN имеет те же свойства, что и API CloudFormation для того же самого.
[09:24] => Есть также новая вспомогательная утилита методы в конструкции анализатора CFN.
[09:31] => Для конструкции второго уровня давайте посмотрим в конструкции таблицы DynamoDB.
[09:36] => Он не имеет префикса CFN и включает в себя множество разумных значений по умолчанию.
[09:40] => Например, в режиме выставления счетов по умолчанию используется оплата за запрос, если вы не укажете регионы репликации.
[09:48] => Если вы укажете регионы репликации, она будет подготовлена, и если она будет подготовлена,
[09:54] => емкости чтения и записи по умолчанию устанавливаются и по умолчанию равны пяти При удалении по умолчанию
[10:00] => политика таблицы сохраняется. И в таблице есть вспомогательные методы для создания глобальных
[10:07] => или локальные вторичные индексы, а также для создания различных уровни доступа к таблице и ее потокам.
[10:16] => Для конструкций третьего уровня CDK не предлагает ничего конкретного из коробки. Они, как правило,
[10:23] => создаваться на уровне отдельной организации или сообщества и предоставляться в виде библиотек.
[10:30] => Примером конструкции третьего уровня может быть для создания корзины уведомлений. Эта конструкция
[10:35] => создает корзину s3 вместе с темой SNS. Затем он добавляет уведомление о создании объекта
[10:42] => поступающий из корзины s3 для нацеливания на SNS тема. Все, что вам нужно сделать, чтобы использовать это, это
[10:49] => новое окно уведомлений для вашего приложения. И это будет предоставляйте все эти ресурсы автоматически.
[10:55] => В сообществе есть несколько замечательных ресурсов , на которые я также хотел бы обратить внимание. CDK
[11:03] => patterns.com это ресурс, который позволяет вам для поиска по предоставленным сообществом примерам,
[11:08] => и на него ссылаются различные компоненты, используемые в нем. AWS также предлагает другой
[11:17] => расширение CDK с открытым исходным кодом с их AWS конструкты решений. Они предоставляют множество услуг
[11:24] => хорошо продуманные шаблоны для быстрого определения решения в коде для часто используемых шаблонов.
[11:31] => Это доступно в виде библиотеки NPM, которую вы можете установить и использовать прямо из коробки.
[11:40] => Есть также центр конструирования. Строительный центр является центральным местом для открытия
[11:45] => и совместное использование шаблонов проектирования облачных приложений и эталонных архитектур, разработанных для CDK
[11:51] => CDK для Kubernetes и CDK. Для терраформирования и других инструментов, основанных на конструкциях, создайте концентратор.
[12:00] => из реестра NPM все конструкции CDK, которые поддерживают несколько языков и правильно
[12:06] => с комментариями. Здорово. Так что я думаю, что мы справимся с конструкциями. А теперь давайте углубимся немного глубже.
[12:15] => Как мы создаем шаблон CloudFormation? Для этого приложение должно быть синтезировано.
[12:24] => Для этого мы можем запустить CDK. Поскольку это пересекает яблоню и вызывает синтез
[12:30] => во всех конструкциях это приводит к созданию уникальных идентификаторов для ресурсов CloudFormation
[12:36] => и генерирует соответствующий EML вместе с любыми необходимыми активами.
[12:44] => Хорошо, так что же такое активы? Ресурсы — это файлы, включенные в приложения CDK.
[12:51] => Они включают в себя такие вещи, как код лямбда-обработчика , изображения докеров, версии слоев, файлы,
[12:57] => попадание в s3, ведро и т. Д. Они могут представлять любой артефакт, необходимый приложению.
[13:05] => Когда вы запускаете синтезатор CDK или развертываете, они выводятся в папку CDK dot out на вашем локальном компьютере.
[13:14] => Хорошо, так что же CDK делает с этими активами? Как попадают ли они в облако? Ну, это
[13:22] => где в игру вступает начальная загрузка. Начальная загрузка создает стек формирования облака CDK toolkit
[13:28] => развернут в вашей учетной записи. Эта учетная запись включает в себя корзину s3 и различные разрешения, которые
[13:34] => необходимо, чтобы CDK выполнял развертывание и загружал ресурсы. загрузка требуется, когда ваш
[13:40] => в приложении есть ресурсы или ваши шаблоны облачных данных стать больше, чем 50 килобайт. Так что это довольно
[13:46] => всегда требуется много, ты почти всегда в вашем стеке будет какой-то актив.
[13:52] => Для версии CDK необходим доступ к администратору для создания ролей, необходимых стеку CDK toolkit
[13:59] => для того, чтобы выполнять развертывания. Вам не понадобится доступ администратора после загрузки CDK.
[14:08] => Завершив начальную загрузку, мы можем перейти к развертыванию.
[14:12] => При запуске развертывания CDK приложение инициализируется или создается в виде дерева приложений.
[14:19] => Как только конструкция завершена, приложение проходит подготовку, проверку и синтез
[14:24] => шаги. Таким образом, каждая конструкция вызывает свой метод подготовки, затем каждая конструкция вызывает свой метод проверки. И
[14:31] => затем каждая конструкция вызывает свой синтезированный метод. До этого момента это то, что нам прислал CDK.
[14:39] => Оттуда приложение загружает шаблон и любые другие артефакты в cloud formation и cloud
[14:45] => начинается развертывание формирования. Как только эта передача будет завершена, все будет в руках Cloud Formation.
[14:54] => Теперь, когда мы определили некоторые основные кусочки CDK давайте перейдем к мастерской.
[14:59] => Слово останавливается на спокойствии мастерской CDK. Вы сначала нужно сделать это, а потом возвращаться.
[15:08] => Идеальный. Как только ты вернешься, мы сделаем 30-минутный скоростной обход мастерской.
[15:12] => Мы собираемся начать с этого семинара создав среду cloud nine.
[15:16] => Чтобы сделать это, я собираюсь украсть некоторые инструкции из мастерской CDK pipelines, это будет
[15:20] => есть экран, и я записываюсь на Девятое облако, которое имеет полный доступ. Это будет использоваться в
[15:24] => загрузка учетной записи для CDK. Версия вторая ссылки на семинар по трубопроводам CDK будут в
[15:29] => описание ниже. Это отличный семинар, и вы должны пройти его, если у вас есть время.
[15:35] => Во-первых, мы собираемся перейти к облаку девять утешают и создают обстановку.
[15:40] => Я просто назову его CDK workshop, и нам не нужно описание.
[15:45] => Затем мы выбираем тип экземпляра, я сделал это мастерская с тремя маленькими экземплярами. Но тот
[15:49] => М пять больших, наверное, было бы лучше. Все в других опциях могут использоваться значения по умолчанию.
[15:55] => В то время как ОБЛАКО ДЕВЯТЬ раскручивается, я хочу отметить что оба T три маленьких и N пять больших
[15:58] => экземпляры не имеют права на бесплатный уровень. Так что это может стоить вам немного денег. Я начал кое-что вспоминать
[16:04] => ошибки ближе к концу с тремя маленькими пример. Но это все равно работало. Для создания
[16:09] => Я — роль. Цех трубопроводов CDK имеет глубокую ссылка, которая приведет вас на страницу создания роли.
[16:16] => Оттуда мы подтверждаем, что это объект службы AWS, и для удобства переходим к разрешениям.
[16:23] => Убедитесь, что выбран доступ администратора. Нам не нужны новые теги, так что мы можем пропустить это.
[16:31] => А потом мы дадим ему название, мы назовем этого администратора CDK и создадим роль.
[16:42] => Создав роль, мы можем вернуться к CDK трубопроводный семинар и видим, что нам нужно на самом деле
[16:48] => войдите и прикрепите рулон к экземпляру EC two. Существует глубокая связь. Но с тех пор, как мы назвали
[16:54] => два примера ЕС, что-то еще, что мы на самом деле нужно зайти в ЕК на консоль, зайти в инстанции.
[17:02] => А затем выберите экземпляр, который работает с нашим экземпляром cloud nine.
[17:08] => Перейдите в раздел действия, безопасность и измените роль Iam.
[17:16] => Отсюда мы собираемся выбрать роли IAM что мы только что создали администратора CDK и сохранили его.
[17:23] => Теперь, если мы отправимся в мастерскую CDK, Cloud Nine и обновим ее, она автоматически получит роль
[17:30] => это нам нужно. Далее, нам нужно сделать несколько облачных вычислений. уборка и настройка, мы собираемся удалить
[17:37] => AWS управляет временными учетными данными. Это мешает нам использовать роль, которую мы придали
[17:42] => Облако Девять легко найти, например, в верхнем правый угол облака девять, перейдите в настройки
[17:49] => а затем прокрутите вниз до настроек AWS и отключите управление временными учетными данными AWS.
[17:56] => Чтобы вдвойне убедиться в том, что учетные данные исчезли, мы собираемся удалить папку с учетными данными.
[18:09] => Далее мы собираемся выполнить некоторую настройку среды, нам нужно установить JQ с помощью yum.
[18:23] => А затем мы собираемся экспортировать некоторую окружающую среду переменные с информацией об учетной записи AWS.
[18:37] => Чтобы проверить, чтобы убедиться, что регион AWS был установлен правильно, мы собираемся выполнить эту тестовую команду.
[18:50] => И, наконец, мы собираемся экспортировать учетную запись
[18:53] => Идентификатор и регион и убедитесь, что AWS настроен правильно.
[19:02] => Теперь нам нужно убедиться, что Cloud Nine легко использовать с помощью правильного
[19:06] => Моя роль. Для этого мы собираемся использовать этот STS получить команду идентификации цвета. Здесь все провалится
[19:13] => потому что мы на самом деле назвали роль CDK admin. Так если мы обновим команду для проверки администратора CDK,
[19:20] => мы получим, что роль обмена мгновенными сообщениями действительна следующим образом.
[19:32] => На этом этапе мы можем вернуться к фактическому Вступительный семинар CDK. Мы собираемся пойти в
[19:39] => вкладка «Предварительные требования» и начните проверять, чтобы убедиться, что все так, как должно быть.
[19:50] => Интерфейс командной строки AWS уже установлен, и мы уже настроена учетная запись и пользователь AWS.
[19:57] => Далее мы хотим убедиться, что у нас есть хорошая версия узла, установленная В Облаке Девять,
[20:02] => CLOUD NINE поставляется с установленным узлом. Так что давайте просто проверим версию.
[20:08] => И здесь версия 16 в порядке. Мы также хочу проверить CDK.
[20:13] => Итак, это CDK для семинара. Поэтому мы хотим чтобы убедиться, что мы действительно столкнулись
[20:19] => версия CDK. Так что, если мы выполните NPM i для установки AWS SDK.
[20:26] => В глобальном масштабе мы получим эту ошибку, потому что он является девятым экземпляром простого в использовании weird, так что вы
[20:31] => на самом деле придется форсировать это. В этом случае CDK учебник по конвейеру также проходит через это.
[20:39] => Теперь, когда мы принудительно установили его, мы видим, что установлена версия 2.3.
[20:49] => Мы уже используем AWS cloud nine, мы только что проверил версию CDK. И это
[20:56] => завершает предварительные условия. Далее мы можем приступить к самому семинару.
[21:07] => Так что давайте начнем, мы пойдем в CDK. И следующий шаг, первое, что мы
[21:12] => нужно всего лишь создать каталог для работы. Итак, мы собираемся создать каталог мастерских CDK
[21:20] => и переоденься в него. Теперь нам нужно действительно принять проект. Так
[21:27] => мы собираемся запустить CDK и его примерное приложение с языковым шрифтом.
[21:36] => Это создает репозиторий Git, и NPM устанавливает все зависимости для базового проекта CDK two
[21:46] => CDK two — это значительное улучшение по сравнению с CDK версия первая, потому что она печет во всех
[21:51] => стабильные модули в одну зависимость от NPM CDK версия , в которой были отдельные библиотеки NPM для каждого модуля
[21:58] => например, DynamoDB, лямбда-SNS и т. Д. Во второй версии у вас есть только один, и это позволяет избежать многих
[22:04] => ад управления зависимостями. Теперь, когда бандит проект инициализирован в CDK семинар собирается
[22:10] => хотите, чтобы мы запустили команду watch в фоновом режиме для компиляции машинописного текста в JavaScript.
[22:22] => Итак, мы собираемся создать новый терминал, изменить каталоги в папке проекта,
[22:28] => а затем запустите команду NPM run watch в фоновом режиме.
[22:42] => Сделав это, мы можем перейти к следующему шагу и фактически проверить
[22:47] => из структуры проекта того, что было то, что было инициализировано до сих пор.
[22:52] => Итак, давайте вернемся к среде Cloud Nine, мы откроем папку проекта, и давайте начнем
[22:58] => просматриваю кое-какие файлы. Давайте начнем с чего CDK начинается с мастерской CDK bin slash
[23:05] => Файл машинописного текста. Этот файл создает экземпляр Приложение CDK путем создания стеков. То есть сказать,
[23:11] => когда ты запускаешь CDK center CD kit, парень, он запускается здесь для создания шаблонов CloudFormation.
[23:18] => Стеки CDK эквивалентны один к одному с Стеки облачных данных. Приложение может иметь несколько
[23:24] => стеки, и каждый стек в конечном итоге создаст новый стек при формировании облака. В случае
[23:28] => в нашем примере приложения есть только один стек, Стек мастерской CDK. Так что давайте посмотрим на это дальше.
[23:35] => Стек образцов довольно прост. Он использует две конструкции второго уровня. Один для создания
[23:41] => SQ SQ и один, чтобы создать тему SNS, а затем добавить очередь в эту тему. Это
[23:48] => оно. В семинаре рассматриваются аналогичные детали с ними. Но давайте перейдем к нашему первому синтезатору CDK.
[23:56] => Как описано ранее, при запуске приложений CDK они создают шаблон AWS CloudFormation для
[24:02] => каждый стек определен в приложении. Переключение назад на седьмое небо, давайте запустим CDK Сет, я собираюсь
[24:07] => вывод в файл шаблона dot Yamo, чтобы сделать его немного легче читать. Так вот, есть два
[24:13] => важные концепции, которые я хочу здесь затронуть. CDK является одновременно обязательным, он описывает, как приложение будет
[24:19] => быть построенным. Но это также очень мощный продукт, при тех же входных данных он будет давать те же результаты.
[24:29] => Смотрите здесь, мы используем один и тот же код между Семинар CDC в моем экземпляре cloud nine.
[24:34] => И образование облака, которое было сгенерировано таким же образом. Например, хэш-хэши ресурсов
[24:39] => совпадение между ними. Это связано с тем, что мы использовали все те же исходные данные, что и на семинаре CDK.
[24:45] => Если бы я пошел и сменил тему или идентификатор реплики, хэш изменился бы, и у нас было бы что-то другое.
[24:50] => Это будет важно при модульном тестировании позже.
[24:54] => Теперь, когда мы отправили, давайте развернемся. Для этого нам нужно загрузить учетную запись
[25:05] => Давайте откроем новое окно консоли и перейдите к формированию облаков. И этот счет,
[25:08] => единственный, кто работает прямо сейчас, должен будь тем, кого используют для девятого облака.
[25:15] => Прямо здесь. Так что давайте вернемся к Облаку Девятый терминал и запустите начальную загрузку.
[25:25] => Вот почему нам нужно было создать роль обмена мгновенными сообщениями с доступом администратора. И это на самом деле
[25:29] => единственный раз, когда вам нужен доступ администратора, когда вы запуск учетной записи. Для того, чтобы CDK,
[25:35] => для развертывания приложений необходимо где-то хранить ресурсы. Начальный этап
[25:39] => создает свой собственный шаблон формирования облаков, который посмотрим, когда вернемся к формированию облаков.
[25:45] => И это включает в себя ряд ролей и стратегий которые позволяют ему хранить ресурсы для развертывания.
[26:35] => Как вы можете видеть здесь, стек инструментария CDK был только что создан в процессе начальной загрузки.
[26:44] => Теперь, если мы вернемся к cloud nine, мы действительно сможем запустить команду развертывания.
[26:53] => Команда развертывания resynthesize — это приложение. И если произойдут какие-либо изменения в политике IAM
[27:02] => в ходе переписи он отобразит их и спросит чтобы убедиться, что вы хотите продолжить. Здесь,
[27:10] => поскольку мы подписываем очередь на эту тему, должна быть установлена политика IAM
[27:18] => для того, чтобы это произошло. Так что да, мы действительно хочу, чтобы это произошло. Так что давайте развернем его.
[27:27] => В то время как облачная информация набирает обороты, если мы обновите формирование облаков, мы увидим CDK
[27:31] => продолжается создание стека мастерской. И мы действительно можем просматривать ресурсы по мере их создания.
[27:37] => Итак, здесь мы видим, что есть метаданные запись вместе с очередью и темой,
[27:41] => но пока нет фактической подписки или политики, связанной с ней.
[27:52] => Теперь, когда ящик готов, мы можем вернуться к ресурсам и посмотреть
[27:56] => что да, есть очередь политика и подписка.
[28:08] => Что ж, это было весело. Но теперь давай испачкаем ее руки.
[28:12] => Семинар CDK проведет вас через пара шагов на этом этапе. Мы собираемся почистить
[28:16] => увеличьте стек, удалив тему SNS и SQ кв. А затем мы собираемся создать простой API
[28:23] => шлюз, поддерживаемый лямбдой. Так что давайте начнем. Мы собираемся удалить образец кода из нашего
[28:28] => стек. А затем мы собираемся провести различие, чтобы посмотреть, что это показывает. Вернитесь к файлу стека.
[28:39] => И удалите тему очереди и тему это добавляет описание вместе с импортом.
[28:54] => Которые находятся в команде CDK diff.
[29:03] => То, что делает CDK diff, заключается в том, что он повторно синтезирует
[29:06] => Приложение CloudFormation и сравнивает батат со всеми от одного к другому. И мы можем видеть здесь
[29:13] => что это разрушает очередь очередь политика подписки и тема.
[29:20] => Затем мы можем развернуть CDK по мере его развертывания,
[29:28] => единственное, что стек облачных данных следует оставить запись метаданных CDK.
[29:38] => Пока мы не вернемся к образованию облаков, мы можем проверить
[29:41] => следите за ходом этого процесса, обновляя ресурсы по мере его продвижения.
[29:58] => Они закончили, теперь давайте вернемся в облако девять и создадим лямбду. Мы создадим папку
[30:06] => вызвал лямбду и поставил hello.js файл в нем.
[30:18] => Внутри этого мы поместим некоторый базовый лямбда-код. Далее нам нужно создать лямбду в стеке,
[30:24] => мы добавим импорт лямбды из CDK, чтобы затем создать саму лямбда-функцию.
[30:32] => Одно из самых больших преимуществ создания AWS ресурсы, использующие CDK, — это IntelliSense.
[30:37] => Импортировав данные из AWS lambda, я могу создать новая функция, использующая новую функцию лямбда-точки,
[30:44] => передайте стек и идентификатор лямбды и дайте ему некоторые свойства.
[30:54] => В этом случае нам нужно было найти среду выполнения, используя
[31:02] => lambda.runtime.no , Gs 14, где код жизни, для которых мы используем код dot из актива
[31:16] => а затем лямбда, которая загружает папка lambda в качестве ресурса для s3.
[31:23] => А потом они стали обработчиками. В этом случае наши обработчики и привет,
[31:28] => файл приветствия, и он называется обработчик. Сейчас мы можем провести различие. И это покажет нам
[31:35] => что это создаст роль обмена мгновенными сообщениями для лямбды и самой лямбда-функции.
[31:48] => Что, по-моему, выглядит неплохо. Так что давайте просто развернем его. Я собираюсь немного ускорить эту часть.
[32:13] => И мы можем видеть функцию и роль в облаке образование. Итак, давайте проверим саму лямбду. В
[32:25] => область исходного кода консоли lambda, мы можем создайте тестовое событие, нажав кнопку «Проверить».
[32:36] => Мы выберем прокси-сервер AWS API gateway, потому что в конечном счете, мы будем подключать это к
[32:41] => Шлюз API. Не забудь дать это имя. И не любит пробелов.
[32:52] => И нажмите создать. Что мы снова получим тест, он вызовет лямбду.
[32:57] => И теперь мы можем видеть статус 200. И что у тела есть правильная реакция.
[33:04] => Итак, давайте добавим шлюз API. Во-первых, мы будем импортируйте модуль шлюза API из CDC.
[33:16] => А затем мы создадим лямбда-ОТДЫХ API. API Lambda rest — это просто
[33:24] => API с жадным прокси-сервером, который отправляет все в соответствии с определенной лямбдой.
[33:30] => Мы передадим конструкцию стека и дадим идентификатор REST API.
[33:36] => А потом мы передадим ему наш привет функция в качестве обработчика API.
[33:48] => Теперь мы можем провести различие. И я также покажу, что на самом деле шлюз API еще не определен
[33:57] => перейдя в консоль шлюза API . А здесь нет никаких API.
[34:13] => Так что давайте развернем его. Я собираюсь ускорить это снова. Но то, что он делает, это
[34:23] => это автоматически создает кучу ресурсов . Там есть шлюз API
[34:28] => сами разрешения для шлюза, а также для вызова лямбды и т. Д. и т. Д.
[34:45] => Теперь, когда это сделано, мы видим, что мы перешли от трех ресурсов к 15 в формировании облаков. И
[34:52] => все это было обработано с помощью пары строк кода. А если я пойду и обновлю лямбда-страницу
[35:04] => Мы видим, что добавлен шлюз API на лямбда-консоль в качестве триггера.
[35:11] => Аналогично, мы видим, что API определен в консоли шлюза API.
[35:18] => Так что давайте проверим это. Мы возьмем URL-адрес API, который был автоматически выведен как часть развертывания,
[35:29] => и отправьте ему запрос на завиток. Милый. И давайте попробуем еще раз.
[35:41] => Очень милый.
[35:48] => Все, что мы сделали до сих пор, — это использовали несколько конструкций второго уровня. Давайте создадим наш собственный третий уровень
[35:53] => сооружать. Мы сделаем лямбду-перехватчик, который записывает в таблицу DynamoDB, а затем вызывает любой
[35:59] => нацеленная вниз по течению лямбда. Давайте начнем. Мы создадим новый файл сценария типа счетчика попаданий
[36:10] => в папку lib и поместите некоторый шаблонный конструктивный код
[36:17] => здесь. Все, что это делает, — это расширяет конструкцию и находит реквизит.
[36:23] => Далее давайте создадим наш перехватчик лямбда и папку лямбда, мы создадим
[36:28] => нажмите встречную точку j, s. И мы скопируем код из мастерской.
[36:35] => что делает этот код, так это то, что он использует два модуля из AWS SDK для взаимодействия как с DynamoDB, так и
[36:41] => лямбда будет использовать элемент обновления из базы данных Dynamo для увеличения счетчика попаданий для пути. И мы будем использовать
[36:48] => клиент lamda для вызова нижестоящего лямбда-кода, а затем возвращает ответ от этого лямбда-кода
[36:54] => с таблицей и лямбда будут переданы в этот перехватчик лямбда через переменные среды.
[37:04] => Теперь, когда это сделано, нам нужно создать как таблицу, так и лямбду,
[37:08] => мы добавим модуль DynamoDB из CDK. А затем создайте таблицу
[37:18] => используя новую таблицу точек DynamoDB, мы передадим конструкцию стека и присвоим таблице идентификатор.
[37:27] => И DynamoDB также необходимо определить ключ раздела. Так что мы пойдем дальше и сделаем то же самое.
[37:37] => Далее мы создадим лямбду, это следует той же схеме, что и раньше
[37:46] => выполните функцию лямбда-точки, передайте это , помогите ей и установите время выполнения, которое не является Jess.
[38:11] => Проводник, который в данном случае является встречным кинологом
[38:21] => а затем код, исходящий от код точка из актива лямбда
[38:30] => нам нужно передать переменные среды.
[38:34] => И я внесу изменения в идентификатор лямбды просто чтобы соответствовать семинару.
[38:41] => Теперь мы собираемся раскрыть lamda как свойство конструкции, доступное только для чтения.
[38:46] => Поэтому добавьте эту общедоступную строку только для чтения в класс. И мы присвоим лямбде свойство.
[38:55] => Теперь эта конструкция великолепна как есть, но она нигде не используется.
[38:59] => Так что давайте это исправим. Мы пойдем возвращаемся к основному штабелю мастерской.
[39:08] => И используйте конструкцию. Это одно и то же шаблон как конструкция второго уровня.
[39:14] => Таким образом, мы можем сделать новый проход счетчика попаданий в стеке, присвоив ему идентификатор.
[39:23] => И в нашем случае свойства здесь являются нижестоящей лямбдой, которую мы хотим вызвать. Так что мы будем
[39:28] => установите значение «Привет» ниже по течению. И я сделаю трюк чтобы импортировать счетчик попаданий из локального файла.
[39:40] => Но теперь нам нужно заставить API использовать это вместо этого лямбда. Поэтому мы переместим API
[39:47] => ниже и измените обработчик API от привета к привету со счетчиком
[39:58] => и именно поэтому мы раскрываем Прочитанное Единственное свойство для обработчика,
[40:01] => это делается для того, чтобы API действительно имел доступ к лямбда внутри конструкции. Так что давайте развернем его.
[40:15] => С помощью некоторой магии редактирования мы снова пропустим вперед.
[40:28] => Теперь, когда мы развернули его, мы можем его протестировать. То Мастерская CDK строит ловушки, чтобы разоблачить некоторые
[40:32] => хорошие вещи в конструкциях LTU. Как мы видим, запрос здесь не удался. Для того, чтобы увидеть
[40:39] => почему нам нужно будет посмотреть журналы. Итак, давайте переключимся на лямбда-консоль в консоли.
[40:45] => Перейдите на вкладку Монитор и нажмите «Просмотреть журналы» в «облачном наблюдении».
[40:56] => Если мы перейдем к последнему потоку журналов,
[41:02] => мы видим, что произошла ошибка вызова, и это связано с исключением, в котором отказано в доступе.
[41:07] => И если вы прочтете немного дальше, то там в основном говорится, что лямбда не авторизована
[41:12] => для выполнения элемента обновления Dynamo DB на ресурсе. Мы никогда не давали на это разрешения.
[41:20] => Итак, давайте вернемся к файлу счетчика попаданий. Мы собираюсь использовать таблицы L для построения вспомогательных
[41:28] => метод предоставления данных для чтения и записи для применения правильных заявлений о политике к lamda.
[41:39] => Мастерская также забыла добавить разрешение для лямбды, чтобы иметь возможность
[41:43] => чтобы вызвать нижестоящую лямбду. Так что мы просто собираюсь пойти дальше и добавить это сейчас.
[41:52] => Теперь, если мы снова развернемся и пропустим вперед, и мы протестируем функцию
[42:03] => мы получим успешный ответ, потому что все имеет правильные разрешения.
[42:19] => Отсюда, если мы перейдем в базу данных Dynamo и обновим элементы в таблице, мы увидим, что
[42:23] => отслеживаются правильные конечные точки. От CDK мастерская, мы собираемся установить CDK в npm
[42:37] => Библиотека просмотра динамических таблиц в наш проект. Установив его, мы можем переключиться на наш стек
[42:51] => и импортируйте средство просмотра таблиц из библиотеки. Тогда мы собираемся идти
[42:58] => и создайте его новый экземпляр. Этот просмотрщик таблиц библиотека представляет собой конструкцию L три, потому что она группирует
[43:04] => несколько L двух конструкций вместе, точно так же, как мы сделали с конструкцией счетчика попаданий L три, которую мы
[43:08] => сделано в предыдущем разделе. Конструкция средства просмотра таблиц ожидает, что мы передадим в DynamoDB
[43:14] => таблицу из нашей другой конструкции, но мы не разоблачить это. Так что давайте вернемся к нашему
[43:23] => добавьте свойство таблицы и назначьте таблицу этому свойству.
[43:43] => С помощью этого мы можем передать свойство таблицы hello with counter dot в нашу стороннюю конструкцию.
[43:55] => Теперь, если мы развернем и пропустим вперед, мы увидим , что конструкция средства просмотра таблиц создала
[44:01] => отдельный шлюз API и собственный конечная точка, определенная в выходных данных.
[44:06] => Если мы пойдем туда, это закончится отображение того, что находится в таблице DynamoDB.
[44:20] => Тестирование конструкций — одна из самых мощных функций CDK.
[44:24] => На семинаре CDK вы пройдете два типа тестов: тесты на утверждение и тесты на проверку.
[44:31] => Для первого теста на утверждение мы собираемся создать стек
[44:34] => и используйте нашу конструкцию счетчика попаданий, а затем убедитесь, что была создана одна таблица DynamoDB.
[44:41] => Итак, давайте вернемся к коду. Создайте тест и удалите старые
[45:02] => Теперь мы можем запустить его.
[45:26] => И была создана одна таблица DynamoDB.
[45:30] => Далее мы перейдем к проверке лямбды. То Библиотека утверждений CDK обладает некоторыми полезными функциями
[45:35] => например, захват, который может перехватывать различные свойства как часть синтеза шаблона.
[45:40] => В этом случае мы используем CAPTCHA, чтобы убедиться , что правильная функция нисходящего потока и
[45:44] => имена таблиц передаются в хит счетчик лямбда. Когда мы проведем этот тест,
[45:50] => мы ожидаем, что он потерпит неудачу, потому что я не скопировал ссылки из синтезированного вывода.
[45:54] => Но то, что он терпит неудачу, на самом деле облегчает задачу чтобы найти их. Так что мы возьмем правильные имена
[46:07] => и обновите тест правильными.
[46:18] => Теперь, когда мы его запустим, это пройдет. Далее давайте перейдем к подходу к разработке, основанному на тестировании. И сказать, что мы
[46:29] => хотите убедиться, что в нашей таблице используется шифрование на стороне сервера, мы можем утверждать, что DynamoDB
[46:33] => ресурс таблицы имеет шифрование на стороне сервера включен. Поэтому, когда мы проведем тест, он провалится.
[46:48] => С точки зрения развития, это значит, нам нужно вернуться к конструкции
[46:54] => и убедитесь, что шифрование на стороне сервера включено.
[47:08] => Теперь, если мы снова проведем тест, он пройдет. Поскольку на самом деле мы этого не хотим,
[47:15] => Я собираюсь удалить его из конструкции и удалить тест.
[47:23] => Далее давайте поговорим о валидационном тестировании. Допустим, как часть вашей конструкции, вы хотите
[47:28] => чтобы убедиться , что в таблице DynamoDB используется разумное количество единиц емкости для чтения.
[47:35] => Мы можем добавить свойство емкости для чтения, которое передается в конструкцию. Используйте его в таблице.
[47:47] => И затем в конструкторе мы можем проверьте, что значение, переданное в
[47:51] => разумно, скажем, между пятью и 20. Если это не так, мы выдадим сообщение об ошибке.
[47:59] => Теперь давайте добавим тест, который передает значение из диапазона до трех и убедитесь, что ошибка
[48:07] => брошен. Когда мы проведем тест, он будет пройти, потому что возникает ошибка.
[48:17] => Эта ошибка будет выдана как часть синтеза стека. Так что давайте посмотрим, что
[48:22] => мы вернемся в нашу мастерскую.
[48:26] => Добавьте ограниченную пропускную способность для чтения значение и запустите синтез стека.
[48:38] => Как вы можете видеть, валидационное тестирование очень полезно. На моей работе,
[48:43] => Я использую его, чтобы помочь обеспечить соблюдение некоторых соглашений об именах,
[48:46] => а также регистрировать или выдавать предупреждения об устаревании при изменении входных данных свойств или значений по умолчанию.
[48:53] => Отличная работа с мастерской. Теперь, когда семинары закончены,
[48:57] => мы можем перейти к некоторым продвинутым темам как аспекты и лучшие практики.
[49:03] => На семинаре мы рассмотрели детальные утверждения, проверив такие вещи, как
[49:08] => количество созданных таблиц и обеспечение того, чтобы шифрование было включено. Мы проверяем, чтобы убедиться, что
[49:13] => передаваемые переменные среды lamda или правильные. Но вы также можете использовать снимок
[49:20] => тестирование для проверки всего шаблона, если вы хотите для выполнения и использования функций моментального снимка гости соответствуют.
[49:28] => Мы также провели валидационное тестирование в рамках семинара. Мы проверили свойства, которые
[49:32] => передано в конструкцию, чтобы убедиться, что прочитано единицы измерения мощности находились в определенном диапазоне.
[49:39] => В моей организации мы также используем это чтобы помочь обеспечить соблюдение некоторых соглашений об именовании
[49:44] => а также выдавать некоторые предупреждения об устаревании в случае, если нам придется существенно изменить
[49:48] => сооружать. В этом случае предупреждения не будут заблокируйте развертывание, но оно появится в
[49:53] => консоль при выполнении синтетического развертывания, где разработчики могут подобрать их и исправить.
[49:59] => Вы не ограничены только однако регистрация ошибок в консоли,
[50:03] => когда вы отправляете, вы выполняете фактический код. Таким образом, вы также можете войти во внешний
[50:08] => сервис, подобный сервису платформы, который отслеживает развертывания или журналы в самом cloudwatch.
[50:15] => Последняя форма тестирования — интеграционное тестирование. С помощью CDK вы можете использовать пользовательские ресурсы AWS для тестирования
[50:22] => убедитесь, что ресурсы правильно работают вместе в рамках развертывания CloudFormation. Если
[50:27] => что-то сломается, это автоматически откат развертывания CloudFormation.
[50:34] => CDK имеет платформу провайдера для взаимодействия с пользовательскими ресурсами CloudFormation.
[50:40] => Эти пользовательские ресурсы позволяют вам писать настраиваемая логика подготовки и шаблоны, которые
[50:44] => CloudFormation запускается в любое время, когда вы создаете, обновляете или удаляете стеки. Мы можем использовать
[50:50] => из этого, чтобы провести интеграционное тестирование в нашем стеке. Допустим, у вас есть автобус для мероприятий,
[50:54] => ламда. И таблица DynamoDB, которую вы хотите чтобы убедиться, что они взаимодействуют друг с другом.
[50:59] => Вы могли бы использовать платформу провайдера для раскрутки лямбда для отправки тестового события по шине событий,
[51:05] => все это часть развертывания CloudFormation. И затем пользовательский ресурс может запросить DynamoDB
[51:11] => в ожидании перемен. Если изменение не происходит в течение определенного промежутка времени,
[51:16] => сборка завершится неудачей, и облачная информация автоматически откатит изменения.
[51:22] => У Мэтта Моргана есть отличный пост в блоге о это называется тестированием асинхронного облака с помощью AWS SDK.
[51:29] => В книге CDK также есть раздел об этом.
[51:35] => Еще одной продвинутой темой для CDK являются аспекты аспекты являются очень мощным инструментом в CDK.
[51:43] => Есть способ применить операцию ко всем конструкциям в данной области.
[51:48] => Аспект может изменять конструкции, например, путем добавления тегов, или он может проверять что-то или о
[51:53] => состояние конструкций, например, обеспечение того, чтобы все сегменты были зашифрованы.
[51:59] => На этапе подготовки CDK вызывает метод посещения объекта для конструкции и каждого из
[52:05] => его дети в порядке сверху вниз. Метод посещения может свободно изменять что-либо в конструкции.
[52:14] => В этом примере проверка версии корзины класс реализует метод посещения, который проверяет
[52:19] => если включено управление версиями корзины s3. Здесь он выдает ошибку, но вы могли бы так же легко
[52:25] => измените конструкцию, чтобы включить управление версиями. Все, к чему применяется стек
[52:31] => то есть каждая конструкция внутри стека оценивается с помощью этого метода посещения. Который
[52:37] => вот почему нам нужно проверить экземпляр узла проводится оценка, чтобы убедиться, что это ведро CFN.
[52:44] => Все узлы в конечном итоге станут конструкцией первого уровня рассматриваемого ресурса.
[52:49] => Даже если вы используете конструкцию второго уровня в своем коде стека.
[52:56] => Что касается лучших практик, AWS разбивает свои рекомендации по лучшей практике на четыре
[53:01] => различные области. Организация кодирование создает приложение.
[53:10] => Для лучших практик организации, AWS рекомендует иметь команду из
[53:14] => Эксперты CDK помогают устанавливать стандарты и обучать или наставлять разработчиков в использовании CDK.
[53:20] => Это не обязательно должна быть большая команда. Оно может быть всего один или два человека
[53:24] => или это может быть центр передового опыта, если у вас крупная организация.
[53:30] => AWS также рекомендует практику развертывания к нескольким учетным записям AWS. Например,
[53:35] => наличие отдельных учетных записей производства, контроля качества и разработки . Вы должны использовать непрерывную интеграцию
[53:42] => и инструменты непрерывного развертывания, такие как конвейеры CDK , для развертывания за пределами учетных записей разработчиков.
[53:50] => Что касается лучших практик кодирования, AWS рекомендует добавлять сложность только там, где это действительно необходимо.
[53:56] => Не продумывайте все возможные сценарии до фасад. Так что придерживайся простого, глупого принципа.
[54:04] => Он также рекомендует использовать хорошо продуманную структуру
[54:10] => Приложения AWS CDK — это механизм кодификации и внедряйте хорошо продуманные лучшие практики.
[54:16] => Следуя этим принципам, вы можете создавать и совместно использовать компоненты, которые их реализуют. Ранее
[54:24] => Я заявил , что в проекте может быть несколько приложений, и это правда, но это не рекомендуется.
[54:30] => Лучше всего этого не делать и иметь только одно приложение для каждого репозитория. В мире CI CD меняется
[54:39] => одно приложение может без необходимости инициировать развертывание другого приложения, даже если оно не изменилось.
[54:46] => Наконец, ваш код CDK и код который реализует вашу логику выполнения
[54:50] => должно быть в одной упаковке. Им не нужно жить в отдельных репозиториях или пакетах.
[55:00] => Для наилучших практик построения вы должны создавать конструкции из своих логических единиц кода.
[55:06] => Если вы последовательно создаете веб-сайты с использованием s3, сегментов, API-шлюзов и лямбд,
[55:11] => сделайте это конструкцией, а затем используйте конструкцию в своем стеке.
[55:16] => Это плохая практика — использовать окружающую среду поиск переменных в ваших конструкциях.
[55:21] => поиск переменных среды должен происходит на верхнем уровне приложения CDK,
[55:25] => а затем будут переданы стекам и конструкциям в качестве свойств. С помощью поиска переменных среды,
[55:33] => и конструкциями вы теряете переносимость и затрудняете повторное использование ваших конструкций.
[55:39] => Если вы избегаете сетевых поисков во время синтеза и моделируете все этапы производства в коде,
[55:45] => вы можете последовательно запускать полный набор модульных тестов во время сборки во всех средах.
[55:52] => Будьте осторожны с тем, как вы фактически рефакторируете свой код это может привести к изменению логического идентификатора.
[55:58] => Логический идентификатор является производным от идентификатора , который вы указываете при создании экземпляра конструкции,
[56:04] => Логический идентификатор является производным от идентификатора, который вы указываете при вводе позиции конструкций в дереве приложений. Изменение логической идеи ресурса создает конструкцию,
[56:11] => в том, что ресурс заменяется новым при следующем развертывании, чего вы почти никогда не хотите.
[56:18] => конструкции великолепны, но они не создан для обеспечения соблюдения требований.
[56:23] => Соответствие требованиям лучше подходит для использования политик управления службами и границ разрешений.
[56:34] => Для получения наилучших практик применения сделайте свой решения во время синтеза. Не используйте облако
[56:39] => условия и параметры формирования. Для пример, распространенная практика CDK повторения
[56:44] => по списку и создание экземпляра конструкции для каждого невозможно использовать выражения CloudFormation.
[56:53] => Рассматривайте облачную информацию как реализацию деталь, а не языковая цель.
[56:58] => Вы не пишете шаблоны CloudFormation, вы пишете код, который их генерирует.
[57:04] => Если вы не укажете имена ресурсов, CDK сгенерирует их для вас. И это будет сделано таким образом, чтобы
[57:08] => не вызовет проблем, когда вы закончите рефакторинг ваш код позже. CDK делает все возможное, чтобы вы
[57:14] => от потери данных из-за несоблюдения политик, которые сохраняйте все, что вы создаете. Но Облачный дозор — это
[57:19] => дорогой. Пройдите и установите свое собственное удержание полисы. CDK также имеет вспомогательные методы, которые будут
[57:26] => очистите корзину s3 с помощью пользовательского ресурса до к уничтожению стека, что очень полезно.
[57:35] => Рассмотрите возможность хранения ресурсов с сохранением состояния, таких как базы данных, в отдельном стеке от ресурсов без сохранения состояния. Вы
[57:42] => может включить защиту от завершения для отслеживания состояния стеки, сохраняя при этом его выключенным на один раз.
[57:49] => Ресурсы с сохранением состояния более чувствительны к переименованию конструкций, что является еще одной причиной
[57:53] => хранить их в отдельной стопке. Это уменьшает риск при последующей реорганизации вашего приложения. Определить
[58:01] => детерминизм — ключ к успешному Развертывания CDK. Контекст CDK — это
[58:07] => механизм для записи моментального снимка недетерминированных значений, полученных в результате синтеза.
[58:14] => Это позволяет проводить дальнейшую операцию синтеза для создания одного и того же точного шаблона. не
[58:20] => детерминированные значения приводят к использованию таких вещей, как a строится из поиска там, где вы ищете
[58:26] => использовать внешний ресурс. Эти данные из ПОИСКА значения кэшируются в контексте CDK в формате JSON.
[58:36] => Удобные методы предоставления грантов позволяют вам чтобы значительно упростить процесс IAM.
[58:42] => Вручную определяя роли или используя предопределенные роли в вашей учетной записи AWS
[58:46] => приводит к большим потерям и гибкости в том, как вы разрабатываете свои приложения.
[58:52] => Политики управления службами и границы разрешений являются лучшей альтернативой предопределенным ролям.
[59:00] => Еще одной передовой практикой CDK является создание стека для каждой среды.
[59:05] => Когда вы синтезируете свое приложение, облачная сборка, созданная в папке CDK, завершается
[59:10] => содержит отдельный шаблон для каждого окружающая среда. Вся ваша сборка детерминирована.
[59:19] => Большинство конструкций второго уровня в CDK имеют удобные методы, помогающие в создании
[59:24] => показатели, которые вы можете легко использовать для создания Панели мониторинга CloudWatch и сигналы тревоги используют их.
[59:34] => Наконец, есть еще несколько ресурсов, которые Я бы хотел крикнуть. В лагере свободного кода есть
[59:39] => отличный пост в блоге о том, как использовать CDK второй версии для создания трехуровневого бессерверного приложения.
[59:47] => У меня есть несколько постов в моем блоге, связанных с CDK, но один, в частности, показывает, насколько
[59:52] => использование языка программирования общего назначения позволяет расширить CDK еще больше.
[59:58] => В моих открытых спецификациях API от CDK. Без развертывания в первой статье я покажу, как вы можете использовать API
[60:06] => структура конечной точки шлюзов во время синтеза для вывода спецификации открытого API сначала без развертывания.
[60:14] => Наконец, бессерверная структура стека довольно аккуратна. Это расширяет CDK и позволяет локально
[60:20] => разработка lamda. У него довольно аккуратная консоль для наблюдаемости при разработке тоже.
[60:26] => Определенно стоит проверить
[60:32] => если вы прошли этот урок так далеко, спасибо, что посмотрели.
[60:35] => Спасибо. Вы можете следить за мной в Твиттере по адресу коды. И другие мои социальные сети, и мои посты в блоге
[60:42] => расположены на отметках точечных кодов. Это был Бесплатный ускоренный курс Code Camp CDK. Спасибо, пока, пока