我试过了
gcloud sql instances patch YOUR_INSTANCE_NAME --authorized-networks my-ip
但此命令会从访问控制列表中删除所有 IP 地址并仅添加我的 IP 地址。如何添加我的 IP 地址,同时保留以前的 IP 地址?
最佳答案
正如 James 所提到的,使用 Developers Console 可以轻松完成。使用命令行是可行的,尽管有点棘手。搜索 'Cloud SDK'表明似乎没有办法简单地检索授权网络。
但是您可以使用 describe
命令将返回 Cloud SQL 实例的所有设置。从这里开始,可以使用一些相当脆弱的命令系列来获得您要查找的内容。开始了:
首先,获取完整的 Cloud SQL 实例描述:
gcloud sql instances describe <instance-name>
其次,通过 grep
管道结果来检索显示在 -
之后的授权网络的 IP 地址。如果您愿意,可以在别处找到其他 IP 地址正则表达式。
| grep -E "\-\s[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
第三,通过cut
将结果管道化以在-
上拆分每一行并保留后半部分。
| cut -d '-' -f 2
第四,再次通过cut
管道结果以在空白处拆分每一行以删除第一个空格
| cut -d ' ' -f 2
然后,通过 tr
管道结果以用逗号替换新行
| tr '\n' ','
最后,通过 head
管道结果以删除结尾的逗号
| head -c -1
你的结果命令应该是这样的:
gcloud sql instances describe <instance-name> | grep -E "\-\s[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" | cut -d '-' -f 2 | cut -d ' ' -f 2 | tr '\n' ',' | head -c -1
这是一个非常脆弱的解决方法。此外,它公开了证书 key ,并且上面的特定正则表达式不匹配 IPv6 地址或使用 CDR 表示法匹配子网。这个简单的操作绝对值得一个功能请求。我强烈建议在 Google App Engine public issue tracker 上提交一份.
关于google-cloud-sql - 如何将 ip 地址添加到 cloud sql 访问列表以提供对 Google Cloud SQL 的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31677653/