Запуск экземпляра EC2 через AWS Lambda - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь создать лямбда-функцию в AWS для запуска и остановки экземпляра EC2, но выдает следующую ошибку

botocore.exceptions.ClientError: An error occurred (UnauthorizedOperation) when calling the StartInstances operation: You are not authorized to perform this operation.

Какие шаги следует предпринять, чтобы устранить эту ошибку?Я не разработчик, просто пытаюсь запустить модель ML через EC2.Я прочитал кое-что о создании роли IAM, что я сделал с полным доступом к EC2, но я не уверен, как использовать то же самое в лямбда-функции.Кто-нибудь может наставить меня на то же самое?

1 Ответ

0 голосов
/ 02 февраля 2019

При создании лямбда-функции AWS этой функции присваивается Роль IAM .

Когда функция выполняет вызов API AWS, она использует разрешения, предоставленные в роли IAM длявызовите другие сервисы AWS.

Поэтому вам необходимо:

  • Создать роль IAM с достаточными разрешениями для работы функции Lambda (но предпочтительно не слишком много разрешение, поскольку это может создать дыры в безопасности)
  • Назначить роль IAM для функции Lambda

Ваша функция должна была бы, как минимум, иметь разрешение ec2:StartInstances.Вполне вероятно, что ему потребуются и другие разрешения, в зависимости от настроек, используемых при запуске экземпляра.

...