You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2022/02/02 18:47:40 UTC

[GitHub] [accumulo-testing] dlmarion commented on a change in pull request #185: Terraform configurations for creating AWS test infrastructure

dlmarion commented on a change in pull request #185:
URL: https://github.com/apache/accumulo-testing/pull/185#discussion_r797916510



##########
File path: contrib/terraform-testing-infrastructure/README.md
##########
@@ -0,0 +1,227 @@
+# Accumulo Testing Infrastructure
+
+## Description
+
+This Git repository contains several [Terraform](https://www.terraform.io/) configurations.
+
+  - `shared_state` creates an AWS S3 Bucket and DynamoDB table that are a prerequisite for the Terraform configuration in `aws`.
+  - `aws` creates the following AWS resources:
+    1. Creates an EFS filesystem in AWS (think NFS). On this filesystem we are going to install Maven, ZooKeeper, Hadoop, Accumulo, and Accumulo Testing
+    2. Creates IP addresses for the EFS filesystem in each AWS availability zone that we use. The IP address allows us to mount the EFS filesystem to EC2 nodes.
+    3. Creates one or more EC2 nodes for running the different components. Currently the configuration uses the m5.2xlarge instance type which provides 8 vCPUs, 32GB RAM, and an EBS backed root volume.
+    4. Runs commands on the EC2 nodes after they are started (5 minutes according to the docs) to install software and configure them.
+    5. Creates DNS A records for the EC2 nodes.
+
+## Prerequisites
+
+You will need to download and install the correct Terraform [CLI](https://www.terraform.io/downloads) for your platform. Put the `terraform` binary on your PATH.
+
+## Shared State
+
+The `shared_state` directory contains a Terraform configuration for creating an S3 bucket and DynamoDB table. These objects only need to be created once and are used for sharing the Terraform state with a team. To read more about this see [remote state](https://www.terraform.io/docs/language/state/remote.html). I used [these](https://blog.gruntwork.io/how-to-manage-terraform-state-28f5697e68fa) instructions for creating these objects. This configuration is simple, there are no variables, but you may need to change the aws region in `main.tf`. If you change the name of the S3 bucket or DynamoDB table, then you will need to update the `main.tf` file in the `aws` directory. To create the S3 bucket and DynamoDB table, run `terraform init`, followed by `terraform apply`.

Review comment:
       > I used [these](https://blog.gruntwork.io/how-to-manage-terraform-state-28f5697e68fa) instructions for creating these objects.
   
   I assume you are talking about this? In this case, the 2nd occurrence of `these` is a reference to the objects in the shared_state directory.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org