I am trying to setup an ElasticSearch cluster on Azure.
I can access it from localhost, but not from any other machine. What do i have to set my configuration to (in either Azure or ElasticSearch config) to allow another cloud app to connect to my instance?
It turns out that Windows Firewall was blocking my port (9200) on the VM.
Going into windows firewall and enabling it fixed the problem.
Related
I have an Azure virtual machine, on which a process listens on a certain port. A Node.js application on my local computer is able to connect to this process using the VM's public IP address. But the same Node.js application, deployed as an app service on Azure, is apparently not able to connect using any IP address, despite the fact that the VM allows all incoming traffic on all ports.
(Details: The VM process is running "q" (kdb+), and the Node.js application is using the "node-q" package to connect to it. Both the Azure VM and the Azure app service are Linux, but the local version of the app service is on Windows. The Azure app service is able to connect to my Azure SQL database.)
Any insights into this problem would be appreciated.
There are many reasons for Bad gateway error, probably you could verify these factors on your side:
Azure VM side. Make sure the Azure VM is running and the process port is listening when you request a connection from an application. You could run sudo netstat -plnt on Linux VM to check the listening ports. Or, a server can crash if it has exhausted its memory, due to a multitude of visitors on site or a DDOS attack.
Firewall blocks a request. You should allow all incoming traffic or Azure web app service outbound traffic on this listening port on the VM. In this scenario, you could verify the Network Security Group configuration for the VM and firewall inside the VM if you have. You could find NSG settings by clicking Virtual machine--Settings---Networking---inbound port rules on the Azure portal.
Faulty programming. It seems the Node.js application could work locally.
Temporary issue. Sometimes, there is no real issue but your browser thinks there is one thanks to an issue with your browser, a problem with your networking equipment, or some other reasons. You could refresh your web browser or clear cache and cookies to get the page back what you are looking for. More details you can refer to fixing 502 error.
If you still have any question, feel free to let me know.
It was faulty deployment. I didn't include all dependencies in the upload to Azure. Thank you.
I am trying to use elasticsearch for search functionality in my website. I have setup elasticsearch in my local development environment and it works fine.
I have setup the elasticsearch on Ubuntu Linux machine as given here
I have opened endpoints (ports) 9200 and 9300 on the Linux elasticsearch server.
I have created a virtual network and my website and this elasticsearch server are in the same virtual network.
I am able to connect to my Linux elasticsearch server from my local machine using a public IP.
I could not connect to Linux elasticsearch server from my Azure website either from internal IP like 10.0.0.4 and configured public IP.
I want to check whether connecting to elasticsearch port 9200 from Azure website is possible or not? Also please suggest a way to check existing configuration to troubleshoot the Azure website to elasticsearch connectivity issue.
It is definitely possible. We do it for audit logging and event logging from both azure websites and cloud services.
In the above article I mentioned, it says it is not possible, I tried but could not connect. There is something called hybrid connection but that can be setup only for windows servers. Here is the line that is mentioned in this article
http://code972.com/blog/2014/07/74-the-definitive-guide-for-elasticsearch-on-windows-azure
"Unfrotunately, Azure Websites do not currently support running on a Virtual Network, meaning you can only deploy websites as a Cloud Service if you want them to access the cluster this way."
I checked few more blog posts and found such comments. So, I have given up using Linux server and taken a Windows 2012R2 searver, configured elasticsearch and was able to access elasticsearch cluster now.
If anybody has a solid information on how to connect Azure website to Linux VM please give me links or steps.
I have an Azure Website and it is required to consume an elastic search service that's running on a VM.
Although I need to be able to lock the access to elastic search down so only the Azure Website can access it, I can't seem to work out how to do this using the endpoint configuration on the VM.
Am I looking in the wrong place?
Thanks
Carl
You will need to setup a Hybrid Connection between your Web Site and the VM:
Hybrid Connections create a safe tunnel between your Web Site and a VM for example. The screenshot shows the integration between a Web Site and the corporate network, but this also works for VMs running in Azure.
The only requirement is that you install the Hybrid Connection Manager on your VM. More information:
http://azure.microsoft.com/en-us/documentation/articles/integration-hybrid-connection-overview/
I am trying to connect to my Sql server 2012 which is setup on Azure VM. I am trying to connect it from my local Sql server 2012. I have tried all these steps
http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-provision-sql-server/
But still not able to connect. I getting this error
Can Some please help me to solve this problem?
Since you're connecting to cloudnet.app domain address I assume you don't use VPN. This means:
- SQL Server authentication should be set to mixed mode
- SQL login should be created or enabled
- In case enabling SA login make sure you set the password
For connectivity part I agree with Jason's suggestions, but I would not disable firewall, since with endpoints facing public internet it is your last line of defense on the VM. Just make sure you have allow rule for the SQL Server port (most likely 1433).
Confirm the following:
You have configured the cloud service port 57500 (from the screenshot) to forward to the port that SQL is configured on, typically 1433.
Turn off the firewall within the VM. Once you get a working connection, I would reconfigure the firewall to only open the port(s) you need for security. The instructions you provided show how to open a specific port, but you should first disable the firewall to rule out a misconfiguration there.
Remote into the VM and ensure that you're able to use the management tools on that machine to make a local connection. This will help rule firewalls and the load balancer for the cloud service.
Hi guys,
i created sql server database in windows azure. after i integrate this database with my application its working fine.i want to move my application also windows azure virtual machine.i created required Environment(means install java and tomcat) for this.and also allow the ip address in azure sql server database also.but it showing
Connect open connection error
while connecting database.i also allow the port number in wirewall settings but still i am not able to connect database.
please give any suggestions.
From your question it is a little bit unclear which database you're using -
If you're using 'Windows Azure SQL Database' (i.e. the PaaS version), than you need to ensure that your server's firewall, through the Windows Azure Management Portal, is configured to allow Windows Azure Services and then, of course, you need to use the fully qualified name of the server when trying to connect (i.e. ABCD.database.windows.net)
If you have deployed SQL Server as a VM on IaaS you have two options - either define an endpoint for the VM to open port 1433 (or any other port mapped to 1433 for that matter) to the outside world and then use the cloud service's DNS entry to connect to the database or define a virtual network onto which you will deploy both your database VM and your application VM. if you do the latter you will be able to refer to the database using it's private IP.
this might be somewhat useful