Управление инфраструктурой в облаке может оказаться сложной задачей, но при наличии правильных инструментов и инфраструктур она становится намного проще. В этой статье мы рассмотрим базовый шаблон SLS — мощную функцию Serverless Framework, которая позволяет вам определить инфраструктуру AWS с помощью одного файла. Мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам начать работу.
-
Что такое базовый шаблон SLS?
Базовый шаблон SLS — это файл YAML, который служит основой для вашего проекта Serverless Framework. Он позволяет кратко и декларативно определять ресурсы AWS, такие как функции Lambda, шлюзы API и таблицы DynamoDB. -
Определение ресурсов AWS.
Давайте начнем с рассмотрения того, как можно определить различные ресурсы AWS в базовом шаблоне SLS. Вот пример определения простой конечной точки HTTP с использованием сервисов AWS Lambda и API Gateway:
service: my-serverless-app
provider:
name: aws
runtime: nodejs14.x
region: us-east-1
functions:
hello:
handler: handler.hello
events:
- http:
path: hello
method: get
В этом примере мы определяем службу с именем «my-serverless-app» и одну функцию Lambda с именем «hello». Функция запускается HTTP-запросом GET к пути «/hello».
- Переменные и секреты среды:
Базовый шаблон SLS также позволяет вам указывать переменные среды и секреты для ваших функций. Вот пример:
service: my-serverless-app
provider:
name: aws
runtime: nodejs14.x
region: us-east-1
functions:
hello:
handler: handler.hello
environment:
API_KEY: ${env:API_KEY}
secrets:
- apiSecret
custom:
secrets:
apiSecret: ${ssm:/my-app/apiSecret}
В этом примере мы определяем переменную среды «API_KEY», которая ссылается на значение переменной среды «API_KEY» на компьютере развертывания. Мы также определяем секрет с именем «apiSecret», который извлекается из хранилища параметров AWS Systems Manager.
- Настройка ресурсов AWS CloudFormation.
Базовый шаблон SLS использует внутреннюю технологию AWS CloudFormation, позволяя настраивать сгенерированные ресурсы. Вот пример настройки функции AWS Lambda:
service: my-serverless-app
provider:
name: aws
runtime: nodejs14.x
region: us-east-1
functions:
hello:
handler: handler.hello
memorySize: 512
timeout: 10
В этом примере мы настраиваем размер памяти и значения времени ожидания для функции Lambda «привет».
- Развертывание инфраструктуры.
После того как вы определили свою инфраструктуру с помощью базового шаблона SLS, вы можете развернуть ее с помощью интерфейса командной строки Serverless Framework. Просто выполните следующую команду:
sls deploy
Serverless Framework позаботится о предоставлении необходимых ресурсов AWS и развертывании вашего кода.
Базовый шаблон SLS — это мощная функция Serverless Framework, которая упрощает управление вашей инфраструктурой AWS. В этой статье мы рассмотрели различные методы определения ресурсов, обработки переменных и секретов среды, настройки ресурсов AWS CloudFormation и развертывания инфраструктуры. Благодаря предоставленным примерам кода вы теперь должны иметь четкое представление о том, как использовать базовый шаблон SLS для своих бессерверных приложений.