¿Cómo hablar con el servicio aws elasticsearch usando el cliente java elástico?

He configurado un servidor elasticsearch usandoServicio de búsqueda elástica de AWS (No EC2). Me dio un punto finalhttps://xxx-xxxxxxxx.us-west-2.es.amazonaws.com/ y si hago clic en este punto final (tenga en cuenta que no hay un puerto especificado) puedo obtener el esperado

{
  status: 200,
  name: "Mastermind",
  cluster_name: "xxxx",
  version: {
    number: "1.5.2",
    build_hash: "yyyyyy",
    build_timestamp: "2015-04-27T09:21:06Z",
    build_snapshot: false,
    lucene_version: "4.10.4"
  },
  tagline: "You Know, for Search"
}

La pregunta es ¿cómo consigo esto a través del cliente java elasticsearch sin un número de puerto? El código de muestra que obtengo es

Client client = TransportClient.builder().build()
    .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("host1"), 9300));

Si uso este código y simplemente reemplazo "host1" con mi punto final, obtendré "NoNodeAvailableException"

ps: la versión del cliente de Java que estoy usando es 2.0.0.

Editar Finalmente decidí ir conBroma, un cliente REST de terceros. Pero lo que Brooks respondió a continuación también es muy útil: AWS utiliza el puerto 80 para http y 443 para https. El bloqueador para mí fue el firewall, supongo.

Edit2 La documentación del servicio de AWS ES dice explícitamente:
El servicio admite HTTP en el puerto 80, pero no admite el transporte TCP.

Respuestas a la pregunta(3)

Su respuesta a la pregunta