如何为Google Compute Engine实例获取DNS名称以固定访问地址?
解决方案
1. 使用实例内部DNS名称(同VPC场景)
如果你的Cloud SQL和GCE实例处于同一个VPC网络中,可直接通过实例的内部DNS名称访问,格式为:[实例名称].[区域].c.[项目ID].internal
对应你的实例就是:updateservice.us-central1-a.c.myproject.internal
内部IP不会随实例重启变更,同时你可以给Cloud SQL配置私有IP访问或VPC对等连接,直接允许VPC内实例访问,无需维护IP白名单。
2. 分配静态公网IP(公网访问场景)
若需要公网访问,给updateservice实例分配静态公网IP即可固定地址,操作步骤:
- 进入GCP控制台的Compute Engine页面
- 找到目标实例并点击编辑
- 在「网络接口」区域,点击「外部IP」下拉框,选择「预留静态IP」并完成配置
之后Cloud SQL只需白名单该静态IP一次,无需随实例重启修改。
3. 基于IAM身份认证访问(推荐方案)
彻底摆脱IP依赖,通过服务账号身份认证访问Cloud SQL:
- 给GCE实例绑定服务账号,并为该账号赋予
Cloud SQL Client角色 - 在Cloud SQL的连接设置中启用「IAM数据库认证」,并在数据库内创建对应服务账号的用户
- 实例通过服务账号身份即可访问Cloud SQL,无需配置任何IP白名单
内容的提问来源于stack exchange,提问作者sonium
相关产品推荐
相关产品推荐

