/Michael Ludvig

About Michael Ludvig

New Zealand based IT Professional focused on Architecting, Designing and Implementation of Amazon Web Services solutions for customers. Works for Enterprise IT in Auckland, New Zealand. Learn more...

Crypto mining on AWS and GCP after “The Merge”

Yes, you can still mine crypto in the public clouds even after the Ethereum switch to Proof of Stake!

By |September 6th, 2022|Projects|1 Comment

The new AWS instance that makes ETH mining profitable

Mining Ethereum on AWS until now wasn’t profitable. This new AWS instance is the game changer that no only breaks even but can finally make you money!

By |January 2nd, 2022|Projects|19 Comments

CloudFormation Service Roles

Sometimes we want to give users the ability to create pretty much anything with CloudFormation but at the same time prevent them from doing the same through the console or aws-cli. Perhaps it's a company policy that everything must be managed using CloudFormation. Or on the other hand you may have Admin privileges but want [...]

By |August 10th, 2019|Best Practice|3 Comments


EC2 instances, RDS database and many other resources reside in VPCs. To access them we need a network connectivity - either through a VPN, Direct Connect, or through a Jump / Bastion Host. That's stating the obvious. Sometimes, however, it's inconvenient or difficult to achieve a direct connectivity ad-hoc - maybe you are in a [...]

By |July 21st, 2019|Projects|7 Comments

SSM Sessions the easy way

In the previous post - Using SSM Session Manager for interactive instance access - I showed you how to access EC2 instances through AWS Systems Manager (SSM) Sessions without having to open Security Groups or firewall ports, maintain SSH keys, VPNs, Jump Hosts, and so on. The native way for starting a SSM Session with [...]

By |May 27th, 2019|Projects|10 Comments

Using SSM Session Manager for interactive instance access

You may argue that interactive login to EC2 instances should never be needed. Everything is dynamic, automated, self healing, centrally logged, and so on and there is no place for human interaction, right? But lets be honest - the world isn't perfect and we all sometimes need to jump into bash to do stuff for [...]

By |May 25th, 2019|Best Practice|7 Comments

CloudFormation package & deploy

Easily deploy complex CloudFormation templates with external resources such as Lambdas or nested stacks.

By |February 20th, 2019|Best Practice|8 Comments

IP-Ranges Updater

Back in March I wrote about a command line script filter-ip-ranges that can parse the Amazon-published ip-ranges.json file and look up address ranges by region, service or IP address. That's handy for the occasional manual use or for creating or updating some whitelists or Security Groups through aws-cli. But running an aws-cli script from cron [...]

By |December 28th, 2018|Projects|2 Comments

New C5 / M5 / T3 instance disk names

When we started using the new C5, M5 or T3-class instances (e.g. t3.micro, m5.large, m5d.large, c5.xlarge, etc) we noticed that the disk device names are no longer the classic /dev/sda1 or /dev/xvda that we were used to for years. The new root disk name is /dev/nvme0n1 with the partition device names being /dev/nvme0n1p1, /dev/nvme0n1p2, [...]

By |October 2nd, 2018|Misc|0 Comments

CloudFormation Exports

If you are a CloudFormation user you have probably come across a situation where an ID of a resource created in one stack (e.g. Subnet ID from VPC-Stack) is needed in another, independent stack, for example to create an EC2 instance in EC2-Stack. The traditional approach is to pass Outputs from one template to Parameters [...]

By |September 17th, 2018|Best Practice|2 Comments