APIM unable to connect to service deployed in AKS - azure

We have private AKS cluster create under a virtual network (MC resource group). We also have an APIM crated under the same virtual network. A few services are deployed in K8 and exposed via internal loadbalancer of K8. when we do kubectl get svc get a cluster IP and an external IP.
I've used the external IP to connect to APIM. but its failing with the following error
Unable to download specified file. Please ensure the URL is valid and the file is publicly accessible.

The error of unable to download ... might be from the URL of the IP address, because when the field is filled with a azure blob storage url, no errors should come.
I think you can try to add api instance by uploading json file from localhost.
In the Network Security Groups, you should also add a new Inbound Security Rule.
Change the label in the Source service tag by selecting Service Tag from the dropdown menu that appears. There is an option for ApiManagement in this dropdown.
You must select an IP address from the drop-down list and type the API Management Service's IP address.
For more information to resolve this error, refer here and also this SO Thread.

Related

Not able to access the container app via UI:Azure

I created the Container App where i would like to access from its website using host url
My container app into the vnet and it is having specific resource groups and and it contains specific NSG rules
Also, I have created and configured the private DNS zone in which I create a Virtual Network Link associated to VNET,
than I added a dns record set with name *.[same container app address] and container app ip address
When i tied to access the container app using app url i am not able to access it is showing the below error
{"statusCode":404,"message":"Cannot GET /","error":"Not Found"}
when i close ad reopen the url again got one more error
I deleted entire app and created newly got the one more error
Any help will be needed, Thankyou.
I tried to check same in my environment and got the below results
I created the virtual network with subnets
After that created the container app environment
If I check the application URL in the browser I am not able to access because I did not set the private dns zone record set
created the private dns zone and linked with the virtual network
I have added the dns record with container IP address to access the web
When I check in the command prompt I am able to see the that my container app URL is working
nslookup app-container.icycliff-187ffXXXXXXXXX.io
When check in the browser using app URL I am able to get application
NOTE:
1). After creating private dns zone must add the dns record with container app static IP address
2). 404 error message when website content has been removed or moved to another url
3). server responsible for the website is not running or the connection is broken

App Service Private Endpoint with Custom Domains gives Error 403 - Forbidden

I'm on the last stage of my journey to try and lock down public access to app. After a bunch of research I decided on using "Private Endpoints" so that only when on work VPN can we access apps. I did manage to get this to work however when I setup custom domains in the VNet it no longer works. I've looked at countless resources and even hit second page of Google a few times...
Basic Setup
I have setup a VM and an out of the box Node App Service in Azure. Both are accessible publicly. I have setup Private endpoints for the appservice and put both on the same VNet. The VM can reach the app nicely, and publicly I can't (yay!)
Here's what I see:
here's my VNet DNS settings
here's the app working on a VM on the VNet.
When it doesn't work
So the above works - but I want to supply my own DNS servers so I can resolve stuff on our internal network which is peered to the VNet. All I do is update the DNS settings to include my custom ones and the Amazon one (just in case)
Now I get a 403 - Forbidden as if I'm accessing it externally:
Several of the tutorials mentioned updating the host file as a test (vs updating internal DNS). I believe I did this like they were showing - but same result
I'm near giving up and using a separate VNet for Inbound/Outbound since I only need the custom DNS on the outbound.
Random Resources
https://www.youtube.com/watch?v=8Zof54j8qWk&ab_channel=WintellectNOW
https://learn.microsoft.com/en-us/azure/private-link/create-private-endpoint-portal#create-a-private-endpoint
https://learn.microsoft.com/en-us/azure/app-service/networking-features#private-endpoint
https://learn.microsoft.com/en-us/azure/app-service/networking/private-endpoint
https://learn.microsoft.com/en-us/answers/questions/264747/azure-app-service-with-private-endpoint-throws-403.html
https://learn.microsoft.com/en-us/answers/questions/11844/403-forbidden-access-is-denied.html
After azure publish my domain gives 403 error
Azure App Service Deploy returns (403) Forbidden with IP restriction
WebApp private endpoint azure vpn
Azure API Management with custom domain getting HTTP 403 error
Periodically getting 403 IP Forbidden on App Service with private endpoint
Your internal DNS should forward .azurewebsites.net zone to DNS Forwarder in Azure which then would resolve to private endpoint IP address using default Azure DNS address - 168.63.129.16.
Private Links can only be resolved from Azure (via Virtual Network Link between private DNS zone and virtual network) so without conditional DNS forwarder configured for your internal DNS, it resolves address using public DNS and that's why it doesn't work.
Take a look here at the second example (with own internal DNS server) - https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-dns#on-premises-workloads-using-a-dns-forwarder

No access to the website from Azure Container Instance using a private network with custom DNS server

I have Virtual Network with two subnets (A and B). Vnet is configured to use a custom DNS server. In one subnet (A) I have a web server which has an appropriate DNS configuration. If I create a VM inside subnet A and I try to open a website using DNS, then everything is working correctly. Subnet B is fully dedicated to Azure Container Instances. When I create a container group with one container (azure cli), and I try to connect to a website, I get an exception that page is not available. It seems that my container instance is not using my custom DNS server assigned for the virtual network. Any ideas what may be wrong?
When ACI is deployed to an existing vnet and the vnet is configured with the custom DNS server, ACI will not inherit the custom DNS servers. You need to deploy the ACI through YAML file and specify the DNS server in the specification of dnsConfig.
For example, below YAML file, to deploy an ACI with Nginx image in an existing vnet using network profile and configure custom DNS servers. Refer to this.
For more reference, you could read YAML reference: Azure Container Instances

What is the Azure Container Registry IP range to whitelist?

I have an Azure App Service which uses an Azure container registry (SKU: Basic).
I would like to put in networking restrictions under SCM portion.
Where can I find the Azure Container Registry IP range to whitelist?
If your organization has policies to allow access only to specific IP addresses or address ranges, download Azure IP Ranges and Service Tags – Public Cloud
To find the ACR REST Endpoint IP ranges, search for “AzureContainerRegistry“ in the JSON file. Also, you can filter for Specific Regions.
Note
IP address ranges for Azure services can change, and updates are
published weekly. Download the JSON file regularly, and make necessary
updates in your access rules. If your scenario involves configuring
network security group rules in an Azure virtual network or you use
Azure Firewall, use the AzureContainerRegistry service tag instead.
For more details, you could refer to configure rules to access an Azure container registry behind a firewall.

External Facing ASE behind WAF

I have created the External facing ASE with a single Web App. Trying to place a WAF enabled Application Gateway.
I have configure the Application gateway subnet and frontend to Public facing.
To interconnect the WAF with ASE(APP), i have set the target of the App hostname (FQDN) in the Backend pool. After mapping the target, i have verified the backendpool health which states Healthy.
Now i tried to access the Frontend IP and FQDN of Application gateway, i'm getting the below error
"The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
action taken - Tried without NSG and also allowing NSG in ASE subnet
Need your help, I'm in middle of the Environment setup.
Suspect the hostname resolution is missig and not sure how to overcome this block
"The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
Every Azure Web App has a collection of host names. A request will be transfer to the dedicated server instance depends on the host name in HTTP request message. If the host name doesn't match one of the host names which configured in Azure portal. The Azure Web App can't be reached.
You could view the default host name in Azure portal.
Since you accessed your Web App by Frontend IP or FQDN of Application gateway, their host names will not match the host name of your Web App.
There are 2 ways to fix it.
To simple test your Application gateway, you could be able to use something like ModHeader Chrome extension to open the public IP address/hostname of the Application Gateway in the browser, and pass in the host name of your Web App you configured on the Web App as a Host Header and the website should come up.
Register a custom domain(For example, abcd.com) in a domain provider(For example, Godaddy). In the DNS setting of your domain, add A record to the IP address of your Application gateway.
After that, you also need to add host name by click add host name button in Azure portal.

Resources