About Me

My photo
I am an MCSE in Data Management and Analytics, specializing in MS SQL Server, and an MCP in Azure. With over 19+ years of experience in the IT industry, I bring expertise in data management, Azure Cloud, Data Center Migration, Infrastructure Architecture planning, as well as Virtualization and automation. I have a deep passion for driving innovation through infrastructure automation, particularly using Terraform for efficient provisioning. If you're looking for guidance on automating your infrastructure or have questions about Azure, SQL Server, or cloud migration, feel free to reach out. I often write to capture my own experiences and insights for future reference, but I hope that sharing these experiences through my blog will help others on their journey as well. Thank you for reading!

Failed to save Transparent Data Encryption settings for SQL resource

Failed to save Transparent Data Encryption settings for SQL resource: myserver0102. Error message: The provided Key Vault URI 'https://mypersonalXXXXvault01.vault.azure.net/keys/XXXXXX/283d045477e04fdab5c0055be37c0eee' is not valid. Please ensure the key vault has been configured with soft-delete.


in order to solve this issue.. go to cloud shell and execute below command




($resource = Get-AzResource -ResourceId (Get-AzKeyVault -VaultName "mypersonalXXXXvault01").ResourceId).Properties | Add-Member -MemberType "NoteProperty" -Name "enableSoftDelete" -Value "true"

Set-AzResource -resourceid $resource.ResourceId -Properties $resource.Properties


and you are done.

This issue will get resolved. 

Different components of application gateway

    Different Components of Application Gateway 



Application gateway and its different capabilities.
Application gateway offers layer 7 load balancing capabilities for HTTP and HTTPs traffic.

 and when you compare the application gateway with the

load balancer, Load balancer offers layer 4 load balancing capabilities.

Whereas application gateway offers layer 7 load balancing capability.

However the load balancer can distribute different type of traffic whereas application gateway can distribute only HTTP and HTTPs traffic.

And one other difference between External load balancer and application gateway is application gateway always resides within the virtual network whereas load balancer you can choose whether it should be inside virtual network or outside virtual network.


And in terms of components of application gateway,
1.FrontEnd IP Configuration --> Application gateway  has a frontend IP configuration.
They are basically IP addresses to which the traffic will come to.
2.Backend pool ---> which basically contains pool of IP addresses where the traffic
will be destined to.
3.listeners--> Listeners are basically listens to the traffic that is coming to a particular port.
In this case either 80 or 443 for HTTPs traffic and rules are something that will map this listeners to the backend pool. So it will basically map the incoming traffic to a particular destination pool
4.Health probe--> which will basically monitor the health of the backend pool machines
5.HTTP settings which will define whether we should use cookie based session affinity or which  port in the backend pool that the traffic needs to be routed to and all those stuff.
6.web application firewall which can be used to protect your web application from some
common web attacks.

So these are the components of application gateway.

Let's go through some of the capabilities of application gateway.
 In terms of capabilities,
Capabilities


  1. HTTPS Load Balancing -- It can load balance HTTP or HTTPs traffic
  2. Web Application Firewall -- web application firewall to protect your web application against common web attacks
  3. Cookie based Session affinity -- you can use cookie based session infinity in order to route all the user session traffic to a particular backend server throughout the user session.
  4. SSL offload-- If you want to offload the SSL traffic at the application gateway level you can configure the application gateway to achieve it.
  5. URL based content routing->If you want to route your traffic based on the URL then you'll be able to do the same using application gateway.
  6. Multi-site routing -> if you want to host multiple sites on a single public IP address you can achieve the same using application gateway. Basically you can configure the application gateway in such a way based on the domain name.It will route the traffic to a particular backend pool.
  7. Health monitoring you can monitor the health of your backend virtual machines by configuring a health probe in application gateway.


So these are the different capabilities of application gateway.

Autoscaling public preview

In addition to the features described in this article, Application Gateway also offers a public preview of a new SKU [Standard_V2], which offers auto scaling and other critical performance enhancements.

Autoscaling - Application Gateway or WAF deployments under the autoscaling SKU can scale up or down based on changing traffic load patterns. Autoscaling also removes the requirement to choose a deployment size or instance count during provisioning.

Zone redundancy - An Application Gateway or WAF deployment can span multiple Availability Zones, removing the need to provision and spin separate Application Gateway instances in each zone with a Traffic Manager.

Static VIP - The application gateway VIP now supports the static VIP type exclusively. This ensures that the VIP associated with application gateway does not change even after a restart.

Faster deployment and update time as compared to the generally available SKU.

5X better SSL offload performance as compared to the generally available SKU.

Demo
1.How to load balance HTTP traffic using Application Gateway.
https://docs.microsoft.com/en-us/azure/application-gateway/quick-create-portal
2.How to configure application gateway to achieve URL based content routing.
https://docs.microsoft.com/en-us/azure/application-gateway/application-gateway-create-url-route-portal
3.How to configure Application gateway for hosting multi site routing
4. How to Enable web application firewall on a Application Gateway and Simulate an Attack

to check whether your web application firewall is securing your web application against excesses attacks etc..

Scripts to configure Application gateway using Terraform <Coming soon>


Connect on Premise Network to Azure - Site to Site VPN Configuration using PowerShell

Login-AzureRmAccount


#create our base variables for our Resource Group
$rgName="RakAzureDC"
$locName="West Europe"
$saName="rakserverssa" #must be lower case
$vnetName="RakoNetAzure"

New-AzureRmResourceGroup -Name $rgName -Location $locName

 #Test-AzureName -Storage $saName

$saType="Standard_GRS"

New-AzureRmStorageAccount -Name $saName -ResourceGroupName $rgName –Type $saType -Location $locName

#Create Networking Components
#It's important to create one subnet named specifically GatewaySubnet. If you name it something else, our connection configuration will fail.
$Subnet=New-AzureRmVirtualNetworkSubnetConfig -Name Azure-Vnet-01 -AddressPrefix 10.10.10.0/27
$GatewaySubnet = New-AzureRmVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.10.10.32/29
New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $locName -AddressPrefix 10.10.10.0/24 -Subnet $Subnet,$GatewaySubnet -DnsServer 10.10.10.4,192.168.1.10

Get-AzureRmVirtualNetwork  -name $vnetName -ResourceGroupName $rgName | select subnets

$subnetIndex=0
$vnet=Get-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName

$nicName= "Internal"
$staticIP="10.10.10.4"

#add a public IP address via $pip so we can connect to it if we need to
$pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[$subnetIndex].Id -PublicIpAddressId $pip.Id -PrivateIpAddress $staticIP





# don't know what VM sizes we have, so lets take a look
Get-AzureRmVMSize -Location $locName | Select Name

#name and size our Domain Controller
$vmName="AZURE-DC01"
$vmSize="Standard_A2"
$vm=New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize


$pubName="MicrosoftWindowsServer"
$offerName="WindowsServer"
$skuName="2012-R2-Datacenter"


$cred=Get-Credential -Message "Type the name and password of the local administrator account."
$vm=Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
$vm=Set-AzureRmVMSourceImage -VM $vm -PublisherName $pubName -Offer $offerName -Skus $skuName -Version "latest"
$vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
$diskName="OSDisk"
$storageAcc=Get-AzureRmStorageAccount -ResourceGroupName $rgName -Name $saName
$osDiskUri=$storageAcc.PrimaryEndpoints.Blob.ToString() + "vhds/" + $diskName + ".vhd"
$vm=Set-AzureRmVMOSDisk -VM $vm -Name $diskName -VhdUri $osDiskUri -CreateOption fromImage
New-AzureRmVM -ResourceGroupName $rgName -Location $locName -VM $vm

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


#####################
#Provision Network




#add our local Network site
#Name Nickname for our on-premises network
#NewGatewayIPAddress is the IP address of your on-premises VPN
#AddressPrefix is your on-premises address space.


New-AzureRmLocalNetworkGateway -Name RakNetOnPremises -ResourceGroupName $rgName -Location $locName -GatewayIpAddress '122.167.33.81' -AddressPrefix '192.168.1.0/24'


#request a public IP address for the gateway

$gwpip= New-AzureRmPublicIpAddress -Name gwpip -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic

#create the gateway IP addressing configuration

$vnet = Get-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $rgName
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet
$gwipconfig = New-AzureRmVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gwpip.Id

#create the gateway - may wait a while

New-AzureRmVirtualNetworkGateway -Name vnetgw1  -ResourceGroupName $rgName -Location $locName -IpConfigurations $gwipconfig -GatewayType Vpn -VpnType RouteBased

#https://azure.microsoft.com/en-us/documentation/articles/vpn-gateway-create-site-to-site-rm-powershell/#7-configure-your-vpn-device

#Get the public IP address for the next step of building our connection script for RRAS either via powershell or via the Portal

Get-AzureRmPublicIpAddress -Name gwpip -ResourceGroupName $rgName


#BUILD our RRAS Configuration

$gateway1 = Get-AzureRmVirtualNetworkGateway -Name vnetgw1 -ResourceGroupName $rgName

$local = Get-AzureRmLocalNetworkGateway -Name RakNetOnPremises -ResourceGroupName $rgName

New-AzureRmVirtualNetworkGatewayConnection -Name RakoToAzureVPN -ResourceGroupName $rgName -Location $locName -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local -ConnectionType IPsec -RoutingWeight 10 -SharedKey 'abc123'

Now you need to configure RRAS Server

After configuration of RRAS Server, try to connect.

StackDriver multiple choice Questions in GCP

1.Which of these is NOT a Stack-driver product?
A. Performance
B. Error Reporting
C. Trace
D. Debug

Ans: A
Explanation :-

 https://cloud.google.com/stackdriver/docs/

~~~~~~~~~~~
2.What platforms can Stack driver natively monitor? Choose all that apply.
A. GCP
B. AWS
C. Azure
D. Openstack

Ans : A and B

Explanation :-
https://cloud.google.com/monitoring/docs/

~~~~~~~~~~~~~~
3.What IAM roles are necessary to view Admin Activity logs? Choose all that apply.
A. Logging/Private Logs Viewer
B. Project Owner
C. Project Viewer
D. Logging/Logs Viewer

Ans:- A and D

Expl:- https://cloud.google.com/iam/docs/roles-audit-logging


~~~~~~~~~~~~~
4.Logs can be exported to which services? Choose that apply.
A. Pub/Sub
B. Cloud Storage
C. BigQuery
D. Cloud SQL
~~~~~~~~~~~~~~~~~
Ans:- A B and C
https://cloud.google.com/logging/docs/export/


5.What is the retention period for audit data access activity logs?
A. 7
B. 400
C. 30
D. 100

Ans : C

Explanation : https://cloud.google.com/logging/docs/audit/


~~~~~~~~~~~~~~~~~~~~~
6.Admin activity logs are retained for ___ days.
A. 7
B. 30
C. 100
D. 400

Ans : D

Explanation:- https://cloud.google.com/logging/docs/audit/

~~~~~~~~~~~~~~~~
7.If external auditors need to be able to access your admin activity logs once a year for compliance, what is the best method of preserving and sharing that log data?

A. Export logs to Cloud Storage bucket, and email a list of the logs once per year.
B. Create GCP accounts for the auditors and grant the Project Viewer role to view logs in Stackdriver Logging
C. Export logs to a Cloud Storage bucket for long-term retention and grant auditor accounts the Storage Object Viewer role to the bucket.
D. Share long-term account with them so they can access the records.

Ans :- C

what is Storage Object Viewer & Project viewer Role.
Ans:
https://cloud.google.com/storage/docs/access-control/iam-roles


~~~~~~~~~~~~~~~~~

8.What Compute service is most tightly integrated with Stackdriver Trace, Debugger, and Error Reporting?
A. App Engine Standard
B. Compute Engine
C. App Engine Flexible
D. Kubernetes Engine



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9.How many days do you have to recover logs past their retention period?
A. None, deleted logs past retention date are not recoverable
B. 5
C. 7
D. 30

Ans A
~~~~~~~~~~~~~~~~~~~~~~~


10.What is the preferred method of custom organization of resources in Stackdriver Monitoring?
A. Units
B. Groups
C. Instances
D. Events

Ans B
~~~~~~~~~~~~~~~~~

11.GCP Stackdriver can use for GCP as well as AWS services

1. True
2. False

Ans 1
~~~~~~~~~~
12.Stackdriver Monitoring can be used for alerting - what steps involved in alerting? Choose all that apply.
1. Monitoring Conditions
2. Notifications
3. report incident
4. Aggregation



~~~~~~~~~~~~~~~~~~~~~~
13. What is difference between custom matrices & built-in metrics




14.Stackdriver Monitoring can be used for custom metrices
1. True
2. False


Ans 1.
~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~
16.Stackdriver basic tier can have following options

 1.GCP services
 2.GCP and AWS Services
 3.Audit logs 30 days
 4. other logs 7 days

 ~~~~~~~~~~~~~~~~~~
17. Please refer to Dress4win Case Study to answer the following question.The company has custom Monitoring/ Logging services, Infrastructure, and incident management mechanism. IT Operations has concerns if this will be satisfied when in Google Cloud Platform. What services can they use on Google Cloud Platform?

 1.use AWS Services for Monitoring and logging
 2. Stackdriver logging can be used with third party tools for alerting
 3.Install existing tools for monitoring and logging
 4. stackdriver logging and monitoring can be used for all GCP services
~~~~~~~~~~~~~~~~~~~~
18. You can do following things using Stackdriver Logging except (one answer)

1.Custom Monitoring Metrices
2. Log search
3. log alerts
4. Custom logs
~~~~~~~~~~~~~~
19.You can monitor HTTP load balancer using StackDriver Monitoring

1. True
2. False
~~~~~~~~~~~~~~~~
Ans:- 1.

20.Default period for log retention for Stackdriver logging is (select one)

1. 30 days
2. 1 year
3. 7 days
4. 90 days


~~~~~~~~~~~~~~~~~
21. Please refer to JencoMart Case Study to answer the following question.JencoMart wants to monitor infrastructure using Stackdriver Monitoring but some of their services are stored on Amazon AWS has Cloudwatch. What is the best suitable solution to monitor using a single solution? (select one)

1. use custom Solution and there is no solution in from GCP or AWS can do both platfrom monitoring
2.Stackdriver Monitoring and logging supports AWS and GCP
3.AWS cloudwatch can monitor resources on AWS, GCP and Azure
4. Cloud Bigquery to integrate with AWS Cloud watch and StackDriver
~~~~~~~~~~~~~~~~~~
22.Which is not the policy used by autoscaler for scaling? (select one)

1. CPU Utlization
2. Load Balancing Services capacity
3. StackDriver Monitoring Metrices
4. Memory Utilization
5. Cloud Pub/Sub

Ans: 4

~~~~~~~~~~~~~
23.True or False: You can not integrate with Stackdriver monitoring with Cloud SQL
1. True
2. False

Ans:- 1
~~~~~~~~~~~~~

24. Which of the following application can be used to stream logging for Stackdriver Logging

1. Cloud SQL
2. Cloud pub/sub
3. Cloud Storage
4. Cloud BigQuery

Ans : 2

~~~~~~~~~~~~~~~~
25.Which of the following services can not be used as sinks out of the box for Stackdriver Logging

1.Cloud SQL
2.Cloud pub/sub
3.Cloud Storage
4.Cloud Bigquery

Ans: except 4


~~~~~~~~~~~~~~~~~~~~~~
26.Which of the following service use can be use for Stackdriver Monitoring, Logging, Error reporting, Trace& debug
1. Cloud container Engine
2. Cloud App Engine
3. Cloud Function
4.Cloud Virtual Machine
 ~~~~~~~~~~~~~~~~~
27.True:False Stackdriver trace is free service but only used for app engine out of default
1. True
2.False

2 false


~~~~~~~~~~~~~~
28.True:False Stackdriver Debugger can be used for Cloud Storage

1. True
2. False

Ans:-  false

exp:https://cloud.google.com/debugger/docs/setup/
~~~~~~~~~~~~~~
29. Which of the following application can provide information on "Why App engine application taking so long to handle request"

1. SD Logging
2. SD Monitoring
3. SD trace
4. SD Error Reporting
5. SD Debugger

Ans: 3

~~~~~~~~~~~~~~~~
30. Stackdriver Trace can be used with following applications

1. App Engine
2. HTTPS Load Balancer
3. Cloud CDN
4. Cloud VPN
5. Application use SD SDK

Ans:- 1,2&3
https://cloud.google.com/trace/docs/overview
























An Overview of Google App Engine
1.Google App Engine is __.

A. Is a Sofware as a Service platform that allows you install applications on the fly

B. The fastest way to get up and running on the Google Cloud which falls into the Platform as a Service (PaaS) category. It offers a global infrastructure that will scale load as well as scale up and down on demand as needed.


C. is an Infrastructure as a Service (IaaS) that allows us to deploy and manage instances.

D. A LAMP server that allows you to run locally your own applications.

Ans : 2

2.Google App Engine allows you to determine the geographic region to where you want your application deployed based on the regions in which GAE currently has available. Some of the regions currently available are:

A. Sydney
B. Montreal
C. South Carolina
E. Mumbai
F. Tokyo

Ans:- https://cloud.google.com/appengine/docs/locations


3.All services in Google App Engine do not have setup fees except for what service?

A. NO SQL Data Storage
B. Load Balancers
C. Cloud Storage
D. None of the Above - because there is no setup charge for using Google App Engine services.

Ans: D

4. The two types of environments that you can deploy apps within google app engine primarily are?

A. Flexible Environment

B. Enhanced Environment

C. Standard Environment

done Correct
D. Quick Environments

5.Not all of the supported languages for code are supported within the Standard and Flexible environment. Which of the following languages are only supported in the Flexible environment?

A. Go
B. Any Linux compatible Ruby package
done Correct
C. PHP
D. .Net Core
  done Correct
E. Any Linux compatible Node.js package
  done Correct
6.Google App Engine is able to closely integrate with the Cloud AI service because of what method?

A. 3rd party tools

B. By creating a Virtual machine that will act as a man-in-the-middle between the two services.

C. Google Cloud Storage Service

D. API hooks
done Correct

7.Google App Engine allows you to integrate with these other services.

A. Cloud Storage

done Correct
B. Cloud Datastore

done Correct
C. BigQuery

done Correct
D. Compute Engine

Ans : Except option D that is Compute Engine, all ie. Cloud Storage, datastore and bigquery integrate with Google App engine.

8.Google App Engine is a fully managed Platform as a Service (PaaS). Which of the following are among its benefits? (Check all that apply.)

A. Memory is automatically allocated.

done Correct
B. Google App Engine allows you to manage your own virtual machine and Operating System.

C. Instances automatically scale up and down.

done Correct
D. You can focus on the code.
done Correct
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

9.What are some of the best possible use cases for Google App Engine?

A. Mobile Apps
B. Websites
C. Game Development
D. Line of Business Apps
E. Machine Learning

Ans:- Except Machine Learning, Google App Engine use cases are in Mobile Apps,Games Development,Websites,Line of Business Apps.
~~~~~~~~~~~~~~~
10.You have deployed your application to the Tokyo region. You now want to change the region from Tokyo to a US-based region. Which of the following regions can you change to?

A. Any US-based Region.

B. Sydney

C. Mumbai

D. You cannot change regions once you deploy to any region.

Ans : Answer D is Correct because once you create a App engine in any environment, you can not change the env on the fly.

Thanks for the reading..