terraform-aws-ec2-cloud-gaming

Before running Terraform

  • Subscribe to the NVIDIA Gaming PC - Windows Server 2019 AMI on the AWS Marketplace
  • Increase the following service quotas:
    • EC2 - General Purpose vCPUs running On-Demand (L-DB2E81BA: 8 )
    • EC2 - General Purpose vCPUs running Spot Instances (L-3819A6DF: 8)

NVIDIA Gaming PC - Windows Server 2019

https://aws.amazon.com/marketplace/pp/prodview-xrrke4dwueqv6

Update NVIDIA drivers script

      $Bucket = "nvidia-gaming"
      $KeyPrefix = "windows/latest"
      $LocalPath = "$ENV:UserProfile\Downloads\NVIDIA"
      $Objects = Get-S3Object -BucketName $Bucket -KeyPrefix $KeyPrefix -Region us-east-1
      New-Item -Path $LocalPath -ItemType "directory"
      foreach ($Object in $Objects) {
          $LocalFileName = $Object.Key
          if ($LocalFileName -ne '' -and $Object.Size -ne 0) {
              $LocalFilePath = Join-Path $LocalPath $LocalFileName
              Copy-S3Object -BucketName $Bucket -Key $Object.Key -LocalFile $LocalFilePath -Region us-east-1
          }
      }

VPN Recommendations

Requirements

Name Version
terraform >= 1.0
aws >= 4.0

Providers

Name Version
aws 4.49.0
local 2.2.3

Modules

Name Source Version
ec2_key_pair terraform-aws-modules/key-pair/aws 2.0.1
ec2_ssm_cw_basic terraform-aws-modules/iam/aws//modules/iam-assumable-role 5.10.0
sg_rdp terraform-aws-modules/security-group/aws//modules/rdp 4.0.0
tags fivexl/tag-generator/aws 2.0.0
vpc terraform-aws-modules/vpc/aws 3.11.0

Resources

Name Type
aws_ebs_volume.games resource
aws_ec2_instance_state.cloudgaming resource
aws_iam_policy.ec2_s3_custom_bucket resource
aws_instance.cloudgaming resource
aws_launch_template.cloudgaming resource
aws_servicequotas_service_quota.ec2_g_vt_running_on_demand resource
aws_servicequotas_service_quota.ec2_g_vt_spot_instance_requests resource
aws_volume_attachment.games resource
local_sensitive_file.ec2_key_pair resource
aws_ami.nvidia_gamingpc data source
aws_ami.parsec data source
aws_ami.windows data source
aws_availability_zones.available data source
aws_caller_identity.current data source
aws_iam_policy_document.ec2_s3_custom_bucket data source
aws_region.current data source

Inputs

No inputs.

Outputs

No outputs.