It's counter intuitive but attaching a VPC Lambda to a public VPC subnet will not give it access to the internet.
See: https://docs.aws.amazon.com/lambda/latest/dg/vpc.html#vpc-in...
See: https://docs.aws.amazon.com/lambda/latest/dg/vpc.html#vpc-in...