Cohesity Cloud Scale Technology Deployment Guide Using Terraform for AWS
- Introduction
- Getting started with deployment
- Prerequisities for setting up AWS environment
- Prerequisites for Terraform
- Deploying Cloud Scale Technology using Terraform script
- Accessing the Cloud Scale Technology environment
- Troubleshooting and cleanup environment steps
Parameters for base stage
Refer to the following tables and provide the configuration details depending on the type of installation you want to perform.
Note:
Refer to the sample.tfvars
file present in the base directory which has a format for passing the input parameters.
Note:
Cloud Scale Technology deployment is supported on hybrid DNS environment.
Table: Parameters for base stage
Parameters | Description |
---|---|
Required variables for base stage | |
cloudscale_instance_id | A unique identifier used in tags and names to identify the cloud scale resources specific to this deployment. The cloudscale_instance_id should be between 3 to 24 characters long, can contain only lowercase letters, numbers, and hyphens. It must start with an alphabet. |
region | The AWS region to provision the cloud scale resources. |
vpc_id | The VPC ID of an existing VPC to provision the cloud scale resources. |
eks_nodes_zone_01_subnet_id | The subnet ID of an existing subnet in the first availability zone. This subnet is where cloud scale resources will be provisioned. It is also used to create node groups. |
eks_nodes_zone_02_subnet_id | The subnet ID of an existing subnet in the second availability zone. |
eks_security_group_ids | List of security group ids to associate with the cloud scale cluster. This security group enables EKS cluster to access other resources. |
Optional ebs private endpoint create parameters | |
ebs_endpoint_create | Default value is false. Specifies whether to create EBS - VPC endpoint with EBS service configuration. |
Default variables required for base stage | |
kubernetes_version | The version of the Kubernetes to provision the cloud scale EKS cluster. The supported Kubernetes cluster version by default is 1.30. |
use_existing_iam | Option to use existing IAM role or provision new IAM role. If set to false, provisioning will automatically create the IAM role required for the EKS cluster and node groups. If set to true, provide the iam_cluster_role_name value. Default is set to false. Refer to See Permissions attached to iam_custer_role. in case if you the Terraform to create an new iam_cluster_role. |
iam_cluster_role_name | Must be set if the use_existing_iam parameter is set to true. This value is the IAM role Name of an existing IAM role that allows the Kubernetes control plane to manage AWS resources. The property cannot be changed after the cluster is created. |
eks_enable_private_access | To verify whether the Amazon EKS private API server endpoint is enabled. Default value is true. |
eks_enable_public_access | To verify whether the Amazon EKS public API server endpoint is enabled. Default value is false. |
node_group_scaling_primary_pool | Scaling configuration block for the primary pool nodes. See the default value for example. desired_size: Desired number of worker nodes. max_size: Maximum number of worker nodes. min_size: Minimum number of worker nodes. The default values for primary pool are: {"desired_size": 1, "max_size": 2, "min_size": 1} |
node_group_scaling_media_pool | Scaling configuration block for the media pool nodes. See the default value for example. desired_size: Desired number of worker nodes. max_size: Maximum number of worker nodes. min_size: Minimum number of worker nodes. The default values for media pool are: {"desired_size": 1, "max_size": 1, "min_size": 1} |
node_group_scaling_storage_pool | Scaling configuration block for the storage pool nodes. See the default value for example. desired_size: Desired number of worker nodes. max_size: Maximum number of worker nodes. min_size: Minimum number of worker nodes. The default values for storage pool are: {"desired_size": 1, "max_size": 1, "min_size": 1} |
node_group_scaling_data_plane_pool | Scaling configuration block for the data plane pool nodes. See the default value for example. desired_size: Desired number of worker nodes. max_size: Maximum number of worker nodes. min_size: Minimum number of worker nodes. The default values for data plane pool are: {"desired_size": 1, "max_size": 1, "min_size": 1} |
node_disk_size_primary_pool | Disk size in GiB for worker nodes in the primary pool. The default disk size is 200. |
node_instance_types_primary_pool | List of instance types associated with the nodes in the primary pool. Set the default value as |
node_disk_size_media_pool | Disk size in GiB for worker nodes in the media pool. The default disk size is 100. |
node_instance_types_media_pool | List of instance types associated with the nodes in the media pool. Set the default value as |
node_disk_size_storage_pool | Disk size in GiB for worker nodes in the storage pool. The default disk size is 100. |
node_instance_types_storage_pool | List of instance types associated with the nodes in the storage pool. Set the default value as |
node_disk_size_data_plane_pool | Disk size in GiB for worker nodes in the data plane pool. The default disk size is 100. |
node_instance_types_data_plane_pool | List of instance types associated with the nodes in the data plane pool. Set the default value as |
efs_throughput_mode | A throughput mode for the file system. The values that are allowed are - 'bursting' and 'provisioned'. The default throughput mode is ' bursting'. |
efs_provisioned_throughput_in_mibps | This is required only if the EFS throughput mode is 'provisioned'. The default value is 256. |
Optional fields for encryption using CMK | |
arn_of_cmk_for_efs | ARN of CMK for encrypting the EFS. This is an optional field. If not provided EFS will be encrypted with AWS managed key. |
arn_of_cmk_for_ebs | ARN of CMK for encrypting EBS volumes. This is an optional field. |
arn_of_cmk_for_ecr | ARN of CMK for encrypting ECR. This is an optional field |
Optional Postgres db parameters. These parameters are required to be set only if the 'db_create' is set to 'true'. | |
db_create | The default value is false. Specifies whether to create RDS PostgreSQL database |
db_use_rds_proxy | The default value is true. Specifies whether to use RDS Proxy. This parameter is optional and only required if db_create is set to true |
db_username | Username for the master DB user. This parameter is optional and only required if db_create is set to true. |
db_instance_class | db.t3.medium The instance type of the RDS instance. This parameter is optional and only required if db_create is set to true. |
db_nodes_zone_01_subnet_id | The subnet ID of an existing subnet in the first availability zone. This subnet is where PostgreSQL resources will be provisioned to use. This parameter is optional and only required if db_create is set to true. |
db_nodes_zone_02_subnet_id | The subnet id of an existing subnet in the second availability zone. This subnet is where PostgreSQL resources will be provisioned to use. This parameter is optional and only required if db_create is set to true. |
db_allocated_storage | The default value is 30. Specifies the value for Storage Autoscaling. This parameter is optional and only required if db_create is set to true. |
db_max_allocated_storage | The default value is 100. The allocated storage is in GB. This parameter is optional and is only required if db_create is set to true. |
db_maintenance_window | Mon:00:00-Mon:03:00 The window to perform maintenance in. Syntax: 'ddd:hh24:mi-ddd:hh24:mi'. This parameter is optional and only required if db_create is set to true. |
db_skip_final_snapshot | The default value is true. Determines whether a final database snapshot is created before the database instance is deleted. If true is specified, no database snapshot is created. If false is specified, a database snapshot is created before the database instance is deleted. RSD snapshots may incur additional cost. This parameter is optional and only required if db_create is set to true. |
db_enhanced_monitoring_interval | The default value is 0. The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60. This parameter is optional and only required if db_create is set to true. |