заставить serverless.yml использовать существующий vpc - PullRequest
0 голосов
/ 11 ноября 2019

Можно ли получить шаблон serverless.yml для замены в идентификаторе VPC на VPC, который уже существует в учетной записи AWS?

У меня и моих коллег есть свои собственные учетные записи AWS, которые предоставляютсянаша компания с одним VPC (и у нас нет разрешения на создание собственных VPC), поэтому я хочу, чтобы мой serverless.yml мог для каждого человека получать идентификатор VPC для учетной записи этого человека и заменять его на безсерверный.yml

Есть ли способ сделать это или без сервера, или необходимо будет параметризовать его с помощью переменной окружения?

Ответы [ 2 ]

1 голос
/ 14 ноября 2019

Отредактируйте serverless.yml

Попробуйте добавить vpc в функции или в раздел провайдера:

В конкретной функции:

 functions:
  getAllTrucksTSPFleetilla:
      handler: src/functions/get-all-trip-stop-parking.handler
      vpc:
        securityGroupIds:
          - sg-xxxxxxx1
          - sg-xxxxxxx2
        subnetIds:
          - subnet-xxxxxx1
          - subnet-xxxxxx2
          - subnet-xxxxxx3

Во всем проекте:

provider:
  name: aws
  vpc:
    securityGroupIds:
      - sg-xxxxxxx1
      - sg-xxxxxxx2
    subnet-xxxxxx1
      - subnet-xxxxxx2
      - subnet-xxxxxx3

Чтобы получить группы безопасности и подсеть, вам нужно перейти на VPC service на консоли aws и найти эту информацию.

ПосетитеБезсерверная документация: sls vpc docs

1 голос
/ 13 ноября 2019

Если VPC были созданы с помощью шаблонов Cloudformation, вы можете экспортировать выходное значение стека для каждого из ваших идентификаторов VPC. Затем в вашем файле serverless.yml вы можете использовать встроенную встроенную функцию Fn :: ImportValue для считывания значения экспортированного идентификатора vpc.

Если вы не используете Cloudformation или не можете экспортировать идентификатор vpc, я бы предложил добавить его в качестве параметра в безсерверный. Лично я не вижу вреда в наличии параметра для идентификатора VPC.

...