From 86450b3dd8bec3b76e2b2a03b8cdc8a708c5f3bc Mon Sep 17 00:00:00 2001 From: Joe Carstairs <65492573+joeacarstairs@users.noreply.github.com> Date: Sun, 5 May 2024 21:00:40 +0100 Subject: Infrastructure as code (#3) * Moves website to website/ * Adds terraform gitignores * Terraform with AWS provider * Initialises Terraform * Locals and variables for provider * Fetches SSL certificate from ACM * S3 static website bucket * CloudFront distribution * Route53 records * Deployment workflow uses secret S3 bucket suffix * Adds README --------- Co-authored-by: Joe Carstairs <65492573+Sycamost@users.noreply.github.com> --- infrastructure/route53.tf | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 infrastructure/route53.tf (limited to 'infrastructure/route53.tf') diff --git a/infrastructure/route53.tf b/infrastructure/route53.tf new file mode 100644 index 0000000..828cec2 --- /dev/null +++ b/infrastructure/route53.tf @@ -0,0 +1,35 @@ +# This hosted zone must have NS records which point to the same nameservers as +# those listed with the domain registrar. Right now, this means manually going +# into Route53Domains, finding the nameservers, and manually copying these into +# the NS records for this hosted zone. +resource "aws_route53_zone" "joeac_zone" { + name = "joeac.net" +} + +resource "aws_route53_record" "cloudfront" { + # This is the subdomain for the record. Specify the root domain by leaving it blank + name = "" + + zone_id = aws_route53_zone.joeac_zone.id + type = "A" + + alias { + name = aws_cloudfront_distribution.joeac.domain_name + zone_id = aws_cloudfront_distribution.joeac.hosted_zone_id + evaluate_target_health = false + } +} + +resource "aws_route53_record" "cloudfront_aaaa" { + # This is the subdomain for the record. Specify the root domain by leaving it blank + name = "" + + zone_id = aws_route53_zone.joeac_zone.id + type = "AAAA" + + alias { + name = aws_cloudfront_distribution.joeac.domain_name + zone_id = aws_cloudfront_distribution.joeac.hosted_zone_id + evaluate_target_health = false + } +} -- cgit v1.2.3