AWS Resource Access Manager — Multi Account Resource Governance

With a multi-account approach of building the infrastructure, there is always a challenge of provision and governance of the resources to subordinate accounts within the Organization. Provision resources, keep them up to date, and decommission them properly — that’s only a part of them. AWS has numerous solutions that help make this process reliable and secure, and the Resource Access Manager (RAM) is one of them. In a nutshell, the RAM service allows you to share the AWS resources you create in one AWS account with other AWS accounts....

September 25, 2021 · Serhii Vasylenko

Run Ansible playbook on mac1.metal instances fleet with AWS Systems Manager

In days of containers and serverless applications, Ansible looks not such a trendy thing. But still, there are cases when it helps, and there are cases when it combines very well with brand new product offerings, such as EC2 Mac instances. The more I use mac1.metal in AWS, the more I see that Ansible becomes a bedrock of software customization in my case. And when you have a large instances fleet, the AWS Systems Manager becomes your best friend (the sooner you get along together, the better)....

May 27, 2021 · Serhii Vasylenko

Configure HTTP Security headers with CloudFront Functions

A couple of weeks ago, AWS released CloudFront Functions — a “true edge” compute capability for the CloudFront. It is “true edge” because Functions work on 200+ edge locations (link to doc) while its predecessor, the [email protected], runs on a small number of regional edge caches. One of the use cases for [email protected] was adding security HTTP headers (it’s even listed on the product page), and now there is one more way to make it using CloudFront Functions....

May 21, 2021 · Serhii Vasylenko

Using TinyPNG Image Compression From MacOS Finder Contextual Menu

I just wanted to compress one image, but went to far… or “How to add TinyPNG image compression to your macOS Finder contextual menu.” What is it and how it works You select needed files or folders, then right-click on them, click on the Services menu item and choose TinyPNG. After a moment, the new optimized versions of images will appear near to original files. If you selected a folder along with the files, the script would process all png and jpeg files in it....

February 14, 2021 · Serhii Vasylenko

Customizing mac1.metal EC2 AMI — new guts, more glory

I guess macOS was designed for a user, not for the ops or engineers, so this is why its customization and usage for CI/CD are not trivial (compared to something Linux-based). A smart guess, huh? Configuration Management Native Apple’s Mobile device management (a.k.a MDM) and Jamf is probably the most potent combination for macOS configuration. But as much as it’s mighty, it is a cumbersome combination, and Jamf is not free....

February 1, 2021 · Serhii Vasylenko

Terraforming mac1.metal at AWS

Updated on the 23rd of October, 2021: Terraform AWS provider now supports Dedicated Hosts natively In November 2021, AWS announced the support for Mac mini instances. I believe this is huge, even despite the number of constraints this solution has. This offering opens the door to seamless macOS CI/CD integration into existing AWS infrastructure. So here is a quick-start example of creating the dedicated host and the instance altogether using Terraform....

January 20, 2021 · Serhii Vasylenko

mac1.metal EC2 Instance — user experience

Amazon EC2 Mac Instances Something cool and powerful with inevitable trade-offs. As everything in this world. AWS announced EC2 macOS-based instances on the 30th of November 2020, and after more than a month of tests, I would like to share some findings and impressions about it. First of all, the things you can easily find, but it’s still worth to say: The new instance family is called mac1.metal. Guess we should expect mac2 or mac3; otherwise, why did they put a number in the name?...

January 19, 2021 · Serhii Vasylenko

AWS CloudShell

A simple but cool announcement from AWS — AWS CloudShell. A tool for ad-hoc AWS management via CLI directly in your browser. I like when AWS releases something simple to understand and yet powerful. So it is not another DevOps Guru, believe me :) Yes, this is similar to the shells that GCE and Azure have. No, you can’t access your instances from it, so it’s not a jump server (bastion host)....

December 16, 2020 · Serhii Vasylenko

Terraform Workflow — Working Individually and in a Team

The work with Terraform code may become tangled sometimes. Here are some guides on how to streamline it and make it transparent for you and your team. It is extremely helpful in a team, and can benefit you even if you work individually. A good workflow enables you to streamline a process, organize it, and make it less error-prone. This article summaries several approaches when working with Terraform, both individually and in a team....

September 16, 2020 · Serhii Vasylenko

Terraform Certification Tips

I successfully passed the “HashiCorp Certified — Terraform Associate” exam last Friday and decided to share some advice for exam preparation. Make yourself a plan Make a list of things you are going to go through: links to the study materials, practice tasks, some labs, some articles on relative blogs (Medium, Dev.to, etc.). It should look at a “todo” or “check”-list. It may seem silly at first glance, but the list with checkboxes does its “cognitive magic”....

September 15, 2020 · Serhii Vasylenko