Install cloudSwXtch on AWS

Prev Next

WHAT TO EXPECT

Deployment of a cloudSwXtch consists of two parts: the creation of an EC2 instance containing cloudSwXtch and the installation of the xNIC software. The cloudSwXtch is considered "installed" once while the xNIC is installed on each agent instance that is a part of the network.

In this section, users will learn how to deploy cloudSwXtch for their AWS environment. 

NOTE:

Root privileges are not required for deployment or operation. Our CloudFormation template allows an automated mechanism to update the installed cloudSwXtch version. This will deploy the latest version of the cloudSwXtch instead of the one packaged in the AMI, which requires root privileges to trigger the update from the product side. For upgrades, please see Upgrade cloudSwXtch on AWS on how to perform an upgrade from the client side. An upgrade from the client side does not require root privileges.

Creating a cloudSwXtch EC2 Instance 

Prerequisites

Before starting, a user must do the following: 

  1. Review cloudSwXtch System Requirements

  2. Ensure that you already have an AWS account. 

  3. Create a virtual network (VPC). This must be created before deploying a cloudSwXtch. 

  4. Validate you have at least one subnet for your virtual network. A single subnet can be used for the control and data plane. 

  5. Verify a Security Group that allows access to all traffic inside the VPC. If one is not created, use default when creating a cloudSwXtch. 

  6. Create an SSH Key Pair.

Post-Installation

The following instructions detail how to deploy a cloudSwXtch BYOL instance. If a user decides to deploy a BYOL instance, they will need to complete the additional step of licensing their cloudSwXtch.

If all prerequisites are met, a cloudSwXtch can be created via the Marketplace in any region in approximately 10 minutes. If multi-AZ or multi-region is required then see Mesh for details. The installer will create a CloudFormation Stack to include the following resources:

  • ControlEni Networking Interface for control data

  • DataENI Networking Interface for data such as Multicast

  • EC2Instance in Linux for the cloudSwxtch to run on

In order to create a cloudSwXtch, please do the following steps.

  1. Sign into AWS.

  2. From the AWS console, search "Market" and select "AWS Marketplace Subscriptions" from the search results.

    AWS Mkt Install - search mkt 2

  3. Select "Discover Products" in the AWS Marketplace menu on the left hand side.

  4. Search for "cloudSwXtch."

    AWS Marketplace Products

  5. Select a Tier (cloudSwXtch - BYOL or cloudSwXtch - PAYG) based on your usage requirements and features needed.

    1. Please read the cloudSwXtch System Requirements article for more information regarding cloudSwXtch sizing.

    2. For the purpose of this guide, the next screenshots will be for a cloudSwXtch BYOL deployment.

      Endpoint Connections Limit

      Be mindful of the number of endpoints you connect to your cloudSwXtch after creation. For cloudSwXtch BYOL, you are limited to the number of endpoints allowed in your license.

      If you need to increase the number of endpoints, please view the AWS instructions here. Note that if your new instance type exceeds the size of your tier, you must contact support@swxtch.io to update your license.

  6. Select "Continue to Subscribe" after reviewing the product information. Note: The "Typical Total Price" is calculated with the recommended instance size included in the final monthly value and a utilization of 24x7. Please note: The cost in "Software Pricing Details" is for the cloudSwXtch and does not include costs for the AWS instance.

    AWS_cloudSwXtch Multicast page

  7. Review the Terms and Conditions.

  8. Select "Accept Terms" if they are acceptable. 

  9. Select "Continue to Configuration" after reading the subscription and license management.

    AWS%20Mkt%20Install%20-%20Continue%20to%20Configuration%206%20-%20New

  10. Select the desired "Region” and then select “Continue to Launch”. (Note: If you select a region that does not match the region you began with, then it may not work even if selected here.)

    AWS_Marketplace-ConfgureSoftware

    INSTANCE TYPES

    It is recommended to use an instance type in the c6in or m6in families. Remember that a cloudSwXtch requires a minimum of 8 cores. Note how the cloudSwXtch Marketplace install selects the appropriate VM size in the Fulfillment section based on the cloudSwXtch tier.

    Please ensure that the instance type matches one of the options below:

    • c6in.2xlarge

    • c6in.4xlarge

    • c6in.8xlarge

    • c6in.12xlarge

    • c6in.16xlarge

    • c6in.24xlarge

    • c6in.32xlarge

    • m6in.2xlarge

    • m6in.4xlarge

    • m6in.8xlarge

    • m6in.12xlarge

    • m6in.16xlarge

    • m6in.24xlarge

    • m6in.32xlarge

  11. Read “Usage Instructions” if you desire.

  12. Use the “Choose Action” dropdown menu and select “Launch CloudFormation”.

  13. Click “Launch”.

    AWS_Marketplace-LaunchSoftware

  14. Keep Settings on default on the "Create Stack" page and select "Next."

  15. On the Specify stack details page, complete the following:

    1. Under “Stack name," enter your desired name. Keep in mind that this will be used for everything added to the stack. For example: “resource name,” “security groups,” “EC2 instance name,” etc.

    2. Under “CidrIpForInboundOutboundTraffic,” use 0.0.0.0/0 so that you can SSH to the virtual machine from any IP address. You can also pick a more restrictive range if desired.

    3. Under “ControlSubnet,” use the dropdown to find the control subnet you created (recommended: ctrl-subnet).

    4. Under “DataSubnet,” use the dropdown to find the control subnet you created. Both control and data can share the same subnet. 

      1. Alternatively, for better performance, a user can assign a separate subnet for their data subnet. 

    5. For “InstanceType,” there should be "Fulfillment" data from the earlier step.

    6. Under “KeyName,” use the dropdown to find your previously created or imported SSH key.

    7. In “PassedSwxtchSecruityGroup,” use “default” and one will be created during the installation process. Alternatively, you can enter the ID of an already created security group. It will be something similar to "sg-009273855418af38d."

    8. Under “VpcId,” select from the dropdown to find the already created VPC id.

    9. Here is an example of how your template would look like

  16. Click "Next."

  17. The “Configuring stack options” page is completely optional. You can assign tags for your stack, set additional IAM permissions, stack failure options, etc.

  18. Click "Next" if you don't need to make any changes.

  19. Verify that your parameters are accurate on the final "Review" page. If you need to change anything, select "Edit."

  20. Click "Submit." On the next page, you can view the creation of your stack.

    Your EC2 instance has now been created. You can view it on the EC2/Instances list and connect to your cloudSwXtch from there.

  21. Once you have connected with SSH to your cloudSwXtch as root user (sudo su), navigate to the cloudSwXtch directory (cd /swxtch) then run the following command:

    sudo swxtch/swxtch-top dashboard --swxtch <cloudSwXtch-IP>

NOTE

Use the cloudSwXtch-name in place of the IP address if DNS resolution is setup or "localhost."

This will display the cloudSwXtch's swxtch-top dashboard. In "Status," you should see "OK." This will let you know that your cloudSwXtch has been successfully deployed. You can review more information regarding swxtch-top in the swxtch-top article

INSTALLING AN XNIC

If this is a new installation, then each client that is expected to receive or transmit to the cloudSwXtch will need an xNIC installed.

If this is an existing cloudSwXtch replacement, then each client with an xNIC already installed will need to be upgraded to match the current cloudSwXtch version.

You can find more information about xNIC installation, here

Required Step for BYOL: Contact swXtch.io for a license

Users deploying a BYOL instance of cloudSwXtch will need to contact swXtch.io for a license file. For more information, see How to License a cloudSwXtch


Checking the Health of Your cloudSwXtch Instance

It is important to ensure your AWS system is healthy. AWS provides AWS CloudWatch as a way to check on the health of your system. To check on the cloudSwXtch EC2 instance, read more here

Upgrading cloudSwXtch on AWS

It is important that your cloudSwXtch instance is up to date. To learn how to upgrade your cloudSwXtch, you can read more here

Deleting cloudSwXtch on AWS

To learn how to delete your cloudSwXtch, you can read more here