can't see availability set in the backend pool in azure internal load balancer with "standard" SKU - azure

Hoping someone can help here, is there any specific option i need to be aware off that will make the azure standard load balancer picks up (show) a availability set in the backend pool configuration?
Basically, I have created a AS and it has one vm (for now), and then I created the azure "internal" load balancer with Standard SKU but when i try to create a bep it only provides an option of virtual network in the drop down list with respect to the associations.
I tried to create the load balancer inside the same RG as the availability set RG because on this site i read someone mentioning this as a possible solution.
I have no problem picking up the same AS when i create the ILB using basic SKU. So I'm wondering what is needed to make this working for the standard SKU?
Any help much appreciated.

For the backend pool of load balancer, you can directly associate to the AS, a scale set or a VM for a basic SKU LB. While a standard LB is fully integrated with the scope of a virtual network and all virtual network concepts apply. So you only need to select one virtual network, the VMs inside the VNET will show up in the drop list.
Note: Only VMs in the same region with standard SKU public IP or no public IP can be attached to this load balancer.
If you have not see the VMs in the drop list, you can disable the public IP address of VMs or attach a standard SKU public Ip address to your VMs, then try to add the backend pool to your standard LB again.
Ref: https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-standard-overview

Related

How to add multiple Azure VMSS to one basic tier Azure load balancer?

I am using VMSS with basic tier load balancer and public IP address. When I am doing application update, I want to create new VMSS to make sure it is not affecting the old VMSS. Now I am creating new VMSS with new IP and load balancer. However, I do not want the IP to change. Is there any way to create a new VMSS connecting to an existing basic tier load balancer?
You cannot add multiple Azure VMSS to one Basic tier Azure load balancer.
Azure Basic load balancer only supports virtual machines in a single availability set or virtual machine scale set (this is a single VMSS).
Reference : https://learn.microsoft.com/en-us/azure/load-balancer/skus
However, Standard load balancer supports any virtual machines or virtual machine scale sets (multiple) in a single virtual network.
So, you can easily configure a VMSS with an existing Standard SKU load balancer using the Azure portal:
https://learn.microsoft.com/en-us/azure/load-balancer/configure-vm-scale-set-portal

AKS: How to get rid of load balancer?

When you create an Azure Kubernetes Service (AKS) it creates by default a load balancer and a networking set to access it. It creates it in a separate resource group.
We are however not interested at all in this load balancer, as we are going to use our own load balancer/Ingress configured within Kubernetes itself.
Question: How can we avoid this Load balancer from Azure to be generated all the time when we generate the cluster?
Was discussed in AKS Creation Without Public Load Balancer github issue with afterward explanation
It is possible the SLB IP is just for egress.
Let me try to clarify.
AKS with Basic Load Balancer
You can create it by passing the load balancer sku parameter Has
implicit Egress (you won't see a public IP, although it is there on
the Azure infrastructure) You can create private services accessible
only through private IPs using the internal annotation.
https://learn.microsoft.com/en-us/azure/aks/internal-lb AKS with
Standard Load Balancer
Used by default on latest clientes, or explicitly by using the same
parameter as above Has only explicit egress, which means if there
isn't an egress IP the cluster won't have egress and will be broken.
This is like the gateway to the internet IP. You can control,
pre-create or change this IP (or have more than one) You can create
private services accessible through private IPs using the internal
annotation. https://learn.microsoft.com/en-us/azure/aks/internal-lb In
some cases, enterprises might have egress defined via UDRs through a
firewall etc. In which case that egress IP will not be used, and will
be effectively not needed. But as of now it will be needed at create
time as we don't know the egress path defined. We are no working on a
UDR outbound type for SLB that will allow users to confirm they have
egress through UDRs and in this case the SLB won't be created with a
Public IP for egress
Like #Sajeetharan asked- what is the use case?
Also how is it mandatory for you to use AKS? Maybe the same you can easier resolve just regular with kubeadm cluster?
Deploying a Kubernetes cluster in Azure using kubeadm

Azure Networking Control In/Out-Traffic for resources with private IPs

Please forgive my ignorance.
Question:
How can I control network traffic to a publicIP resource and send it to multiple different resources based on destination port?
Background:
I have setup some VMs that are configured with only private IPs in different subnets. All belong to the same Virtual Network. All these VMs have different services and I do not want HA as I do not need it and it costs money.
I just want all the services on these VMs to communicate out using the same single publicIP and I want to split incoming traffic to that same publicIP between my resources based on destination port.
Seems like a straight forward requirement right?
At first I though "this must be a task for the Load Balancer service" as it's operating at L4 and tried to set it up but I was not able to split inbound traffic on different ports to more than a single VM or a single availability set. I do not understand why you can only use Load Balancers NAT rules with a single VM or Availability Set.
I can probably delete/re-create all VMs (thank you Microsoft..) into a single availability set that only has 1 fault and 1 error domain but does this make any sense?
It just seems to me like a dirty workaround using availability sets in a way they are not meant to in order to solve a very basic thing.
Thanks!
Basically, you could create a public-facing Azure Load balancer then target the VMs or Availability Sets to the backend pools of this load balancer. What you need to do is to configure the load balancing rules and some health probes or inbound NAT rules for the backend services with ports forwarding.
Refer to the SO answer.
You would use NAT rule when you have 1 backend server or you know
which backend server to get to and load balancing rules when you want
to load-balance to multiple backend servers.
NAT rule must be explicitly attached to a VM (or network interface) to
complete the path to the target; whereas Load Balancing rule need not
be. In the latter case, a VM is selected (from the back-end address
pool or VMs) to complete the path to the target.
Additionally, Azure Load balancer supports two SKUs: basic and standard. Different SKUs support different backend pool endpoints. Read more details about Load Balancer SKU comparison.

Azure - Can't create load balancer for the ScaleSet

I created a Scale Set (using a template) with an existing virtual network.
This existing virtual network has already a Load Balancer (with a public IP) with specific VMs.
Now, I can't connect to the VMs in the scale set, There's no option to add the scale set to the Load Balancer or to add the scale set's VMs to the Load Balancer. Creating a new Load Balancer doesn't help.
It seems that the only option for adding a backend pool is using an availability set or a single VM (which is not in the Scale Set).
Is there any way to solve this? to somehow add the Scale Set to the Load Balancer or to connect to it?
The goal was to create the scale set to be in the existing Load Balancer (in the network with the other VMs), but unfortunately it didn't work.
It is not posible to add vms in different availability sets to the same lb. VMSS has its own availability set (by desing). so this is not possible.
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/ccf69a9c-0a6a-47bc-afca-561cf66cdebd/multiple-availability-sets-on-single-load-balancer?forum=WAVirtualMachinesVirtualNetwork
You can work around by creating vm in the network that will act as a load balancer, but that's obviously not a PAAS solution
The goal was to create the scale set to be in the existing Load
Balancer (in the network with the other VMs), but unfortunately it
didn't work.
It is not possible and no need. Please refer to this official document. Azure VMSS instances are behind a load balancer. Also VMSS's intance could not add to a existing load balancer.
Now, I can't connect to the VMs in the scale set.
Do you create inbound NAT rules for your instance? Also, you could create a jump VM in the same VNet to login one instance. See this question.
If you could not login your VM from a jump VM, it is not a VMSS issue. You should check your instance. If you don't do any change for your instances. You could create a ticket to Azure to solve this issue.

Azure RM port forwarding

I am testing azure right now and have some problems.
I am using new Azure portal (Resource manager). How do I add a static IP to my network and forward ports to different VM's? Then how do I add a static IP on my "Network Interface"?
I can't assign this interface to VM, because it says that only dynamic IP can be assigned, and static IP can only be assigned to load balancer. I have created load balancer, added static public IP, but then I try to add a Virtual machine and it asks me to define availability set. But I do not have availability set. So I have created Availability set, but now I cannot add virtual machine to availability set, because PowerShell cmdlet is only for classic VM's, and there is no cmdlet for resource manager VM.
So I have only two questions:
How can I add static Public IP in my Azure RM network (so that ip address newer changes) and forward ports to Azure RM VM's in my private network? Because there will be exchange server, web server and I need to forward basic ports to them.
If answer to previous question is "Load balancer", so how I can move Azure RM VM's to Availability Set? Do I have to recreate a Virtual Machine? That if there is important data?
I have been investigating some aspects of this as I move from Classic VMs (ASM) to ARM.
The documentation isn't clear or very complete, and this being Azure will probably be different in a months time. But, today....
A static public IP can only be assigned to a load balancer, not an individual VM. Search for "Reserved IP Address" in the following article where it states "Static Public IPs can only be assigned to a Load balancer right now.":
https://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-azurerm-versus-azuresm/
(EDIT: Noticed that in portal.azure.com there is a switch on each public IP resource to change it from dynamic to static - though I haven't tested this).
Port forward definitely requires a load balancer. See the comments at the bottom of this article where I asked this exact question and Microsoft replied confirming this:
https://azure.microsoft.com/en-gb/documentation/articles/load-balancer-arm-powershell/
Basic VMs cannot use a load balancer today:
https://azure.microsoft.com/en-gb/pricing/details/load-balancer/
I also read somewhere (can't find the link now) that under a load balancer, there are some restrictions about which machines can be grouped together (based around sizing). From memory I think A0 to A4 could be grouped for example, then say A5 to A8 could be, but say A0 and A7 couldn't be.
The following page states "Currently with Resource Manager, you can only add a virtual machine to an availability set during its creation.":
https://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-ps-create-preconfigure-windows-resource-manager-vms/
If you need an Availability Set, then you may need to delete and recreate the VM. You should be able to delete the VM but keep the VHDs, then recreate the VM with the existing VHDs so not lose data.
As well as the links above, I have also found the following helpful:
http://blogs.msdn.com/b/cloud_solution_architect/archive/2015/05/05/creating-azure-vms-with-arm-powershell-cmdlets.aspx
http://blogs.technet.com/b/parallel_universe_-_ms_tech_blog/archive/2015/11/04/deploy-a-vm-with-azure-powershell-preview-1-0-cmdlets.aspx
Hope that helps.
Chris

Resources