You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Type 'yes' when prompted to confirm the resource destruction.
135
135
136
+
## Decisions & Preferences
137
+
138
+
Before deploying the Anyscale platform, certain decisions need to be made with regards to the infrasture preferences and design. The following section outlines the major ones. Going over these before deployment can speed up the process:
139
+
140
+
### 1. Networking Architecture
141
+
- Direct Networking (simple): Public subnets, public IPs, internet-facing
142
+
- Customer Defined Networking (enterprise): Private subnets, NAT gateways, more secure
143
+
-**Decision:** Most enterprises choose Customer Defined with --private-network flag
144
+
145
+
### 2. VPC Strategy
146
+
- New VPC: Create dedicated (recommended /16 CIDR like 10.0.0.0/16)
147
+
- Existing VPC: Integrate with current network infrastructure
148
+
-**Decision:** Do you have existing VPC requirements or create new?
149
+
150
+
### 3. Subnet Design
151
+
- Number: Minimum 2, recommended 3+ for multi-AZ
152
+
- Size: /22 CIDR (1,024 IPs each) recommended
153
+
- Type: Public only vs Private with NAT
154
+
-**Decision:** How many subnets and in which availability zones?
155
+
156
+
### 4. Access Control
157
+
- Ingress CIDR ranges: Which IPs can access clusters (office, VPN, CI/CD)
158
+
- SSH access: Enable port 22 or use SSM only?
159
+
- Machine pools: Up to 2 CIDR ranges maximum (AWS limit)
160
+
-**Decision:** Define your security_group_ingress_allow_access_from_cidr_range
161
+
162
+
### 5. IAM Configuration
163
+
- External ID: Use format org_id-custom_string for enhanced security
164
+
- CloudWatch logs: Enable cluster logging to CloudWatch?
165
+
- Custom policies: Additional permissions for Secrets Manager, RDS, etc.?
166
+
-**Decision:** What additional AWS services will clusters need?
167
+
168
+
### 6. Storage Options
169
+
S3 Bucket:
170
+
- New dedicated vs existing bucket
171
+
- Encryption: AES256 (default) or KMS
172
+
- Lifecycle policies for cost optimization
173
+
-**Decision:** KMS encryption required by compliance?
174
+
175
+
EFS (Optional):
176
+
- Shared cluster storage
177
+
-**Decision:** Set create_efs_resources true/false
178
+
179
+
MemoryDB (Optional):
180
+
- Head node fault tolerance for Services
181
+
-**Decision:** Set create_memorydb_resources true/false (recommend true for production)
182
+
183
+
### 7. Region & Availability
184
+
- Region: Which AWS region? (no China/GovCloud)
185
+
- Multi-AZ: Distribute across 2-3 availability zones
186
+
- VPC Endpoints: Create S3 endpoint for cost/performance?
187
+
-**Decision:** Primary region and DR strategy?
188
+
189
+
### 8. Resource Naming
190
+
- Common naming: Use use_common_name=true for consistency
-**Decision:** Naming convention and tagging strategy
194
+
195
+
### 9. Environment Strategy
196
+
- Separation: Separate clouds per environment or shared?
197
+
- Deployment env: Set anyscale_deploy_env (dev/staging/prod)
198
+
-**Decision:** How many Anyscale clouds needed?
199
+
200
+
### 10. Compliance & Security
201
+
- AWS Account: Dedicated or shared account?
202
+
- KMS keys: Customer-managed keys required?
203
+
- Audit logging: CloudWatch logs enabled?
204
+
-**Decision:** What are your compliance requirements?
205
+
206
+
136
207
## Conclusion
137
208
In this guide, we have covered how to set up and use Terraform with Amazon Web Services from a local laptop. We used the Anyscale AWS cloudfoundation module to create resources based on the anyscale-v2-commonname example. Now you can create and manage your infrastructure on AWS using Terraform and the Anyscale module.
0 commit comments