我在GCP中只有很少的实例,出于管理目的,我需要简单地在SSH中连接并启动一些命令。这些实例在“正常”模式下没有外部IP,但是对于这些简短的维护,我想分配临时IP,进行维护然后删除它们。
可以在Web界面上轻松完成此操作(编辑实例更改NIC配置以添加临时NAT IP)但我想避免这种情况,因为我有几个实例...我在gcloud文档中遗漏了什么?< / p>
答案 0 :(得分:5)
经过一段时间(太长时间)探索gcloud文档的深层部分后发现它。
在专门为实例分配静态外部IP地址的部分中(静态部分中的是),它在一个小注释中说:
&#34;如果您打算使用短暂的外部IP地址,可以跳过此步骤,计算引擎将随机分配一个短暂的外部IP地址。&#34;
https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address#ipassign
所以&#34;键&#34;单词是为您的实例添加accessConfig,如:
gcloud compute instances add-access-config [INSTANCE_NAME] \
--access-config-name "[ACCESS_CONFIG_NAME]"
在这个例子中有一个&#34; - 地址[IP_ADDRESS]&#34;分配静态外部IP的选项,但正如笔记所说它是可选的。坦率地说不容易找到。
答案 1 :(得分:0)
使用Google Cloud SDK,您可以使用以下工作流程:
设置一些变量;
instance=instance-1
zone=asia-northeast2-a
设置实例的外部临时ipv4地址,向其发出维护命令,并取消设置其外部临时ipv4地址;
gcloud compute instances add-access-config $instance --zone=$zone
gcloud compute ssh $instance --zone=$zone --command="maintenance #..."
gcloud compute instances delete-access-config $instance --zone=$zone
相应的Cloud SDK文档链接为instances/describe,instances/add-access-config,ssh和instances/delete-access-config。