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...

check_http Gives 403 Forbidden Error Monitoring Site via AWS Application Load Balancer (ALB)

We’ve started to host websites on AWS, we want to monitor using NagiosXI, but we got some odd results when first attempting to. The web application has no “index.html” page, which is one cause of the 403 forbidden error. However we were getting the same thing even when specifying the correct path. It turns out […]

More...