【问题标题】:Is it safe to connect DataFlow job to Cloud MySQL with proxy (by os.system)使用代理将 DataFlow 作业连接到 Cloud MySQL 是否安全(通过 os.system)
【发布时间】:2020-11-04 23:16:35
【问题描述】:

我正在尝试在 DataFlow 上创建一个需要 Cloud SQL 连接的 Python 作业(我完全是初学者)。我需要在 ParDo (Apache Beam) 中执行几个 MySQL 查询。我正在使用 PyMySQL 并且有身份验证问题,所以我尝试了 this 答案,显然它有效:

class MyDoFn(beam.DoFn):
 def setup(self):
    os.system("wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy")
    os.system("chmod +x cloud_sql_proxy")
    os.system(f"./cloud_sql_proxy -instances={self.sql_args['cloud_sql_connection_name']}=tcp:3306 &")

问题是,我发现这更像是一种变通方法。以这种方式进行身份验证是否安全?我将不胜感激任何帮助!提前谢谢你。

【问题讨论】:

    标签: mysql python-3.x proxy google-cloud-dataflow apache-beam


    【解决方案1】:

    是的,这是使用 Cloud SQL 连接的安全方式。 cloud_sql_proxy 使用来自 Compute Engine 实例的身份验证信息来正确验证连接。有关更多信息,请参阅https://cloud.google.com/sql/docs/mysql/sql-proxy#authentication-options

    【讨论】:

    • 代理连接是不是需要马上关闭,还是等到工作完成后操作系统会自行关闭?非常感谢!!
    • VM 关闭会终止代理进程,所以请等待作业终止
    猜你喜欢
    • 2017-11-25
    • 2018-06-03
    • 2023-03-09
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2021-05-06
    相关资源
    最近更新 更多