2017-02-03 14 views
0

У нас есть сценарий cloudfrormation, который создает нашу базу данных MS SQL Server.Можете ли вы создать схему на RDS, созданную с облачной областью с использованием Lambda?

У нас есть функция лямбда, которую мы запускаем, чтобы загрузить схему из S3 и запустить ее против нашей недавно созданной БД.

Перед тем, как запустить его, нам необходимо обновить функцию Lambda с помощью новой группы безопасности БД/VPC. Мы запускаем его вручную прямо сейчас, используя режим «тест».

Возможно ли запустить функцию лямбда автоматически из сценария cloudformation?

Похоже, самая большая проблема заключалась бы в добавлении групп безопасности/VPC к функции Lambda, но, возможно, мы могли бы создать функцию Lambda в сценарии облачной информации и одновременно назначить защиту.

ответ

0

Да, вы можете автоматически вызывать функцию Lambda из шаблона CloudFormation. Лучший способ добиться этого - создать Custom Resource, который будет выполнять вашу функцию Lambda при создании/обновлении/удалении пользовательского ресурса. (Добавьте условие к вашей лямбда-функции, чтобы выполнить только свою желаемую логику, когда event.RequestType == 'Create').

Если вы создаете функцию Lambda с помощью AWS::Lambda::Function ресурса, вы можете указать VpcConfig свойство, чтобы настроить SecurityGroupIds и SubnetIds, связанный с функцией Lambda чтобы получить доступ к БД.

Обратите внимание на дополнительные соображения, необходимые для Configuring a Lambda function for Amazon VPC Access. Использование пользовательского ресурса также потребует либо исходящего Internet Access for Lambda Functions, либо VPC Endpoint, позволяющего функции Lambda отправлять ответы обратного вызова в ведро cloudformation-custom-resource-response-[region] S3.

+0

Спасибо, что помогли мне получить эту работу. Я пытаюсь использовать предопределенные ресурсы безопасности, чтобы я мог повторно использовать функцию Lambda. Это сообщение было также полезно для получения этой работы: [Как мы получаем доступ к пользовательским ресурсам CloudFormation с помощью функции AWS Lambda, написанной на Java?] (Http://stackoverflow.com/questions/32811947/how-do-we- доступ и-реагировать-на-CloudFormation-таможенно-ресурсы, используя-ан-AWS-лама). –