GCP:为现有实例分配/删除临时IP

gdu*_*ont 6 google-cloud-platform gcloud gcp

我在GCP中有很少的实例,出于管理目的,我需要在SSH中简要连接并启动一些命令.这些实例在"正常"模式下没有外部IP,但是对于这些简短的维护,我想分配临时IP,进行维护然后删除它们.

可以在Web界面上轻松完成此操作(编辑实例更改NIC配置以添加临时NAT IP)但我想避免这种情况,因为我有几个实例...我在gcloud文档中遗漏了什么?

gdu*_*ont 6

经过一段时间(太长时间)探索gcloud文档的深层部分后发现它.

在专门为实例分配静态外部IP地址的部分中(静态部分中的是),它在一个小注释中说:

"如果您打算使用短暂的外部IP地址,则可以跳过此步骤,计算引擎将随机分配一个短暂的外部IP地址."

https://cloud.google.com/compute/docs/ip-addresses/reserve-static-external-ip-address#ipassign

因此,"关键"一词是为您的实例添加一个accessConfig,如:

gcloud compute instances add-access-config [INSTANCE_NAME] \
--access-config-name "[ACCESS_CONFIG_NAME]" 
Run Code Online (Sandbox Code Playgroud)

在这个例子中有一个"--address [IP_ADDRESS]"选项来分配静态外部IP,但正如笔记所说它是可选的.坦率地说不容易找到.


fbr*_*aga 5

借助 Google Cloud SDK,您可以使用如下工作流程:

设置一些变量;

instance=instance-1
zone=asia-northeast2-a
Run Code Online (Sandbox Code Playgroud)

为实例设置一个外部临时 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
Run Code Online (Sandbox Code Playgroud)

对应的 Cloud SDK 文档链接是instance/describeinstance/add-access-configsshinstances/delete-access-config