-
Notifications
You must be signed in to change notification settings - Fork 1
/
terraform.tfvars.example
185 lines (140 loc) · 7.25 KB
/
terraform.tfvars.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
#### User Input Required
#### Enter your user variables here
#### Some variables have default values and if you do not specify
#### User Input Required
#### Access key and Secret key for aws account [AWS_ACCESS_KEY, AWS_SECRET_KEY]
#### (fake example: aws_creds = ["myAccesssKeyxjdklfdakf","MySecretKeyxkldkfhadjkfh"])
aws_creds =
#### User Input Required
#### MUST HAVE 1 SSH KEY CREATED IN EACH INDIVIDUAL REGION
#### name of ssh key (.pem file) to be added to instance (AWS key pair name)
#### ie. if your AWS ssh keys name is "my-ssh-key.pem", enter in "my-ssh-key"
#### the SSH key must have already had "chmod 400 my-ssh-key.pem" run on it before using
#### (To create new keys: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html) (but include region param)
#### (fake example: ssh_key_name = "my-ssh-key")
## region A ssh key
ssh_key_name1 =
## region B ssh key
ssh_key_name2 =
#### User Input Required
#### path to your the SSH key .pem file.
#### (fake example: ssh_key_path = "~/keys/my-ssh-key.pem")
## region A ssh key path
ssh_key_path1 =
## region B ssh key path
ssh_key_path2 =
#### User Input Required
#### DNS hosted zone id (find value in R53 hosted zones)
#### *(if you do not have one already, go get a domain name on Route53)*
### navigate to Route 53 in the AWS console, click hosted zones,
### find hosted zone "domain name" of interest, use its "hosted zone ID" (fake example: dns_hosted_zone_id="Z903232kljadfdk")
dns_hosted_zone_id =
#### Owner tag name of resources
#### example: owner = "[email protected]"
owner =
#### AWS Regions
#### example: region1 = "us-west-2"
region1 =
#### example: region2 = "us-east-1"
region2 =
############################################################ Base Name of Resources
#### (Resource prefix for all generated resources, including cluster name)
#### example: base_name1 = "redisuser1-tf"
base_name1 =
#### example: base_name1 = "redisuser2-tf"
base_name2 =
############################################################ VPC Variables
#### VPC CIDR for VPC 1 & 2, MUST NOT OVERLAP!!!!!! (for vpc peering)
#### example: vpc_cidr1 = "10.0.0.0/16"
vpc_cidr1 = "10.0.0.0/16"
#### example: vpc_cidr2 = "10.1.0.0/16"
vpc_cidr2 = "10.1.0.0/16"
#### Subnet CIDR Block (for VPC 1 & 2) (obviously must relate to vpc cidr)
#### example: subnet_cidr_blocks1 = ["10.0.0.0/24","10.0.16.0/24","10.0.32.0/24"]
subnet_cidr_blocks1 = ["10.0.1.0/24","10.0.2.0/24","10.0.3.0/24"]
#### example: subnet_cidr_blocks2 = ["10.1.1.0/24","10.1.2.0/24","10.1.3.0/24"]
subnet_cidr_blocks2 = ["10.1.1.0/24","10.1.2.0/24","10.1.3.0/24"]
#### Subnet AZ
#### example: subnet_azs1 = ["us-west-2a","us-west-2b","us-west-2c"]
subnet_azs1 = ["us-west-2a","us-west-2b","us-west-2c"]
#### example: subnet_azs2 = ["us-east-1a","us-east-1b","us-east-1c"]
subnet_azs2 = ["us-east-1a","us-east-1b","us-east-1c"]
############################################################ Test Instance Variables
#### instance type to use for test node with redis and memtier installed on it
#### example: test_instance_type = "t3.micro"
test_instance_type = "t3.micro"
#### how many test nodes
#### example: test-node-count = 1
test-node-count = 1
############################################################ Redis Enterprise Nodes Variables
#### User Input Required
#### RE Software download url (MUST BE ubuntu 18.04)
#### Find download here: https://redis.com/redis-enterprise-software/download-center/software/
#### (FAKE example (update the x.x.xx with the Redis Software version!): re_download_url = "https://s3.amazonaws.com/redis-enterprise-software-downloads/x.x.xx/redislabs-x.x.xx-68-bionic-amd64.tar")
re_download_url =
#### RE cluster options
#### Do you want a Redis on Flash enabled cluster, if so, true, else, false
#### example: flash_enabled = false
flash_enabled = false
#### Do you want a Rack Zone Aware enabled cluster, if so, true, else, false
#### example: rack_awareness = false
rack_awareness = false
#### how many data nodes, 3 minimum
#### example: data-node-count = 3
data-node-count = 3
##### redis enterprise software instance type
##### example: re_instance_type = "t2.xlarge"
re_instance_type = "t2.xlarge"
##### EBS volume for persistent and ephemeral storage
#### example: re-volume-size = 150
re-volume-size = "50"
############################################################ SECURITY
##### example: allow-public-ssh = 1
allow-public-ssh = 1
##### explanation...
##### example: open-nets = ["10.0.0.0/16"]
open-nets = ["10.0.0.0/16"]
############################################################ Create RE Cluster Variables
#### Cluster Inputs
#### RE Cluster Username
#### example: re_cluster_username = "[email protected]"
re_cluster_username = "[email protected]"
#### RE Cluster Password
#### example: re_cluster_password = "admin"
re_cluster_password = "admin"
############################################################ RE CRDB DB variable inputs
#### these will define what the crdb db between the clusters looks like
#### the db name
#### example: crdb_db_name = "crdb-test1"
crdb_db_name = "crdb-test1"
#### the port for the db (must be between 10000-19999)
#### example: crdb_port = 12001
crdb_port = 12001
#### db total memory size (including replication) in bytes
#### example: crdb_memory_size = 10000000000
crdb_memory_size = 10000000000
#### Replication True/False (CRDBs require replication)
#### example: crdb_replication = "True"
crdb_replication = "True"
#### aof policy
#### example: crdb_aof_policy = "appendfsync-every-sec"
crdb_aof_policy = "appendfsync-every-sec"
#### Sharding (True/False), if False change the shards_count to 1
#### example: crdb_sharding = "True"
crdb_sharding = "True"
#### how many master shards for the crdb
#### example: crdb_shards_count = 2
crdb_shards_count = 2
############################################################ Memtier Benchmark
##### cmds will run on tester node for specific cluster
##### no need to include the -s endpoint -p port, those are added by automatically in ansible
##### Data load commands
#### example: memtier_data_load_cluster1 = "memtier_benchmark -t 4 -c 1 --pipeline 30 -d 300 --key-maximum=2500000 --key-prefix='1clusterA' --key-pattern=P:P -n allkeys"
memtier_data_load_cluster1 = "memtier_benchmark -t 4 -c 1 --pipeline 30 -d 300 --key-maximum=2500000 --key-prefix='1clusterA' --key-pattern=P:P -n allkeys"
#### example: memtier_data_load_cluster2 = "memtier_benchmark -t 4 -c 1 --pipeline 30 -d 300 --key-maximum=2500000 --key-prefix='2clusterB' --key-pattern=P:P -n allkeys"
memtier_data_load_cluster2 = "memtier_benchmark -t 4 -c 1 --pipeline 30 -d 300 --key-maximum=2500000 --key-prefix='2clusterB' --key-pattern=P:P -n allkeys"
##### Benchmark commands
#### example: memtier_benchmark_cluster1 = "memtier_benchmark -x 1 --ratio=1:1 --test-time=300 -d 500 -t 10 -c 10 --pipeline=10 --key-pattern=S:S --key-prefix='1clusterA'"
memtier_benchmark_cluster1 = "memtier_benchmark -x 1 --ratio=1:1 --test-time=300 -d 500 -t 10 -c 10 --pipeline=10 --key-pattern=S:S --key-prefix='1clusterA'"
#### example: memtier_benchmark_cluster2 = "memtier_benchmark -x 1 --ratio=1:1 --test-time=300 -d 500 -t 10 -c 10 --pipeline=10 --key-pattern=S:S --key-prefix='2clusterB'"
memtier_benchmark_cluster2 = "memtier_benchmark -x 1 --ratio=1:1 --test-time=300 -d 500 -t 10 -c 10 --pipeline=10 --key-pattern=S:S --key-prefix='2clusterB'"