Install openstack on vm windows azure - azure

I just installed Openstack on Windows azure virtual machine.
But basicly Openstack need fixed ip(ip address which used to communicate between vm and openstack) and float ip(which used to communicate vm and network outside or internet)
But on windows Azure, VM just gave one private ip and one public ip for my azure virtual machine which i've installed Openstack.
So that VM which i created using openstack can't get both of fixed ip and float ip.
How i can configure this on windows azure vm so that my vm which i created using openstack can get fixed and float ip?
Thanks

I believe you cannot get around IP limitations that your VM gets from Azure. However that being said, depending on what O/S you run, you have always options to introduce more IP-addresses at O/S level.
Now depending of the O/S you can bridge/tunnel those IP addresses to access that VM in a manner that those IPs are exposed to clients. VPN is one good example of such functionality - which you may use different tools (again specific details rely on the O/S).
This is the only solution that comes to my mind; I've faced (and dealt with) the Azure only-one-IP limitation on other scenarios...

Related

Accessing openstack instances hosted in Cloud

I'm newbie to OpenStack! I've installed Openstack in Ubuntu Server 18.04 LTS on Microsoft Azure virtual machine (for my learning purpose because I don't have the required resources like 16GB RAM and 4 CPUs). I'm able to access the Openstack Dashboard with the help of public ip address of that VM using the browser in my machine. I've assigned floating ip address to the instance (here it is 172.24.4.8).
My instance specs are
This is my network topology and my azure virtual machine's network configurations
azure vm's private ip = 192.168.0.4
azure vm's public ip = 20.193.227.12
I can access the OpenStack Dashboard using azure vm's public ip address, But I'm unable to access the instance via SSH from my local machine and from that azure virtual machine too. Help me how to access them!
From your network topology screenshot, I guess that you used Devstack to create the cloud. Can you confirm that?
The external network named public is not connected to the world outside the cloud in any way. This is so because by default, Devstack creates an isolated external network for testing purposes. You should be able to access the instance from the Azure VM, however. The information given is not sufficient to explain why you can't.
See the Devstack networking page. It states that the
br-ex interface (...) is not connected to any physical interfaces
This is the technical reason for not being able to access instances.
The Shared Guest Interface section of the above page documents how to connect a Devstack cloud to a real external network.
EDIT:
The Shared Guest Interface instructions ask you to set this:
PUBLIC_INTERFACE= NIC connected to external network. *eth0* in your case.
HOST_IP= *192.168.0.4* for you
FLOATING_RANGE= Your netmask is 255.255.255.128, which translates to a network prefix of 25,
I think. If I am right, the value is *192.168.0.0/25*.
PUBLIC_NETWORK_GATEWAY= The IP address of the router on the *192.168.0.0/25* network.
Q_FLOATING_ALLOCATION_POOL= The range of addresses from FLOATING_RANGE
that you want to use as floating IPs for
your OpenStack instances.
FLAT_INTERFACE might be an old setting for the defunct Nova-Network service. I don't see it mentioned at all in the Ussuri version of Devstack.

Access Virtual Appliance through ip, running on vm inside Hyper-v on top of a vm from Azure

I have a Vm from Azure and in that vm I have another vm running in Hyper-v. That vm in Hyper-v is running a Ubuntu Linux (64 bit) guest operating system, with a virtual appliance. When I run it and it is finished booting, I'm given a IP address like this: "https://10.8.40.104/4442". The problem is I'm not able to access it from inside my 1 vm from Azure. I tried pulling up the browser and pasting the address, but nothing. I am quite new at this so its possible the solution is fairly simple.
Anyone have any idea how I can access that static IP address?
To install Hyper-V in Azure Nested Virtualization, you could follow steps in this blog:
There are (7) short steps that need to be completed to provision a
nested virtual machine inside Microsoft Azure:
Create an Azure VM capable of nesting (Windows Server 2016, etc)
Connect to the Azure VM
Install Hyper-V Feature inside the Azure VM
Create a NAT’ed vSwitch for outside connectivity
Create the guest virtual machine
Configure an IP Address on the nested guest virtual machine
Test Connectivity
For allowing connectivity to the nested virtual machine from outside, you need to create a new virtual switch that will be configured for NAT’ed access. The network flow will be like this: outside---host public IP---host private IP---NAT internal switch---Internal gateway---nested VM private IP.
Feel free to let me know if this helps or need further help.

Additional VIP on Virtual Machine

I have a requirement to run two different websites, each with its own SAN certificate. This requires that we have 2 IP (or VIPs) on the machine. The machine that will run these websites is currently in Azure as a Virtual Machine running Windows Server 2008 R2.
I have contacted Microsoft Azure Billing support and have been granted a total quota of 3 VIPs on my subscription. How do I now add a second VIP to the Virtual Machine. I cannot find an option for it in the Azure management portal, and the powershell commands (get vm, add ip, updatevm) does not seem to work either.
It is not possible to have 2 VIPs on a single VM. If you can upgrade your VM to Windows Server 2012 and IIS 8 then you can use SNI to enable HTTPs on multiple domains on one VM. Otherwise your only option will be to create 2 VMs or use something else like Windows Azure Websites.
While I have not attempted this within Azure, I would imagine it should follow a standard networking model. You could simply place the VIPs on a loopback interface, then explicitly assign those IPs to your desired virtuals within IIS. No virtual should listen on *:443 or *:80. You would then bind your SSL to the desired IP on the virtual, explicitly. This can all be done within IIS. Azure might be different, but that's how I would do it on a standard build sans Azure. Ping me if you have another questions, but I believe this is very do-able within the current technology stack. I don't have extra VIPs to test within my own Azure account, though, so cannot validate my basic assumptions.

Azure VMs Virtual Network inter-communication

I'm new to Azure (strike 1) and totally suck at networking (strike 2).
Nevertheless, I've got two VMs up and running in the same virtual network; one will act as a web server and the other will act as a SQL database server.
While I can see that their internal IP addresses are both in the same network I'm unable to verify that the machines can communicate with each other and am sort of confused regarding the appropriate place to address this.
Microsoft's own documentation says
All virtual machines that you create in Windows Azure can
automatically communicate using a private network channel with other
virtual machines in the same cloud service or virtual network.
However, you need to add an endpoint to a machine for other resources
on the Internet or other virtual networks to communicate with it. You
can associate specific ports and a protocol to endpoints. Resources
can connect to an endpoint by using a protocol of TCP or UDP. The TCP
protocol includes HTTP and HTTPS communication.
So why can't the machines at least ping each other via internal IPs? Is it Windows Firewall getting in the way? I'm starting to wonder if I've chose the wrong approach for a simple web server/database server setup. Please forgive my ignorance. Any help would be greatly appreciated.
If both the machines are in the same Virtual Network, then just turn off Windows Firewall and they will be able to ping each other. Other way is to just allow all incoming ICMP traffic in Windows Firewall with Advanced Settings.
However there is a trick. Both the machines will see each other by IP Addresses, but there will be no name resolution in so defined Virtual Network. Meaning that you won't be able to ping by name, but only by direct IP address. So, if want your Website (on VM1) to connect to SQL Server (on VM2), you have to address it by full IP Address, not machine name.
The only way to make name resolution within a Virtual Network is to use a dedicated DNS server, which you maintain and configure on-premises.
This article describes in details name resolution scenarios in Windows Azure. Your particular case is this:
Name resolution between virtual machines and role instances located in
the same virtual network, but different cloud services
You could potentially achieve name resolution, if you put your VMs is same cloud service. Thus you will not even require dedicated virtual network.
If your VMs are inside a Virtual Network in Azure, then you have to make sure two things.
Required Port is enabled.
Firewall is disabled on the server.
I was trying to connect to one VM where SQL Server DB was installed, from another VM. I Had to enable 1433 port in the VM where SQL was installed. For this you need to add an MSSQL endpoint to the VM on the azure management portal. After that i disabled windows firewall. Then i was able to connect to the VM from another.

Set up Redis on Windows Azure VM (Windows) and make it reachable to outher VMs under the same cloud service

Here is my scenario:
I have three Windows VMs on Windows Azure (which is at its preview stage right now) and all the VMs are connected to each other, in other words they are under the same cloud service. What I need to do now is that I will use one VM only for Redis and the other two VMs need to talk to it. I don't wanna open up the redis to the whole World for several reasons and one of them is that I don't want to talk to it through the load balancer. I want my VMs to talk to it directly (as explained here: Bypass the load balancer when communicating servers between each other).
I consider using MSOpenTech implementation of Redis. Any I idea how I can configure a structure like this?
Running Redis on A Windows Azure Virtual Machine (Windows or Linux) is exactly same as any other machine so I don't think you will met any problem there.
If you have one instance of Virtual Machine it is not configured through Load Balancer and you can see that when you will add endpoint to your VM. Only if you have more then 1 instances of a virtual machine, and then you add endpoint, then you will have a chance to configure the load blanacer for that specific endpoint. In your case as you want to run Redis on one single VM, you are really not behind load balancer.
IF you want to have your all 3 machines talking to each other you can create a virtual network and provision all 3 machines withing this VNET so they can talk to each other the way you want.
I figured this out by trying it out. Here is the solution:
SignalR with Redis Running on a Windows Azure Virtual Machine

Resources