### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Similar to [bug: ec2 describe-availability-zones with --zone-name returns all zones](https://github.com/localstack/localstack/issues/4715) but with `--zone-ids`.

```
aws --endpoint http://localhost:4566 ec2 describe-availability-zones
{
    "AvailabilityZones": [
        {
            "State": "available",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1a",
            "ZoneId": "euw1-az3",
            "ZoneType": "availability-zone"
        },
        {
            "State": "available",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1b",
            "ZoneId": "euw1-az1",
            "ZoneType": "availability-zone"
        },
        {
            "State": "available",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1c",
            "ZoneId": "euw1-az2",
            "ZoneType": "availability-zone"
        }
    ]
}
```

```
aws --endpoint http://localhost:4566 ec2 describe-availability-zones --zone-ids euw1-az2
{
    "AvailabilityZones": [
        {
            "State": "available",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1a",
            "ZoneId": "euw1-az3",
            "ZoneType": "availability-zone"
        },
        {
            "State": "available",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1b",
            "ZoneId": "euw1-az1",
            "ZoneType": "availability-zone"
        },
        {
            "State": "available",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1c",
            "ZoneId": "euw1-az2",
            "ZoneType": "availability-zone"
        }
    ]
}
```

### Expected Behavior

```
aws --endpoint http://localhost:4566 ec2 describe-availability-zones --zone-ids euw1-az2
{
    "AvailabilityZones": [
        {
            "State": "available",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1c",
            "ZoneId": "euw1-az2",
            "ZoneType": "availability-zone"
        }
    ]
}
```
Similar to real AWS:
```
aws ec2 describe-availability-zones --zone-ids euw1-az2
{
    "AvailabilityZones": [
        {
            "State": "available",
            "OptInStatus": "opt-in-not-required",
            "Messages": [],
            "RegionName": "eu-west-1",
            "ZoneName": "eu-west-1c",
            "ZoneId": "euw1-az2",
            "GroupName": "eu-west-1",
            "NetworkBorderGroup": "eu-west-1",
            "ZoneType": "availability-zone"
        }
    ]
}
```

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

    awslocal s3 mb s3://mybucket


### Environment

```markdown
- OS:Ubuntu 22.04
- LocalStack: 2.2.0
```


### Anything else?

_No response_
add_security_group_ids: VpcEndpointSecurityGroupIdList = None,
        remove_security_group_ids: VpcEndpointSecurityGroupIdList = None,
        ip_address_type: IpAddressType = None,
        dns_options: DnsOptionsSpecification = None,
        private_dns_enabled: Boolean = None,
        subnet_configurations: SubnetConfigurationsList = None,
    ) -> ModifyVpcEndpointResult:
        backend = get_ec2_backend(context.account_id, context.region)
        vpc_endpoint = backend.vpc_end_points.get(vpc_endpoint_id)
        if not vpc_endpoint:
            raise InvalidVpcEndPointIdError(vpc_endpoint_id)
        if policy_document is not None:
            vpc_endpoint.policy_document = policy_document
        if add_route_table_ids is not None:
            vpc_endpoint.route_table_ids.extend(add_route_table_ids)
        if remove_route_table_ids is not None:
            vpc_endpoint.route_table_ids = [
                id_ for id_ in vpc_endpoint.route_table_ids if id_ not in remove_route_table_ids
            ]
        if add_subnet_ids is not None:
            vpc_endpoint.subnet_ids.extend(add_subnet_ids)
        if remove_subnet_ids is not None:
            vpc_endpoint.subnet_ids = [
                id_ for id_ in vpc_endpoint.subnet_ids if id_ not in remove_subnet_ids
            ]
        if private_dns_enabled is not None:
            vpc_endpoint.private_dns_enabled = private_dns_enabled
        return ModifyVpcEndpointResult(Return=True)
    @handler("ModifySubnetAttribute", expand=False)
    def modify_subnet_attribute(