Coder Social home page Coder Social logo

cdsancs / azure-tf-virtual-wan Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wwce/azure-tf-virtual-wan

0.0 0.0 0.0 3.18 MB

Creates full environment to experiment and demo the VM-Series and Azure Virtual WAN.

License: MIT License

HCL 99.15% Smarty 0.85%

azure-tf-virtual-wan's Introduction

VM-Series & Azure Virtual WAN Traffic Demo

Overview

A terraform build that creates a fully functional environment to demonstrate how the VM-Series can secure Azure Virtual WAN traffic. Approximate time to complete 30 minutes.

Architecture

The build demonstrates the following VM-Series traffic flows through a virtual WAN hub.

  1. Inbound traffic: Dedicated set of VM-Series firewalls that secure internet inbound requests destined to networks connected to a virtual WAN hub.
    • Additional firewall sets can be added throughout different Azure regions to achieve a globally scalable inbound security edge.
  2. Outbound traffic: Dedicated set of VM-Series firewalls that secure lateral traffic traversing through a virtual WAN hub.
    • This design can be integrated into larger infrastructures that include regional hub and spoke architectures.

drawing

Prerequisites

  1. An active Azure subscription with appropriate permissions and resource allocation quota.
  2. Access to Azure cloud shell.

Deployment

1. Download Build

In the Azure Portal, open cloud shell in Bash mode.

Run the following commands. Replace licensing_option with your preferred licensing type: byol, bundle1, or bundle2.

# Accept VM-Series EULA for desired license type (BYOL, Bundle1, or Bundle2)
$ az vm image terms accept --urn paloaltonetworks:vmseries-flex:<licensing_option>:10.0.3

# Download repository and change directories
$ git clone https://github.com/wwce/azure-tf-virtual-wan; cd azure-tf-virtual-wan

2. Edit terraform.tfvars

Open terraform.tfvars and uncomment the fw_license variable that matches your licensing option from step 1.

$ vi terraform.tfvars

Your terraform.tfvars should look like this before proceeding

3. Deploy

Run the following commands to initalize and build the environment. A total of 104 resources will be created. Deployment time is approximately 25 minutes.

$ terraform init
$ terraform apply

When the deployment finishes, the following output will be displayed.

Test Traffic Flows

1. Test Inbound

Once the deployment finishes, paste the SPOKE-INBOUND-HTTP output value into a web-browser. The URL is the public load balancer's frontend of the inbound VM-Series firewalls. Once the VM-Series inspects the traffic, a NAT is applied to send inbound request through the virtual WAN hub.

Next, SSH to the web-server by pasting the SPOKE-INBOUND-SSH output into your existing cloud shell (UN/PW: paloalto/Pal0Alt0@123). This SSH session takes the same path as the previous HTTP path.

2. Test Outbound

After you have logged into the web-server, try to ping/SSH the Ubuntu VM running in the local-spoke VNET (10.3.0.4). This request will flow through the virtual WAN hub. The virtual hub routes the traffic to the outbound VM-Series firewalls. After inspection, the traffic is routed to the locally peered spoke VNET.

3. View the VM-Series Traffic Logs

Log into the VM-Series firewalls using the MGMT- output values (UN/PW: paloalto/Pal0Alt0@123). Go to the monitor tab to view the traffic logs.

Destroy Environment

Once you ahve tested the enivronment, you can delete the Azure resources by running the follow command from your Azure cloud shell.

$ terraform destroy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.