def get_hosted_zone_id_for_domain(route53_client, domain_name):
    """
    List public zones -- more robust implementation linked below that considers
    - larger number of hosted zones
    - more diverse pool of domain names
    - non-public hosted zones
    cf.: https://github.com/Miserlou/Zappa/blob/master/zappa/core.py#L3087
    """
    public_zones = []
    zones = route53_client.list_hosted_zones(MaxItems='25')
    for hosted_zone in zones['HostedZones']:
        if not hosted_zone['Config']['PrivateZone']:
            public_zones += zones['HostedZones']
    for zone in public_zones:
        if zone['Name'][:-1] == domain_name:
            return zone['Id']
    return None
