#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];
});