NerdWalletOSS / kinesis-python

Low level, multiprocessing based AWS Kinesis producer & consumer library
Other
118 stars 50 forks source link

No obvious way to use VPC Interface endpoint #16

Open madsenwattiq opened 6 years ago

madsenwattiq commented 6 years ago

Maybe I'm missing something, but it looks like there's no obvious way to use this library with a VPC interface endpoint for Kinesis streams, to keep traffic internal to a VPC (and avoid the costs of sending the consumer/producer traffic over the public internet).

This would seem to be supported by Boto3's client constructor, so it should be a simple change.

self.kinesis_client = self.boto3_session.client('kinesis', endpoint_url="https://<URL>").

If you think this would be beneficial, am happy to send a PR.

victormpa commented 5 years ago

Actually there is no need to fiddle with the application in this case. Having the right settings enabled on the VPC (DNS resolution) and creating the endpoint is enough.

You can read more here https://docs.aws.amazon.com/streams/latest/dev/vpc.html

Just make sure that the application resides in a subnet that has the endpoint enabled.