For the Kinesis connector, between aws.region and aws.endpoint one is required. For FlinkKinesisProducer, however, aws.region is always required.
However, in this case the aws.endpoint never ends up being used since the code only calls KinesisProducerConfiguration#fromProperties. One would have to set a "KinesisEndpoint" property instead, but this is not a valid property.
This should be fixed such that a custom endpoint can be used, probably the same goes for the port.
Also, this is currently being worked around here: https://github.com/apache/flink/blob/master/flink-end-to-end-tests/flink-streaming-kinesis-test/src/main/java/org/apache/flink/streaming/kinesis/test/KinesisExample.java#L70