Учебник о том, как создать свой первый проект AWS CDK на TypeScript

В этой статье мы создадим наш первый проект AWS CDK с нуля на TypeScript. Итак, без лишних слов, давайте сразу приступим к делу.

Предпосылки

Прежде чем приступить к работе над нашим проектом, нам нужно установить некоторые зависимости на нашу локальную машину. Во-первых, нам нужно установить Node JS на наш компьютер.

Далее нам нужно установить AWS CLI на нашу локальную машину. Нам также необходимо иметь учетную запись AWS. Если у вас нет учетной записи AWS, создайте учетную запись AWS бесплатно.

Следующим и последним шагом является установка AWS CDK Toolkit. Вы можете установить это, введя следующую команду в терминале:

npm install -g aws-cdk

Настройка пользователя-администратора

Наш следующий шаг — создать пользователя-администратора в AWS, если вы еще этого не сделали.

Чтобы создать нового пользователя с правами администратора, перейдите в Консоль AWS IAM и нажмите Добавить пользователей.

Введите имя для своего пользователя и нажмите «Программный доступ».

После нажатия «Далее» выберите «Прикрепить существующие политики напрямую» на вкладке «Установить разрешения» и выберите «Доступ администратора».

После нажатия кнопки «Далее» пропустим раздел «Теги». Продолжайте нажимать кнопку «Далее», пока не появится надпись «Создать пользователя». Теперь нажмите на кнопку «Создать пользователя». После этого он должен выглядеть как на экране ниже:

Теперь пока не закрывайте эту страницу. На своем ПК перейдите к терминалу и введите следующую команду:

aws configure

Он должен запросить идентификатор ключа доступа, секретный ключ доступа, имя региона и формат вывода. Вставьте идентификатор ключа доступа и секретный ключ доступа с веб-сайта. Вы можете выбрать любое имя региона, например us-east-1, eu-west-1, и оставить формат вывода пока пустым.

Создание нового проекта

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

mkdir cdk-starter && cd cdk-starter

Теперь введите приведенную ниже команду, чтобы создать новый проект TypeScript CDK:

cdk init app --language=typescript

Структура проекта

После выполнения cdk init давайте зайдем в наш редактор кода и посмотрим на структуру проекта. Это должно быть примерно так:

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

  1. bin/cdk-starter.ts:

Это точка входа вашего приложения. Здесь мы загружаем экземпляр класса CDKStarterStack из файла lib/cdk-starter-stack.ts.

2. lib/cdk-starter-stack.ts:

Это основной файл нашего приложения. Здесь мы будем интегрировать все инфраструктуры AWS.

Теперь давайте выполним следующую команду в терминале, чтобы сгенерировать все коды инфраструктуры в файле YAML:

cdk synth

Вы увидите новую сгенерированную папку с именем cdk.out.

Кроме того, нам нужно выполнить следующую команду только один раз, когда мы инициируем новый проект CDK.

cdk bootstrap

Эта команда создаст CDK Toolkit в нашей учетной записи AWS.

Давайте создадим нашу первую лямбда-функцию.

Теперь давайте создадим нашу первую лямбда-функцию. Во-первых, давайте установим aws-lambda с помощью следующей команды в терминале:

npm install aws-lambda
npm install --save-dev @types/aws-lambda

Мы создадим нашу лямбда-функцию в TypeScript. Итак, нам понадобится еще один пакет, esbuild, для компиляции нашего кода TypeScript в JavaScript. Мы можем установить этот пакет, выполнив команду ниже:

npm install --save-dev esbuild

Давайте создадим новую лямбда-функцию в папке src/lambda/handlers. Мы назовем этот файл index.ts. Давайте вставим код ниже в index.ts:

Давайте также изменим файл cdk-starter-stack.ts, чтобы добавить нашу лямбда-функцию:

Мы только что связали нашу лямбда-функцию со шлюзом API, чтобы вызвать эту лямбда-функцию в API.

Теперь давайте запустим cdk synth для создания нашего файла инфраструктуры, а затем cdk deploy для развертывания нашего приложения в облаке.

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

Заключение

Мы успешно создали наше самое первое приложение AWS CDK на TypeScript. Это было довольно просто и весело!

Следующий шаг — запачкать руки, создав дополнительную инфраструктуру в нашем коде и создав реальные решения.

Надеюсь, вам понравилась моя статья. Хорошего дня!

Ссылка

  1. https://cdkworkshop.com/

Свяжитесь со мной через Linkedin или мой веб-сайт.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.