Access cloud service and blob storage simultaneously - azure

I went over this article and I was able to setup a CDN successfully.
The problem is that the portal allows me to either create a CDN for the blob storage or for the cloud service. It does not allow me to create one CDN for each service.
I am not sure if this is because the blob storage is linked as resource to the cloud service or if there are problems with the Azure portal.
What would be the recommended way to serve dynamic content from a cloud service and static content form blob storage for the same web application?

It is not possible to create the same CDN endpoint for both blob and cloud service, but what is your scenario where you need to do this? Create 2 CDN endpoints, one pointing to blob and the other to your cloud service.
Assuming your domain name is myapp.com you could have something like this:
CNAME www.myapp.com -> CDN endpoint for cloud service
CNAME content.myapp.com -> CDN endpoint for blob storage
Your cloud service would return content with the href's pointing to content.myapp.com.

Related

"PackageUriForbidden" error when trying to deploy an Azure Cloud Service ES

I am trying to redeploy an Azure Cloud Service (classic) to an "extended support" one since the former is being deprecated. Following this guide and the prerequisites I have created a virtual network and new storage account. I set up a bunch of permissions and the Connectivity Check for my storage account indicates no problems. However when I try to create and deploy a new Cloud Service (Extended Support) using my (updated) .cscfg, .csdef and .cspkg files I get this error:
Error:AuthorizationFailure, message:This request is not authorized to perform this operation. (Code: PackageUriForbidden)
I've tried setting the container and blob access to public for the deploy files, I have added Network Contributor and Storage Blob Data Contributor to both the subscription and the cloud storage resources for my user account. What am I missing?
I tried deploying cloud services extended support via Azure Portal and it got deployed successfully.
Refer below :-
I have uploaded all my cloud services packages in my storage account and used those packages from my storage blobs and created the Cloud service ES instance.
I enabled connection from all networks for my storage account, Thus I did not receive any authorization error :-
It looks like your Storage account has Firewall and V-Net enabled for the selected Networks. Or There’s an IP Address added to restrict storage account.
I created a Create a Service endpoint in my V-Net to allow Microsoft.storage like below :-
Added this V-Net in the selected Networks in Storage account’s Firewall :-
Checked this in order to allow azure services to access storage account like below :-
Now, when I try to deploy another cloud service with the same storage account having firewall and V-Net enabled, I get the same error as yours refer below :-
I allowed my client machine’s IP in the storage account and was able to add the packages without any error while deploying the Cloud Service:-

Restricting access to storage account containing package blob for cloud service (extended support) deployment

I'm nearly done migrating our cloud service (classic) deployments to cloud service (extended support). I'm working now on updating deployment pipelines. My package blob is located in a storage account. I create a SAS for the blob and use an API call to management.azure.com to create/update the deployment, passing ARM template as the body of the request.
This works correctly as long as the storage account with the package blob has its network set to "allow access from all networks". I want to restrict this access. I set the allow access from:
specific IP addresses of our devops servers
our own IP addresses
private vnet/subnets for the cloud service
I also tick the "Allow Azure services on the trusted services list to access this storage account" checkbox.
Yet, API call fails with error message indicating access is not allowed to the blob. When I change the storage account network configuration to "allow access from all networks", everything works correctly.
With lots of searches, I found only one hit explaining the same problem - https://github.com/Azure/azure-powershell/issues/20299 - yet no solution has been suggested other than allowing access from all networks.
I must be missing some trick - but what is it? How can I restrict access to the storage account?

Azure blob with anonymous read access and private endpoint

we have the following scenario
we have an api running in a azure app service, which accesses file in a blob container that has anonymous read access enabled, all is working well.
now our requirement is to move the app service and storage account into a vnet with private endpoints.
Questions
once we move both of these into a VNET will the app service be able to access the blob container anonymously ? the third party library that we are using needs anonymous access to this blob, so that it parse and do its job.
Thanks -nen

Using a CDN with the new azure storage accounts

I have an existing (classic) storage account which i have a cdn pointed to. I recently created a new Storage account via the new portal (not classic storage). It seems that its not possible to add a CDN via either old or new portal to point the this new storage account. Is this possible via a powershell script possibly and if so are there any pointers as to how to achieve this?
Azure CDN isn't supported in PowerShell yet. CDN isn't supported in the preview portal yet. This will prevent you from deploying CDN using V2 storage.

Why can't Azure Storage Explorer connect to storage accounts created by Azure Media Services?

I'm using Azure Storage Explorer to connect to storage accounts that I've created by hand on Azure. However when I go to browse the storage account that was created by Azure when I created a Media Services account, I'm unable to connect to it.
I'm using blob.core.windows.net as the storage endpoint domain, and setting the storage account name and storage account key to be the same as Azure has defined it in the dashboard, but attempts to connect (with or without HTTPS) result in a 502-Bad Gateway HTTP error.
I'd like an easy way to browse all media files I've created without having to write special code. Has anyone been able to get this to work?
All storage accounts regardless the way they are being created are browsable with Storage Explorer!
For such storage accounts, created when you Create Media Services, you have to use the Storage Account Name and Storage Account Key, but not the Media Service Account Name and Media Service Account Key! You will not be able to access Storage service with Media Key and vice-versa.
When you create a Media Services account, one/multiple storage accounts could be attached to a particular media services account. Let's say your account name is "MediaStorage123". I believe you need to pass the following data to storage explorer:
Account name/key: this can be found in the bottom of your storage account page in Azure portal: press Manage Key button you will see the data.
storage endpoint domain: Not sure why you need this, but if so, you can see the information in Dashboard of your media services account: https://xxx.blob.core.windows.net/.
Hope this helps.
Just for the record, In my case (with the use of proxy) I had do install a previous version of the Azure Storage Explorer

Resources