I'm building an azure iot-edge solution on a windows 10 Azure VM. The solution require to build iotedge as a transparent gateway in order to send data from Kepware to it.
To do that reading the Microsoft documentation I see that I require to build an external virtual switch in order to configure the gateway device as a server so that downstream devices can connect to it securely. I have some problem doing that, so that looking at the documentation I read here : https://learn.microsoft.com/en-us/azure/iot-edge/nested-virtualization?view=iotedge-2020-11 that Azure VM does not support external switches.
Do you have some workaround to allow me to send data from kepware to iotedge modules?
In case I misread something please feel free to correct me.
Virtual machine can support external switch in hyper -V manager try to connect your virtual machine via RDP in your remote desktop.
You can Enable Hyper-V using powershell or Deployment Imaging Servicing and Management tool (DISM) or in Apps and Features setting please refer this MsDocs
In server manager -> Tools -> Hyper-V manager
In Hyper-V management console You can find virtual switch manager like below
You can establish three switches in a virtual switch, and the external switch will enable connectivity to the outside network and bind to the physical adapter so the virtual machine can access the physical network.
If you are going to access virtual machine from client or anything from out, you need to external switches is required and create virtual switch.
Click external network and select ethernet adapter and allow management operating system to network adaptor, apply and configure like below.
Related
I have an App Service in my Azure resource group. My ASP NET application is hosted on the windows environment inside that app service. I am wondering if it is possible to connect to this desktop windows server using Remote Desktop or something like this. There is a KUDU feature on the Azure but the only one thing that I can do with this is to show server's CMD. That is not enough, because I need to access to the windows desktop GUI like on typical PC. Do you know any tool that would allow me to do this?
App Service runs your applications in a sandbox and it's simply not possible to remote desktop to the underlying VM. There's no Windows GUI that you can access.
The Virtual Machines service allow full control of the VM and you can access the Windows GUI using remote desktop.
We have a bring your own device program in our company but after a security review we can't let users/developers have admin access, use removable drives, download Azure data etc.
Essentially, we need them to do all their work on VMs instead of their own PCs.
The simplest solution here seems to be to create remote VMs (i.e. not locally using Virtualbox) for developers to do their work on instead of using their PCs directly.
Is there a way to do this using Azure or do we have to purchase a Citrix license?
I've a nodejs app using this npm package (https://github.com/ancasicolica/node-wifi-scanner ) which basically use netsh wlan command to list all surrounding wifi. when I run this locally, everything fine but when /I deploy this to Azure Web App, it will only return the connected WiFi but bit surrounding. Any idea of what might have been wrong on Azure?
As the Technical background describes:
The module uses command line tools for gathering the network information:
netsh on Windows: netsh wlan show networks mode=Bssid
And we do not have sufficient permission to run this command on Azure Web Apps.
And secondly, As #astaykov said, Azure is a cloud compute platform, all the services and resources are in the Azure Data Centers, which cannot detect your WiFi environment on your local.
You cannot approach your requirement on any cloud compute platforms. You need to to the detection operations on your client side or devices.
There is nothing wrong on Azure!
Do you really expect to scan for WiFi networks inside an Azure Data Center (the chance that there is a WiFi network inside Azure Data Center is close zero) ?!
Do you believe that servers running inside Azure Data Center do have WiFi adapters (I don't) ?!
And what exactly are you trying to achieve - a server based application running on server somewhere on Internet, using netsch on the server to scan for WiFi networks available on your laptop? No, this is not possible. And this is not Azure limitation, and has nothing to do with Azure.
Currently I am designing a solution for connecting Smart devices that are hosted behind a Router using NAT. The Central service etc are hosted on Azure. One idea is to join all devices and the Azure components in a VPN using the Point to Site solution. The smart devices do not have a Windows based operating system. In the portal the configuration for the Windows standard VPN client is available. I now would like to find out if it is posible to Connect to the Azure VPN using other clients and so how to configurate these(Setting the GateWay, attachint the client cetificate etc.)
If your client architecture permit it, you may put in place on the client side a Windows (or Linux) machine having a gateway role. You will either:
connect this machine to Azure via Point-to-Site SSTP VPN and expose a service acting as proxy from the cloud service to the local devices
use Azure IoT Gateway SDK for all this: https://azure.microsoft.com/fr-fr/blog/introducing-the-azure-iot-gateway-sdk-beta/
In any case this architecture is more robust. But works only if it possible from your client architecture point of view.
I found the below article to create a virtual machine and load balance with an existing virtual machine.
https://www.windowsazure.com/en-us/manage/windows/common-tasks/how-to-load-balance-virtual-machines/?_sm_au_=iVVNR02FVsMFjVB3
But how can the same be done via Service Management API.
The related tags i found in the POST request to create a VM are ,
LoadBalancedEndpointSetName, LoadBalancerProbe
Where do I get started ? How do i connect two virtual machine via API ?
Thanks.
The following is from a post on Virtual Machines by Michael Washam, however the idea is the same for teh Windows Azure SErvice management REST API:
A load balanced set is simply configuring the same endpoint on
multiple VMs and setting another property called the
“LoadBalancedEndpointSetName (or LBSetName in PowerShell) with a
common name to group the endpoints together. This functionality is
abstracted away within the Windows Azure management portal but it is
good to go into in detail because from the command line you can have
much more control over the load balancer by using custom health
probes.
As Michael Washam points out you just need to use the same endpoint for the two Virtual Machines and provide the same LoadBalancedEndpointSetName to the Create Virtual Machine Deployment operation.