summaryrefslogtreecommitdiff
path: root/infrastructure/route53.tf
diff options
context:
space:
mode:
authorJoe Carstairs <65492573+joeacarstairs@users.noreply.github.com>2024-05-05 21:00:40 +0100
committerGitHub <noreply@github.com>2024-05-05 21:00:40 +0100
commit86450b3dd8bec3b76e2b2a03b8cdc8a708c5f3bc (patch)
tree7576d8863193369adc87dd80d91a3d5d3f58ede1 /infrastructure/route53.tf
parent579e12cfebce9a70ab2adf5842e2673673a707d2 (diff)
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>
Diffstat (limited to 'infrastructure/route53.tf')
-rw-r--r--infrastructure/route53.tf35
1 files changed, 35 insertions, 0 deletions
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
+ }
+}