我正在通过 gcloud 命令授权实例访问 PostgreSQL:
gcloud sql instances patch blah-sql-dev --authorized-networks 10.1.1.2/32,10.1.1.3/32,.....
我在 Cloud SQL 的授权网络下看到的只是 IP 地址,而不是一个友好的名称,它实际上告诉我 IP 地址的用途。
使用 Gcloud 将 IP 地址列入白名单时,是否可以包含友好名称?
当我执行上述命令时,我看到以下消息:
The following message will be used for the patch API method.
{"project": "my-project", "name": "blah-sql-dev", "settings": {"ipConfiguration": {"authorizedNetworks": [{"value": "10.1.1.2/32"}, {"value": "10.1.1.3/32"}, ......]}}}
所以看起来必须有某种方法可以通过该"value"
字段传递一个友好的名称,但是如何通过 gcloud 命令完成呢?
我想做同样的事情,但我没有找到使用 gcloud 命令的方法。您可以使用api来完成。我最终做了一个 nodejs 脚本,因为它更容易处理 json。我的用例是继续将我们的多个 gcloud 项目中每天都在变化的 hq ip 列入白名单。
您想为 Cloud SQL 的授权网络分配一个友好名称吗?
如果是这种情况,您可以使用 Cloud Console 为每个授权网络分配一个可选名称:转到您的产品和服务菜单 > Cloud SQL > [选择您的实例] > 连接 > 授权网络。
使用更新 API [1] 可能是另一种选择,因为它的父 authorizedNetworks 属性有一个名为“name”的属性。不过,您必须记住,这是在 Update API 中指定的,而不是在 Patch API 中。
查看描述的警告 [1]:这不是部分更新,因此您必须包含要保留的所有设置的值。对于部分更新,请使用补丁。
链接:
[1] https://cloud.google.com/sql/docs/postgres/admin-api/v1beta4/instances/update#request-body