Api узла GCE использует пользовательскую сеть без внешнего IP-адреса

# #node.js #google-cloud-platform #google-compute-engine

Вопрос:

Я борюсь с созданием новой виртуальной машины с помощью API node google compute engine. Облачная консоль выдает мне код REST, когда внешний IP-адрес не выбран:

  "networkInterfaces": [
    {
      "subnetwork": "projects/optum-80593/regions/us-central1/subnetworks/subnet-us-central1"
    }
  ]
 

Но когда я использую это в своей конфигурации для API узла, внешний IP-адрес по-прежнему установлен для этой виртуальной машины:

  const Compute = require('@google-cloud/compute');
 const compute = new Compute();
 const zone = compute.zone('us-central1-a');

 const config = {
        machineType: machinetype,
        maintenancePolicy: 'MIGRATE',
        http: true,
        disks: [
          ...
        ],
        canIpForward: false,
        networkInterfaces: [
            {
                subnetwork: "projects/optum-80593/regions/us-central1/subnetworks/subnet-us-central1"
            }
        ], 
   ...
}

await zone.createVM(vmName, config).then(async (data) => {
 

Комментарии:

1.В настоящее время нет способа установить для внешнего IP-адреса виртуальной машины значение » нет » при ее создании с помощью узла js. Вместо этого вы можете удалить внешний IP-адрес с помощью deleteAccessConfig вызова API из кода NodeJS после установки компьютера.

2. После установки виртуальной машины вы можете выполнить вызов API, используя предпочитаемую библиотеку NodeJS. Установите для параметра «accessConfig» значение «external-nat», а для параметра «NetworkInterface» значение «nic0». Другие аргументы соответствуют данным виртуальной машины, с которой вы пытаетесь удалить внешний IP-адрес.

3. На самом деле это возможно, вам просто нужно опустить accessConfigs , и у вас будет виртуальная машина без внешнего IP-адреса. Я протестировал с моей стороны так, как это делаете вы, и у меня есть виртуальная машина без внешнего IP-адреса. Может быть, есть что-то еще…

Ответ №1:

Это работает, когда я копирую весь код REST в свой API узла.