You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过API创建带互联网连接的GCE VM时如何配置获取外部IP

解决方案

你需要在createVM方法的配置参数中显式添加networkInterfaces配置,指定为实例分配临时外部IP,修改后的代码参考如下:

var vmName = 'testvm1';
const [vm, operation] = await zone.createVM(vmName, { 
  os: 'ubuntu',
  // 新增网络配置
  networkInterfaces: [{
    network: 'global/networks/default', // 替换为你实际使用的VPC名称,默认值为default
    subnetwork: 'regions/us-central1/subnetworks/default', // 替换为对应区域的子网名称
    accessConfigs: [{
      name: 'External NAT',
      type: 'ONE_TO_ONE_NAT'
    }]
  }]
});

// 第二个创建实例的代码同理添加配置即可
zone.createVM('debian-http', {
  disks: [{
    boot: true,
    source: 'https://www.googleapis.com/compute/v1/projects/[project-id]/zones/us-central1-f/disks/debian-http'
  }],
  http: true,
  machineType: 'f1-micro',
  // 新增网络配置
  networkInterfaces: [{
    network: 'global/networks/default',
    subnetwork: 'regions/us-central1/subnetworks/default',
    accessConfigs: [{
      name: 'External NAT',
      type: 'ONE_TO_ONE_NAT'
    }]
  }]
})

配置说明

  • networkInterfaces用于指定实例绑定的VPC网络和子网信息
  • accessConfigs下配置type: 'ONE_TO_ONE_NAT'即通知GCP为该实例分配临时公网IP,和云控制台默认创建实例的行为一致

注意事项

  • 如果你使用的不是默认VPC和子网,需要将network和subnetwork的值替换为你实际使用的资源路径
  • 请确认调用API的服务账号有分配公网IP的权限,且对应VPC子网的配置允许分配公网IP

内容的提问来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:42:02