Как создать интерфейс с общедоступным IP-адресом с помощью Google compute node.js api?

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

#node.js #API #google-облачная платформа #google-compute-engine

Вопрос:

Я использую официальный API Google:https://www.npmjs.com/package/@google-cloud/compute

Есть примеры, но ни один из них не показывает, как создать интерфейс с общедоступным IP.

Я не могу использовать http:true , так как мне нужно открыть определенный TCP-порт.

Ответ №1:

Создайте правило брандмауэра, чтобы разрешить подключения к порту на общедоступном IP-адресе виртуальной машины.

Ссылка от: https://googleapis.dev/nodejs/compute/latest/Network.html#createFirewall

 const Compute = require('@google-cloud/compute');
const compute = new Compute();
const network = compute.network('network-name');

const config = {
  protocols: {
    tcp: [3000],
    udp: [] // An empty array means all ports are allowed.
  },

  ranges: ['0.0.0.0/0']
};

function callback(err, firewall, operation, apiResponse) {
  // `firewall` is a Firewall object.

  // `operation` is an Operation object that can be used to check the status
  // of the request.
}

network.createFirewall('new-firewall-name', config, callback);

//-
// If the callback is omitted, we'll return a Promise.
//-
network.createFirewall('new-firewall-name', config).then(function(data) {
  const firewall = data[0];
  const operation = data[1];
  const apiResponse = data[2];
});