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
```
return boto3.resource('s3',
        endpoint_url=config.TEST_S3_URL,
        config=boto3.session.Config(s3={'addressing_style': 'path'}),
        verify=False)
def extract_region_from_auth_header(headers):
    auth = headers.get('Authorization') or ''
    region = re.sub(r'.*Credential=[^/]+/[^/]+/([^/]+)/.*', r'\1', auth)
    region = region or get_region()
    return region
def extract_region_from_arn(arn):
    parts = arn.split(':')
    return parts[3] if len(parts) > 1 else None
def get_account_id(account_id=None, env=None):
    if account_id:
        return account_id
    env = get_environment(env)
    if is_local_env(env):
        return os.environ['TEST_AWS_ACCOUNT_ID']
    raise Exception('Unable to determine AWS account ID (%s, %s)' % (account_id, env))
def role_arn(role_name, account_id=None, env=None):