Skip to content

Comments

Increase AWS IOPs and GCP GPU count#6

Open
alikhajeh1 wants to merge 3 commits intomasterfrom
test
Open

Increase AWS IOPs and GCP GPU count#6
alikhajeh1 wants to merge 3 commits intomasterfrom
test

Conversation

@alikhajeh1
Copy link
Member

@alikhajeh1 alikhajeh1 commented Mar 10, 2021

User description

Increase storage size and IOPs


Generated description

Below is a concise technical summary of the changes proposed in this PR:

Increase the storage size and IOPs for AWS instances by modifying the volume_size and iops parameters in the aws_instance resource configuration.

TopicDetails
AWS Storage Update Modify AWS instance storage parameters to enhance performance.
Modified files (1)
  • terraform-aws/main.tf
Latest Contributors(1)
EmailCommitDate
alikhajeh1@googlemail.comUpdate-IOPSApril 15, 2021
This pull request is reviewed by Baz. Join @alikhajeh1 and the rest of your team on (Baz).

@alikhajeh1
Copy link
Member Author

alikhajeh1 commented Mar 10, 2021

Ran Plan for 1 project:

  1. dir: terraform-aws workspace: default

1. dir: terraform-aws workspace: default

Show Output
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create

Terraform will perform the following actions:

  # aws_instance.web_app will be created
+ resource "aws_instance" "web_app" {
      + ami                          = "ami-674cbc1e"
      + arn                          = (known after apply)
      + associate_public_ip_address  = (known after apply)
      + availability_zone            = (known after apply)
      + cpu_core_count               = (known after apply)
      + cpu_threads_per_core         = (known after apply)
      + get_password_data            = false
      + host_id                      = (known after apply)
      + id                           = (known after apply)
      + instance_state               = (known after apply)
      + instance_type                = "m5.4xlarge"
      + ipv6_address_count           = (known after apply)
      + ipv6_addresses               = (known after apply)
      + key_name                     = (known after apply)
      + outpost_arn                  = (known after apply)
      + password_data                = (known after apply)
      + placement_group              = (known after apply)
      + primary_network_interface_id = (known after apply)
      + private_dns                  = (known after apply)
      + private_ip                   = (known after apply)
      + public_dns                   = (known after apply)
      + public_ip                    = (known after apply)
      + secondary_private_ips        = (known after apply)
      + security_groups              = (known after apply)
      + source_dest_check            = true
      + subnet_id                    = (known after apply)
      + tenancy                      = (known after apply)
      + vpc_security_group_ids       = (known after apply)

      + ebs_block_device {
          + delete_on_termination = true
          + device_name           = "my_data"
          + encrypted             = (known after apply)
          + iops                  = 800
          + kms_key_id            = (known after apply)
          + snapshot_id           = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 1000
          + volume_type           = "io1"
        }

      + enclave_options {
          + enabled = (known after apply)
        }

      + ephemeral_block_device {
          + device_name  = (known after apply)
          + no_device    = (known after apply)
          + virtual_name = (known after apply)
        }

      + metadata_options {
          + http_endpoint               = (known after apply)
          + http_put_response_hop_limit = (known after apply)
          + http_tokens                 = (known after apply)
        }

      + network_interface {
          + delete_on_termination = (known after apply)
          + device_index          = (known after apply)
          + network_interface_id  = (known after apply)
        }

      + root_block_device {
          + delete_on_termination = true
          + device_name           = (known after apply)
          + encrypted             = (known after apply)
          + iops                  = (known after apply)
          + kms_key_id            = (known after apply)
          + throughput            = (known after apply)
          + volume_id             = (known after apply)
          + volume_size           = 50
          + volume_type           = (known after apply)
        }
    }

  # aws_lambda_function.hello_world will be created
+ resource "aws_lambda_function" "hello_world" {
      + arn                            = (known after apply)
      + function_name                  = "hello_world"
      + handler                        = "exports.test"
      + id                             = (known after apply)
      + invoke_arn                     = (known after apply)
      + last_modified                  = (known after apply)
      + memory_size                    = 1024
      + package_type                   = "Zip"
      + publish                        = false
      + qualified_arn                  = (known after apply)
      + reserved_concurrent_executions = -1
      + role                           = "arn:aws:lambda:us-east-1:account-id:resource-id"
      + runtime                        = "nodejs12.x"
      + signing_job_arn                = (known after apply)
      + signing_profile_version_arn    = (known after apply)
      + source_code_hash               = (known after apply)
      + source_code_size               = (known after apply)
      + timeout                        = 3
      + version                        = (known after apply)

      + tracing_config {
          + mode = (known after apply)
        }
    }

Plan: 2 to add, 0 to change, 0 to destroy.

##### Infracost estimate #####

Monthly cost will increase by $276

Previous monthly cost: $743
New monthly cost: $1019

Infracost output:

    Project: /home/atlantis/.atlantis/repos/infracost/atlantis-demo/6/default/terraform-aws/default.tfplan
    
    ~ aws_instance.web_app
      +$276 ($743 -> $1,019)

        ~ ebs_block_device[0]

            ~ Storage (provisioned IOPS SSD, io1)
              +$250 ($125 -> $375)

             ~ Provisioned IOPS
               +$26 ($52.00 -> $78.00)
   
    Monthly cost change for /home/atlantis/.atlantis/repos/infracost/atlantis-demo/6/default/terraform-aws/default.tfplan
    Amount:  +$276 ($743 -> $1019)
    
    ----------------------------------
    Key: ~ changed, + added, - removed
  • ▶️ To apply this plan, comment:
    • atlantis apply -d terraform-aws
  • 🚮 To delete this plan click here
  • 🔁 To plan this project again, comment:
    • atlantis plan -d terraform-aws

@infracost infracost locked as resolved and limited conversation to collaborators Mar 10, 2021
@alikhajeh1
Copy link
Member Author

I wasn’t expecting ebs_block_device[0] to cost that much, you think that’s ok? Maybe we can try gp3 as AWS says that’s cheaper/faster?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant