安全访问数据库

安全访问数据库 - 图1提示

请确认管理员已经安装了 Terraform 插件

在指南 创建和使用云资源数据库创建和初始化,业务组件 使用数据库的公网连接 DB_PUBLIC_HOS 来访问数据库。当你想试用,创建 PoC,或在云提供商集群之外使用数据库时,这是必要的。但是,对于数据库的生产使用来说,它是不安全的。

本教程将讨论如何安全访问你的数据库。

部署数据库

阿里云 RDS 参考文档中,这两个属性非常重要。

名称描述类型是否必须默认值
vswitch_idThe vswitch id of the RDS instance. If set, the RDS instance will be created in VPC, or it will be created in classic network.stringfalse
allocate_public_connectionWhether to allocate public connection for a RDS instance.boolfalse

vswitch_id 设置为与你的 ACK 集群的子网之一,或属于集群 VPC 的一个新子网。 将 allocation_public_connection 设置为 false 以禁止创建互联网连接。

然后在业务组件中使用 DB_HOST,通过私有网络连接安全地连接数据库。

  1. apiVersion: core.oam.dev/v1beta1
  2. kind: Application
  3. spec:
  4. components:
  5. - name: web
  6. ...
  7. traits:
  8. - type: service-binding
  9. properties:
  10. envMappings:
  11. DATABASE_HOST:
  12. secret: db-conn
  13. - key: DB_PUBLIC_HOST
  14. + key: DB_HOST
  15. - name: db
  16. type: alibaba-rds
  17. properties:
  18. ...
  19. + vswitch_id: xxx
  20. + allocate_public_connection: false
  21. writeConnectionSecretToRef:
  22. name: db-conn

执行应用

你可以使用创建和使用云资源数据库创建和初始化的实例来安全访问数据库。