From a779d7b79da87daac978db111715d9597171c942 Mon Sep 17 00:00:00 2001 From: Dan Schultz Date: Thu, 12 Oct 2023 11:24:33 -0400 Subject: [PATCH 1/2] Fix a typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f269f7..33c6d53 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ This is the general workflow for provisioning and deploying a new images. Reason 6. Click "Queue plan" in the top right corner, and confirm once the workflow reaches the "Plan Finished" state. 7. Repeat steps 5-6 for each workspace once the new configuration has been rolled out across the entire fleet. -## Infrastructure Modification Worflow +## Infrastructure Modification Workflow The `instances` directory contains the Terraform configuration. You would want to make changes to Terraform to modify the infrastructure layout or hardware (e.g. new autoscaling groups, larger or more EC2 instances, etc). Our Terraform configuration currently manages all Permanent AMIs, EC2 instances, Autoscaling Groups, Launch Configurations, and Target Groups for the Load Balacers. Terraform does NOT manage: the Load Balancer itself, S3 buckets, SQS queues, VPCs, Security Groups, subnets, IAM, etc. To make changes to the infrastructure, push your changes to a branch, open a PR, and get a code review. Once the PR is merged, the change (depending on the directory they are in), should queue a `terraform plan` job our [Terraform Cloud organization](https://app.terraform.io/app/PermanentOrg/workspaces). Review the plan, and approve the changes if they look good. Terraform will then roll-out the new infrastructure. From fd7d058d2de37e73e38e74c3c8f13669abd78f00 Mon Sep 17 00:00:00 2001 From: Dan Schultz Date: Thu, 12 Oct 2023 11:26:58 -0400 Subject: [PATCH 2/2] Increase api image size As part of our work exploring the impact of the sftp service, we identified the need to increase the perfomance capability of the API server in order to handle the volume of API calls made by SFTP users [1]. Amazon provides a range of instance sizes. This choice increases the CPU capacity of the machine without expanding the memory capacity. This is because our initial benchmarks seemed to be pinning CPU usage but not putting a particularly large dent in memory. [1] https://github.com/PermanentOrg/sftp-service/issues/268 --- instances/dev/main.tf | 2 +- instances/production/main.tf | 2 +- instances/staging/main.tf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/instances/dev/main.tf b/instances/dev/main.tf index da2f8d2..1ff9631 100644 --- a/instances/dev/main.tf +++ b/instances/dev/main.tf @@ -32,7 +32,7 @@ variable "perm_env" { resource "aws_instance" "api" { ami = module.perm_env_data.backend_ami - instance_type = "m4.large" + instance_type = "c7g.xlarge" vpc_security_group_ids = [module.perm_env_data.security_group] monitoring = true private_ip = "172.31.0.80" diff --git a/instances/production/main.tf b/instances/production/main.tf index 3855ff4..29e7ed7 100644 --- a/instances/production/main.tf +++ b/instances/production/main.tf @@ -32,7 +32,7 @@ variable "perm_env" { resource "aws_instance" "api" { ami = module.perm_env_data.backend_ami - instance_type = "m4.large" + instance_type = "c7g.xlarge" vpc_security_group_ids = [module.perm_env_data.security_group] monitoring = true subnet_id = module.perm_env_data.subnet diff --git a/instances/staging/main.tf b/instances/staging/main.tf index f0c839c..2d5e756 100644 --- a/instances/staging/main.tf +++ b/instances/staging/main.tf @@ -32,7 +32,7 @@ variable "perm_env" { resource "aws_instance" "api" { ami = module.perm_env_data.backend_ami - instance_type = "m4.large" + instance_type = "c7g.xlarge" vpc_security_group_ids = [module.perm_env_data.security_group] monitoring = true subnet_id = module.perm_env_data.subnet