Edit

Share via


Replicate an Amazon Web Services (AWS) web application with AWS WAF in Azure Kubernetes Service (AKS)

In this article, you learn how to replicate an Amazon Elastic Kubernetes Service (EKS) web application with AWS Web Application Firewall (WAF) using Azure Web Application Firewall (WAF) and Azure Application Gateway in Azure Kubernetes Service (AKS).

This workload implements a WAF to protect a Yelb web-based application running in a Kubernetes cluster. Applications rely on WAFs to block unwanted traffic and protect apps from common vulnerabilities. A centralized web application firewall helps simplify security management and helps ensure better protection against threats or intrusions.

For a more detailed understanding of the AWS workload, see Protecting your Amazon EKS web apps with AWS WAF.

Important

Open-source software is mentioned throughout AKS documentation and samples. Software that you deploy is excluded from AKS service-level agreements, limited warranty, and Azure support. As you use open-source technology alongside AKS, consult the support options available from the respective communities and project maintainers to develop a plan.

For example, the Ray GitHub repository describes several platforms that vary in response time, purpose, and support level.

Microsoft takes responsibility for building the open-source packages that we deploy on AKS. That responsibility includes having complete ownership of the build, scan, sign, validate, and hotfix process, along with control over the binaries in container images. For more information, see Vulnerability management for AKS and AKS support coverage.

Deployment process

  1. Understand the conceptual differences: Start by reviewing the differences between EKS and AKS in terms of services, architecture, and deployment.
  2. Rearchitect the workload: Analyze the existing AWS workload architecture and identify the components or services, like the workload infrastructure, application architecture, and deployment process, that you need to redesign to fit AKS.
  3. Update the application code: Ensure your code is compatible with Azure APIs, services, and authentication models.
  4. Prepare for deployment: Modify the AWS deployment process to use the Azure CLI.
  5. Deploy the workload: Deploy the replicated workload in AKS and test the workload to ensure that it functions as expected.

Prerequisites

Download the Azure application code

The completed application code for this workflow is available in our GitHub repository.

  1. Clone the repository to a directory called aws-to-azure-web-app-workshop on your local machine using the following command:

    git clone https://github.com/azure-samples/aks-web-application-replicate-from-aws ./aws-to-azure-web-app-workshop
    
  2. After you clone the repository, navigate to the aws-to-azure-web-app-workshop directory and start Visual Studio Code using the following commands:

    cd aws-to-azure-web-app-workshop
    code .
    

Next step

Contributors

Microsoft maintains this article. The following contributors originally wrote it:

Principal author:

  • Dixit Arora | Senior Customer Engineer
  • Paolo Salvatori | Principal Customer Engineer

Other contributors: