Упростите свою инфраструктуру AWS с помощью базового шаблона SLS: подробное руководство

Управление инфраструктурой в облаке может оказаться сложной задачей, но при наличии правильных инструментов и инфраструктур она становится намного проще. В этой статье мы рассмотрим базовый шаблон SLS — мощную функцию Serverless Framework, которая позволяет вам определить инфраструктуру AWS с помощью одного файла. Мы рассмотрим различные методы и предоставим примеры кода, которые помогут вам начать работу.

  1. Что такое базовый шаблон SLS?
    Базовый шаблон SLS — это файл YAML, который служит основой для вашего проекта Serverless Framework. Он позволяет кратко и декларативно определять ресурсы AWS, такие как функции Lambda, шлюзы API и таблицы DynamoDB.

  2. Определение ресурсов 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».

  1. Переменные и секреты среды:
    Базовый шаблон 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.

  1. Настройка ресурсов 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 «привет».

  1. Развертывание инфраструктуры.
    После того как вы определили свою инфраструктуру с помощью базового шаблона SLS, вы можете развернуть ее с помощью интерфейса командной строки Serverless Framework. Просто выполните следующую команду:
sls deploy

Serverless Framework позаботится о предоставлении необходимых ресурсов AWS и развертывании вашего кода.

Базовый шаблон SLS — это мощная функция Serverless Framework, которая упрощает управление вашей инфраструктурой AWS. В этой статье мы рассмотрели различные методы определения ресурсов, обработки переменных и секретов среды, настройки ресурсов AWS CloudFormation и развертывания инфраструктуры. Благодаря предоставленным примерам кода вы теперь должны иметь четкое представление о том, как использовать базовый шаблон SLS для своих бессерверных приложений.