2016-11-23 2 views
2

L'instance RDS ne se trouve pas sur VPC (Classic); il est associé à un groupe de sécurité avec des autorisations pour certains groupes de sécurité CIDR/IP et EC2.Accès AWS Lambda à RDS en dehors de VPC

Je souhaite créer une fonction AWS Lambda qui exécutera des instructions SQL sur cette base de données et qui effectuera également des demandes auprès d'une instance EC2 appartenant au même groupe de sécurité. Est-il possible d'autoriser Lambda à accéder à cette base de données?

+1

Pourriez-vous s'il vous plaît modifier votre question pour fournir plus de détails? Voulez-vous dire que vous avez une instance Amazon RDS qui est dans un sous-réseau privé dans un VPC différent? Votre fonction AWS Lambda souhaite-t-elle exécuter du code SQL sur la base de données RDS? Toute clarification nous aiderait à répondre à votre question. Je vous remercie! –

+0

@JohnRotenstein Fait, s'il vous plaît laissez-moi savoir si c'est assez clair. Merci. – ftkg

Répondre

5

Vous avez deux options:

1) Fonction Lambda extérieur VPC: Réglez le RDS « accessible au public » et dans le groupe de sécurité permettent l'accès de partout (parce que l'ensemble des adresses IP Lambda ne sait pas).

2) Fonction Lambda à l'intérieur de VPC: Autoriser l'accès à RDS de toutes les adresses IP du VPC car la fonction Lambda obtiendra une adresse IP parmi celles disponibles dans votre VPC. Attention: Si la fonction Lambda est exécutée plusieurs fois en parallèle, il se peut que votre VPC soit à court d'adresses IP, ce qui fait échouer votre fonction Lambda.

+1

Notez que la simple configuration de Lambda pour fonctionner à l'intérieur du VPC interdit à Lambda d'accéder à des ressources en dehors du VPC (y compris d'autres ressources AWS telles que S3). Afin de permettre l'accès aux deux, suivez ces instructions, ils ont été une bouée de sauvetage. https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7 – Brooks

+0

Quelle est la solution de contournement pour le cas 2 (VPC à court d'adresses IP)? – ftkg

+0

@ftkg Il n'y a pas de solution de rechange en soi. Vos options sont de demander à AWS plus d'adresses IP ou de déplacer la fonction Lambda en dehors du VPC. – Digitalkapitaen