AWS Route53 – Creating and Using a Hosted Zone

AWS Route53 provides DNS Resolution (and DNS Registrar) services. You can use Route53 to register a domain, host the zone file and provide DNS resolution, alternatively, you can have the domain registered elsewhere, but then use Route53 to host the zone file and provide DNS resolution. There are some different options here, Route53 ties nicely […]

More...

Storing Terraform State on AWS S3 Bucket (including AWS DynamoDB for State Locking)

Building upon the example Simple Terraform Docker Example (Ubuntu Linux), we’ll store our Terraform State in AWS S3 Bucket, rather than just locally on the machine running Docker. Yes, I know its not a very useful example, but it simply illustrates the mechanism and how it can be used for more useful and complex deployments. Storing […]

More...

Set Default Root Object for Statically Hosted Website on AWS CloudFront (AWS CloudFront Functions)

A standard AWS CloudFront distribution is set to automatically serve the index.html file of a website when a client requests the root of the site, e.g. https://www.geekmungus.co.uk and does not specify any specific file or file within a sub-directory. However in certain instances your clients may request a page as follows e.g: https://www.geekmungus.co.uk/studies within which an index.html […]

More...

Static Website Hosting/Publishing using AWS S3, AWS CloudFront, SSL Certificate and Custom FQDN

Amazon CloudFront is a content delivery network operated by Amazon Web Services. Content delivery networks provide a globally-distributed network of proxy servers to cache content, such as web videos or other bulky media, more locally to consumers, to improve access speed for downloading the content (citation). Although AWS CloudFront can be used as a CDN (caching […]

More...

Simple Web Application Firewall (WAF) CloudFormation Template

A Web Application Firewall (WAF), is a layer of protection you can add to your web application. Adding a WAF to an Application Load Balancer (ALB) is pretty straightforward. You need to create at least one WebACL, to which you configure some rules (that filter the traffic), you can then attach the WebACL to the […]

More...