CoPilot Fault-Tolerant (Clustered) Deployment
Fault-tolerant (clustered) CoPilot deployments are typically used for production environments and larger network infrastructures.
The following content is for the use of customers who already have a clustered CoPilot deployment. New clustered deployments are not supported. Please deploy a single CoPilot instance. |
Note the following points about a clustered deployment:
-
You can launch a clustered deployment by using Terraform scripts in AWS and Azure clouds only.
-
You can launch a clustered deployment from the Controller user interface for AWS cloud only.
-
You cannot launch a clustered deployment from the CSP marketplace.
Considerations for a Clustered Deployment
The following content is for the use of customers who already have a clustered CoPilot deployment. New clustered deployments are not supported. Please deploy a single CoPilot instance. |
Configuration Requirements
-
In a clustered (fault tolerant) deployment, you must select a subnet with outbound Internet access for the server instance as well as for each data instance in the cluster.
-
For a fault-tolerant (clustered) deployment, each instance (VM) in the cluster must meet the minimum requirements. In addition, each cluster instance must use the same instance sizing. In a cluster, the data instances will have a disk/volume attached for storage in the size you specify during your launch process. Data volume sizes must be the same across all data instances.
-
If you have a CoPilot simple deployment (single instance) and are planning on migrating your data from the simple deployment to a new clustered deployment, the size of the disk volume you specify for each data instance/VM should be the same size or larger than the storage used in your old single copilot.
Migrating Data on a CoPilot Cluster
-
When migrating CoPilot data to a new instance:
-
The <copilot_ip> is the IP address of your new copilot instance. If the new CoPilot is a clustered deployment, this is the IP address of the main CoPilot server.
-
The Old CoPilot IP is the IP of the existing instance. This IP address is the main CoPilot server of the old_copilot, if the old CoPilot is a clustered deployment.
-
When you select Migrate Data from a Single CoPilot Instance to a CoPilot Clustered Deployment, data will be migrated from the old CoPilot data disk to the data nodes of the new CoPilot cluster.
-
When you select Migrate Data from a CoPilot Clustered Deployment to a CoPilot Clustered Deployment, data will be migrated from the data nodes of the old CoPilot to the data nodes of the new CoPilot.
-
Verify the Cluster Deployment
When performing the steps in Verify the CoPilot Deployment and the Connectivity with Controller, there are additional steps for verifying a cluster.
After Step 2, you should do the following:
-
Verify the cluster is intact via CoPilot) In the CoPilot application, go to Settings > Cluster > Cluster Status to check the status of the cluster instances. You can also review the cluster details in Settings > Cluster > Cluster Settings.
-
Verify the cluster is intact via the AWS environment) In your EC2 console, check the following:
-
Verify the server instance is created and running after deployment (“Aviatrix-CoPilot-Cluster-Main-Node” is the server instance name.)
-
Verify all data instances are created and running after deployment (“Aviatrix-CoPilot-Cluster-Data-Node_node_number” is the data instance name format.)
-
Verify the CoPilot IP address was added on port 443 to the user Security Groups of the Controller instance on the cloud service provider.
-
Prepare to Deploy a CoPilot Cluster (AWS Only)
The following content is for the use of customers who already have a clustered CoPilot deployment. New clustered deployments are not supported. Please deploy a single CoPilot instance. |
Launch a cluster of CoPilot instances for a fault-tolerant deployment from the Controller UI (AWS Only). This feature is available starting from Aviatrix Controller release 6.8.
-
If you want to launch a cluster of CoPilot instances for a fault-tolerant deployment by using Terraform scripts (AWS Only), see the Aviatrix Terraform modules for CoPilot on GitHub at https://github.com/AviatrixSystems/terraform-modules-copilot.
-
Launching a fault-tolerant deployment from a cloud provider marketplace is not supported.
-
If you are using private mode, note that CoPilot must have Internet access.
About a CoPilot Fault-Tolerant (Clustered) Deployment
In a CoPilot fault-tolerant (clustered) deployment:
-
One cluster instance serves as the user interface and Controller of the other instances — the cluster server instance — and the other cluster instances are used for storing, searching, indexing, and serving cached data —the cluster data instances.
-
In a CoPilot cluster, the data is striped across the data instances so there is no single point of failure should any data instance become unavailable.
-
By default, the Controller UI deploy process will launch the cluster server instance in the same region as the Controller. You can deploy the server instance in a different region than the Controller if needed.
-
All cluster instances, both server instance and data instances, must be deployed in the same region, and it is recommended to deploy each instance in a different availability zone.
-
You must deploy a minimum of 3 data instances. You can deploy up to 9 data instances (for a maximum of 10 nodes in a cluster).
Prerequisite Tasks for Fault-Tolerant (Clustered) Deployment Launch
Before you begin, obtain the following information and perform the tasks indicated.
-
Verify your Controller is version 6.8 or later.
-
Subscribe to a CoPilot offer at the Amazon Web Services (AWS) Marketplace and accept the terms and conditions (this is described in the first step of the procedure if you haven’t done this yet). Note that to use the latest CoPilot add-on features, you must also subscribe to the Aviatrix license.
-
Verify that your AWS account has been created in your Controller (you create your AWS account by navigating to Controller UI, from ACCOUNTS > Access Accounts > +ADD NEW).
-
Verify that the IAM role
aviatrix-role-ec2
is attached to the Controller instance Access Account. The CoPilot deployment will fail if this role is not attached to your Controller. Make sure Theaviatrix-app-policy
policy is also added to theaviatrix-role-ec2
role if you need to migrate your CoPilot data in the future. -
Obtain the CoPilot customer ID provided by your Aviatrix Sales representative.
-
Obtain the number of data instances to deploy for your cluster. Work with your Aviatrix Sales representative to determine the minimum data instances you should deploy in the cluster for your specific environment Minimum Instance (VM) System Requirements for CoPilot.
-
Obtain the VM size to be used for data instances in the cluster. Each data instance must use the same VM sizing. The size of the VM you provision for your data instances depends on the scale and the kind of networking infrastructure you have planned according to your business requirements. Work with your Aviatrix Sales representative to determine your VM sizing requirements. For more information, see Minimum Instance (VM) System Requirements for CoPilot.
-
Obtain the size to be used for the data volumes attached to data instances for CoPilot storage. The deployment process will attach a data volume of the size specified to each data instance. Data volume sizes must be the same across all data instances.
-
Note the following points when considering storage size for your cluster data instances:
-
After you deploy the cluster, you will not be able to expand or increase the size of the data volumes attached to the data instances. Expandable storage is still possible for simple deployments (as in prior releases) but not for clustered deployments at this time.
-
If you already have a CoPilot simple deployment (single instance), and you are planning on migrating your data from the simple deployment to the new clustered deployment, the size of the disk volume you specify for each data instance should be the same size or larger than the storage used in your old copilot. See CoPilot Disk (Volume) Management.
-
Deploy a CoPilot Cluster (Fault-Tolerant Deployment) from the Controller UI
The following content is for the use of customers who already have a clustered CoPilot deployment. New clustered deployments are not supported. Please deploy a single CoPilot instance. |
Before launching a CoPilot cluster (fault-tolerant deployment) from the Controller UI (AWS Only), be sure you have completed the cluster prerequisites.
Navigate to the Aviatrix Controller user interface and perform the following to begin the deployment process:
-
Log into Aviatrix Controller UI, and perform one of the following to begin the deployment process:
-
From the onboarding page, click the Aviatrix CoPilot tile.
-
From the action bar, click the app icon and select Deploy CoPilot.
-
-
On the Deploy CoPilot dialog, perform the following:
-
Select Fault Tolerant Deployment.
-
(Optional) If you have backed up CoPilot configuration in an old CoPilot instance and want to restore your CoPilot configuration for this new CoPilot deployment, select Restore from CoPilot Backup. Then you will not be able to choose Customize Deployment. See details in CoPilot Configuration Backup and Restore.
-
(Optional)If desired, click Customize Deployment to enable the editing of the configuration. Otherwise, click NEXT to use the default configurations for the CoPilot server. By default, the deployment process will deploy the CoPilot server and data in the same region and same VPC as your Controller to reduce latency.
-
(Optional) If desired, in Region, change the region in which to deploy the cluster. By default, the deployment process will deploy the cluster server instance and all data instances in the same region as your Controller. Deploying them in the same region as the Controller is recommended to reduce latency.
-
(Optional) If desired, in VPC, change the VPC in which to deploy the cluster. By default, the deployment process will deploy the cluster server instance and all data instances in the same VPC as your Controller.
-
(Optional) If desired, in Subnet, specify the subnet (availability zone) in which to deploy the server instance. In the next steps, you can specify to deploy each data instance in a different availability zone. It is recommended to deploy each cluster instance in a different availability zone so the cluster can tolerate an AZ failure.
Each CoPilot instance must be launched in a subnet that has outbound Internet access. If you are using private mode, you also must select a subnet with outbound Internet access in this step. -
(Optional) If desired, in CoPilot Server VM Size, specify the VM size you want to provision for your server instance. The default is a recommended minimum VM size for a server instance. See Minimum Instance (VM) System Requirements for CoPilot for information about instance sizing.
-
Click NEXT.
-
-
For CoPilot Data Instances, perform the following:
-
Click + ADD INSTANCE for each data instance you will have in the cluster.
You must deploy at least 3 data instances. You can deploy a maximum of 9 data instances.
-
In Subnet, for each data instance, specify the subnet (availability zone) in which to deploy the instance. Note: Each CoPilot instance must be launched in a subnet that has outbound Internet access. If you are using private mode, you also must select a subnet with outbound Internet access in this step for each data instance. It is recommended to deploy each data instance in a different availability zone so the cluster can tolerate an AZ failure. For example, if you deployed three data instances in AZs 1a, 1b, and 1c:
subnet_cidr1~~*us-east-1a*~~ subnet_cidr2~~*us-east-1b*~~ subnet_cidr3~~*us-east-1c*~~
-
In Size, specify the VM size to be used for all CoPilot data instances in the cluster. Each data instance must use the same VM sizing. The default is a recommended minimum VM size for a data instance. See Minimum Instance (VM) System Requirements for CoPilot for information about instance sizing. You can accept the default or specify a custom instance configuration.
-
In Disk(GB), specify the size to be used for the data volumes attached to the data instances for CoPilot storage. You can accept the default minimum storage size or choose a custom size. Data volume sizes must be the same across all data instances.
-
Click NEXT.
-
Enter your CoPilot service account username and password. Then click VERIFY.
-
If you do not receive an error, click Deploy.
-
-
Wait until the deployment progress indicator reads Complete and then click Close.
During the deployment process, the status dialog shows the details of your CoPilot instance including the instance size, VPC name, region, and associated AWS account number. You can copy the information from the status dialog to take note of it. -
Wait for approximately 15 minutes. It takes about fifteen minutes for the CoPilot application to initialize and upgrade.