Configure and provision the WebRTC Ventures Chime Starter Kit on a high available infrastructure on AWS cloud using Terraform.
- Getting the product AMI ID: ObtainAMIID.pdf
- Module's variables details: VARIABLES.md
The following are the prerequisites needed for this setup:
- Install Terraform.
- Install AWS CLI.
- Configure Terraform for your AWS account. You may also use the AWS CLI to setup your credentials.
To provision the application you have two options as documented here with examples:
- If you manage your DNS on AWS Route53, then you can take advantage of the ACM module by setting
use_route53_hostedzone
variable totrue
, supplying the route53 hosted zone details under theroute53_hosted
variable and the hostname underapp_domain
. Ensure theacm_cert_arn
variable is set tonull
. - If you manage your DNS in a different DNS provider, you can create an ACM certificate then copy the certificate ARN from ACM console and put it under
acm_cert_arn
variable. With this option you must setuse_route53_hostedzone
variable tofalse
androute53_hosted
variable tonull
for each key within its map.
Provisioning this module successfuly will do the following:
-
Create an EC2 Auto Scaling Group with scaling alarms for CPU usage and optional ones for Network (In and Out) metrics.
-
Create an Application LoadBalancer that will ditribute traffic to your instances.
-
(Optional) If Route53 hosted zone was use, an output of the domain on which you will access your application under
application_domain
output variable. -
(Optional) If ACM certificate for TLS was manually created, the output will give you the
lb_dns_value
with which you will create a CNAME record in your DNS management console as its value:For example if my domain is
example.com
and I want my application to be accessed atmeet.example.com
; then I will create a CNAME record withmeet.example.com
as the record name andlb_dns_value
output value as its CNAME value.
With your DNS correctly updated you can reach your application on the configured domain.
For any inquiries and questions contact our team at [email protected].