This repository is a walk through of scripts that were made to quickly set up an automated VDI - Virtual Desktop Infrastructure - using the Apache Guacamole using Amazon EC2 Spot Instances.
This sample is an AWS automation to integrate with Apache Guacamole using Eventbridge Rules and Lambda Functions to detect EC2 events in the VPC and create or remove connections in the Guacamole
This demo is configured to run in sa-east-1. If you need to run it in a different region, edit the AWS_REGION variable in all the scripts.
You will need:
- VPC with one public subnet and one or two private subnets, a NAT Gateway and/or Proxy or the AWS Network Firewall
- Apache Guacamole installed
- Guacamole API Credentials
- S3 Bucket shared with the Organization or Account with the AWS Service Catalog Products
- A domain or subdomain
- Apache Guacamole setup:
a) install Guacamole in EC2 instances or ECS/Fargate containers
b) configure a domain or subdomain in the Route53 or your DNS
c) configure the domain and validate in ACM - Amazon Certificate Manager
d) setup ALB to listen in 443 port and attach the Certificate from ACM
e) configure a target group point to Guacamole instances
f) create a Guacamole API user - Create S3 BUCKET to save Service Catalog Templates files and the Userdata scripts
- Create SSM secure Parameters with guacamole api password and windows user passwords
- Run the solution cloudformation script vdi-automated-solution.yaml
- Now just scheduele an Eventbridge Rule with a target to Lambda functions to create (CreateProductScheduledbyEventBridge) and Remove (DeleteProductScheduledbyEventBridge) Service Catalog products. Here you can find a python sample to create the Eventbridge Rules sample here
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.
