pythonのmysqlclientで、AWSrdsのMySQLにSSH認証を通じてアクセスしたい
Pythonのmysqlclientライブラリをつかって、AWSのrdsに立ち上げているMySQLにSSH認証を通じてアクセスしようとしています。
SSHTunnelを用いてファイルを開き、各種認証周りの情報を入力しましたが、なぜか接続されず具体的なエラー名も表示されません。
記入した項目は下記の通りです。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "./script/crawl.py", line 27, in <module> cnn = MySQLdb.connect( File "/usr/local/lib/python3.8/site-packages/MySQLdb/__init__.py", line 84, in Connect return Connection(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/MySQLdb/connections.py", line 179, in __init__ super(Connection, self).__init__(*args, **kwargs2) MySQLdb._exceptions.OperationalError: (2002, "Can't connect to MySQL server on 'ローカルのIPアドレス' (115)")
該当のソースコード
python3
1with SSHTunnelForwarder( 2 ('apのIPアドレス', 22), 3 ssh_host_key=None, 4 ssh_username='ec2-user', 5 ssh_password=None, 6 ssh_pkey='apの秘密鍵のパス', 7 remote_bind_address=('rdsのエンドポイント', rdsのポート番号), 8) as tunnel: 9 conn = MySQLdb.connect( 10 host='ローカルのIPアドレス', 11 port=10022, 12 user='', 13 db='db名', 14 passwd='dbのパスワード', 15 charset='utf8mb4' 16 ) 17 c = conn.cursor() 18 # テストで実行するSQL文 19 c.execute("SELECT * FROM test_table") 20 for row in c.fetchall(): 21 print(row) 22 conn.close()
試したこと
記入した情報は何度も確認したので誤りはないと思います。
エラーの理由として、どのような理由が考えられるでしょうか。
https://hack-le.com/mysqlclient-aws-rds/
この記事を参考にしています。
上記の記事を参考に、SSHTunnelForwarder()の引数に下記のコードを追加すると、
local_bind_address=('127.0.0.1',10022)
下記のようなエラーが出たので消してあります。
| ERROR | Problem setting SSH Forwarder up: Couldn't open tunnel localのIPアドレス <> rdsのエンドポイント:ポート番号 might be in use or destination not reachable Traceback (most recent call last): File "./script/crawl.py", line 17, in <module> with SSHTunnelForwarder( File "/usr/local/lib/python3.8/site-packages/sshtunnel.py", line 1552, in __enter__ self.start() File "/usr/local/lib/python3.8/site-packages/sshtunnel.py", line 1306, in start self._raise(HandlerSSHTunnelForwarderError, File "/usr/local/lib/python3.8/site-packages/sshtunnel.py", line 1100, in _raise raise exception(reason) sshtunnel.HandlerSSHTunnelForwarderError: An error occurred while opening tunnels.
補足情報(FW/ツールのバージョンなど)
python==3.7.3
mysqlclient==1.4.6
sshtunnel==0.1.5
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/17 18:35