sqs.changeMessageVisibility according to [this](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html#API_ChangeMessageVisibility_Examples) makes a request directly to the Queue's URL rather than via the SQS Endpoint. (I'm already setting SQS endpoint to LOCALSTACK_HOSTNAME - makes no difference for this call)..

In localstack the queue URL host returned is by default set to the value of HOSTNAME_EXTERNAL, which I'm setting to localstack, but calling this method within a lambda, does not work and I get the error:

```
UnknownEndpoint: Inaccessible host: `localstack'. This service may not be available in the `us-east-1' region. 
```

So, how can I make the queue URL accessible from within a lambda using localstack? Effectively I need to make **http://localstack** accessible from within lambda.

I'm using the following cmd to start localstack:

```
LAMBDA_EXECUTOR=docker-reuse DEBUG=1 LAMBDA_REMOTE_DOCKER=0 DATA_DIR=/tmp/localstack/data HOSTNAME_EXTERNAL=localstack localstack start
```
import json
import uuid
import logging
from localstack.utils.aws import aws_stack
LOG = logging.getLogger(__name__)
def sqs_error_to_dead_letter_queue(queue_arn, event, error):
    client = aws_stack.connect_to_service('sqs')
    queue_url = aws_stack.get_sqs_queue_url(queue_arn)
    attrs = client.get_queue_attributes(QueueUrl=queue_url, AttributeNames=['RedrivePolicy'])
    attrs = attrs.get('Attributes', {})
    policy = json.loads(attrs.get('RedrivePolicy') or '{}')
    target_arn = policy.get('deadLetterTargetArn')
    if not target_arn:
        return
    return _send_to_dead_letter_queue('SQS', queue_arn, target_arn, event, error)
def lambda_error_to_dead_letter_queue(func_details, event, error):
    dlq_arn = (func_details.dead_letter_config or {}).get('TargetArn')
    source_arn = func_details.id
    return _send_to_dead_letter_queue('Lambda', source_arn, dlq_arn, event, error)
def _send_to_dead_letter_queue(source_type, source_arn, dlq_arn, event, error):