On November 5th, 2020, we updated our vMX offering on the AWS Marketplace and as part of that we sunset our old vMX100 offer on AWS. Please note that the February 3rd, 2021 End-of-Support date is AWS's EoS for the old vMX-100 offer on their marketplace. For any issues with the AWS instance itself that are not firmware related, AWS will not provide support for the old vMX100 offer after February 3rd, 2021.
However, Cisco Meraki will continue to support the vMX100 SKU to the date mentioned in our EoS notice which is December 22nd , 2027. Please read the EoS notice for additional details. Customers would still be able to deploy the vMX-S/M/L/100 SKUs using the new vMX offer on the AWS marketplace.
This document is a walkthrough for setting up a virtual MX appliance in the AWS Marketplace (including China). After completing the steps outlined in this document, you will have a virtual MX appliance running in the AWS Cloud that serves as an AutoVPN termination point for your physical MX devices.
Before deploying a virtual MX, it is important to understand several key concepts:
All MXs can be configured in either NAT or VPN concentrator mode. There are important considerations for both modes. For more detailed information on concentrator modes, click here.
In this mode, the MX is configured with a single Ethernet connection to the upstream network. All traffic will be sent and received on this interface. This is the only supported configuration for MX appliances serving as VPN termination points into AWS Cloud.
NAT Mode Concentrator
In this mode the MX is configured with a single Ethernet connection to the upstream network and one Ethernet connection to the downstream network. VPN traffic is received and sent on the WAN interfaces connecting the MX to the upstream network and the decrypted, unencapsulated traffic is sent and received on the LAN interface that connects the MX to the downstream network.
If you wish to change the concentrator mode after the vMX deployment, you must restart the instance for the changes to be applied. Please choose the desired concentrator mode before the vMX deployment.
There are several options available for the structure of the VPN deployment.
In this configuration, branches will only send traffic across the VPN if it is destined for a specific subnet that is being advertised by another MX in the same Dashboard organization. The remaining traffic will be checked against other available routes, such as static LAN routes and third-party VPN routes, and if not matched will be NATed and sent out the branch MX unencrypted.
In full tunnel mode all traffic that the branch or remote office does not have another route to is sent to a VPN hub.
AWS Cloud Terminology
This document will make reference to several key AWS-specific terms and concepts.
Amazon Web Services is a hosting platform that allows organizations to host infrastructures and services in the cloud.
A Virtual Private Cloud is a virtual and private network within Amazon's AWS infrastructure. A VPC has a block of associated IP addresses, which can be subdivided into multiple smaller subnets.
Elastic Compute Cloud is Amazon's virtual and cloud-based computing infrastructure. EC2 allows you to run virtual machines within your VPC. A virtual machine running on the EC2 platform is commonly referred to as an EC2 instance.
Please refer to the AWS glossary for a dictionary of cloud terminology on the AWS Cloud platform.
Meraki Dashboard Configuration
Begin by creating a new Security Appliance network in your organization. This guide will walk you through creating a new network in the Meraki Dashboard.
1. Adding license(s) to the Meraki dashboard
The Meraki Dashboard will require a vMX license to be added before you are able to continue. If you do not have access to a vMX license, please reach out to your Meraki Reseller or Sales Rep.
Create a "Security appliance" network type:
Once you have created the "Security appliance" network and added the appropriate license you will be able to deploy a new vMX to your network by clicking on the 'Add vMX' button:
Before generating the token, please verify the firmware is running MX 15.37+. If the vMX network is upgraded to anything below that, the upgrade will not occur.
2. Generate the authentication token
After you add the new vMX to your network, navigate to Security Appliance > Appliance status and select “Generate authentication token” to generate the token for the AWS user-data field.
3. Copy the newly generated token and save it.
The newly generated token will be used in the "System Configurations" section when creating a new AWS Cloud instance.
The authentication token must be entered into the AWS Cloud instance within 1 hour of generating it. If it has been more than 1 hour, then a new token must be generated.
This section walks you through configuring the necessary requirements within AWS, and adding a vMX instance to your Virtual Private Cloud (VPC). For more details on setting up a VPC and other components, please refer to Amazon's AWS Documentation here.
Accessing the AMI
To gain access to the AMI, navigate to this link. A screenshot of the marketplace listing of vMX is included below:
Select the EC2 instance type and the region to launch the EC2 instance in. This should match the availability zone your VPC resides in.
Running EC2 instances has an AWS infrastructure charge. Please be mindful of this when launching your instances. The charge can be found in the cost estimator table to the right of the instance type selection.
Click the "Continue to Subscribe" button to configure and finalize the vMX deployment.
Configuring the EC2 Image
After continuing, you will be prompted to configure the EC2 instance settings.
For "Choose action" option select the "Launch through EC2" and click "Launch"
Choose the EC2 instance type and click "Next: Configure instance details".
After selecting the instance type, select the VPC and subnet the instance will be a part of and make sure the "auto-assign public IP" is enabled.
Under "advanced details" enter the vMX authentication token from the dashboard in the user-data field. To get the authentication token from the dashboard, go to the Meraki dashboard and click on "generate authentication token" in the bottom left to get a token
Click "review and launch" to finish creating the instance.
Once this has been completed, it may be several minutes before the software subscription completes and the instance launches.
Please see the Help -> Firewall Info page for information on connections that need to be allowed upstream to provide Dashboard connectivity.
Additional VPC Configuration
The virtual MX appliance will allow for site-to-site VPN connectivity using AutoVPN between AWS and other remote MXs. In order to have proper bi-directional communication between remote subnets that are terminating into AWS via the vMX and hosts within AWS, the VPC routing table must be updated for the remote AutoVPN-connected subnets.
To do this, navigate to the "VPC" dashboard in AWS, and follow the steps below
- Click on "Route Tables" on the left-hand side
- Find the route table associated with the VPC or subnet the vMX is hosted in (you can quickly filter the list by typing in your VPC ID or name in the search box)
- Click on the route table in the list to select it, then click on the "Routes" tab in the details pane below the list of routing tables
- Click the "Edit" button
- Click the "Add another route" button at the bottom of the route table
- In the "Destination" column, add the routes available via AutoVPN
- In the "Target" column, select the vMX instance or interface ID
- Repeat steps 5-7 for each network available via AutoVPN and Client VPN if applicable. You may want to use a summary address. Below is an example of two networks available via AutoVPN.
The most common problem people face when deploying a vMX is getting it provisioned and online in their Meraki dashboard in the first place. New troubleshooting/diagnosis messages have been added to the vMX console screen now so you can identify what went wrong during the provisioning process.
When the vMX boots it will execute the following steps during its initial provisioning process:
- Obtain user-data (vMX auth token)
- Authenticate with the dashboard (using auth token)
- Connect to Dashboard
Obtain User-Data & Authenticate to Dashboard
Once a vMX has successfully connected to a network, it will then attempt to obtain its user-data (vMX auth token). There are different user-data mechanisms in each platform that the vMX currently runs on to provide the token to the vMX. In AWS, Azure, GCP and Alicloud there are user-data fields in the VM config where this can be provided.
vMX auth tokens have a lifetime of only 1 hour for security purposes. If you see the following message on your vMX console it means the token you provided is no longer valid.
If the token provided is incorrect in any way the "invalid token" message is displayed on the console.
Unable to reach Meraki Dashboard
If the vMX is unable to reach the dashboard on TCP port 7734 then the initial provisioning phase will fail and an "Unable to reach Meraki Dashboard" message will be displayed on the console (check the firewall information page for a list of all the firewall rules needed for the Cisco Meraki cloud communication). Please refer to this document on the correct ports/IP's that need to be opened for Meraki Dashboard communication.
No "Add vMX" Button
When navigating to Security & SD-WAN > Appliance Status, if there is no "Add vMX" button please ensure the following two conditions are met:
- You have available vMX licenses in your license pool
- You have created a "Security appliance" network type
Please note that Meraki Support does not troubleshoot AWS Cloud specific firewall rules and deployments.
Deploying vMX100 on m4.large
Issue: vMX100 deployed using a m4.large instance type does not handle user-data correctly and the vMX fails to connect to the dashboard. A "no token provided" message is shown on the instance screen shot.
Resolution: Based on the desired firmware version one of the following resolutions can be applied.
- 15.37+ firmware: If the desired firmware version is 15.37+, deploy the vMX100 with a c5.large instance type instead of m4.large. c5.large, also provides better performance than the m4.large instance type at the same cost.
- 14.x firmware: If vMX100 is to be deployed on 14.x firmware then do the initial deployment using a c5.large instance type and once the vMX has successfully checked into the dashboard switch to m4.large instance type. Steps to change the instance type are listed below.
- Stop the vMX instance from the AWS console select "Change instance type" under instance settings.
- Update the instance type to m4.large and restart the instance.