Não foi possível conectar-se ao Cassandra remotamente usando o driver DataStax Python

Estou tendo problemas para conectar-me ao Cassandra (executando em um nó EC2) remotamente (do meu laptop). Quando uso o driver DataStax Python para Cassandra:

from cassandra.cluster import Cluster
cluster = Cluster(['10.X.X.X'], port=9042)
cluster.connect()

Eu recebo:

Traceback (most recent call last):
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 3035, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-23-dc85f20fd4f5>", line 1, in <module>
    session = cluster.connect()
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/cassandra/cluster.py", line 755, in connect
    self.control_connection.connect()
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/cassandra/cluster.py", line 1868, in connect
    self._set_new_connection(self._reconnect_internal())
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/cassandra/cluster.py", line 1903, in _reconnect_internal
    raise NoHostAvailable("Unable to connect to any servers", errors)
NoHostAvailable: ('Unable to connect to any servers', {'10.X.X.X': OperationTimedOut('errors=None, last_host=None',)})

Mas Cassandra está correndo porquenodetool status me dá:

UN 127.0.0.1 124.18 KB 256 100.0% 4d973e17-ae08-3aa1-81d2-605b92753694 rack1

Cassandra também parece estar ouvindo na porta 9042:

netstat -nltp | grep 9042

tcp6       0      0 0.0.0.0:9042            :::*                    LISTEN      -

E posso telnet do meu laptop para Cassandra:

$ telnet 10.X.X.X 9042
Trying 10.X.X.X...
Connected to ip-10-X-X-X.
Escape character is '^]'.

Destaques relevantes do meu cassandra.yaml:

start_native_transport: true
rpc_address: 0.0.0.0
rpc_port: 9160
broadcast_rpc_address: 10.X.X.X

/var/log/cassandra/system.log não mostra nada útil.

editar: Também posso me conectar ao Cassandra usandocqlsh 127.0.0.1 9042 no servidor ecqlsh 10.X.X.X 9042 do meu laptop sem problemas.

Solução

Parece que o único local em que testei meu script (um console Python dentro do PyCharm) é, por algum motivo, o único local em que meu script não funciona. Não há problemas ao executar como script no modo interativo PyCharm ou Python / iPython. Deixarei a pergunta, pois ela contém uma lista de verificação bastante completa para a solução de problemas de conexão do Python para o Cassandra.

questionAnswers(2)

yourAnswerToTheQuestion