Browsed by
Category: Azure

terraform-azurerm-jmusicbot 2.0: Self-Updating, Always-On Cloud Solution for JMusicBot

terraform-azurerm-jmusicbot 2.0: Self-Updating, Always-On Cloud Solution for JMusicBot

From Manual Deployments to Cloud Automation: A Discord Music Bot Journey About two years ago, YouTube cracked down on Groovy Bot and other popular music bots for Discord. This left many servers, including ours, without a reliable way to play music. That’s when I decided to set up our solution using Jagrosh’s Java-based JMusicBot. The Beginning: Basic and Manual I started with a simple plan: a basic Terraform module that set up a VM in Azure and installed JMusicBot. It…

Read More Read More

Introducing: terraform-azurerm-jmusicbot v1.1.0 – Cost Savings, Azure Function, and Linux Service Creation

Introducing: terraform-azurerm-jmusicbot v1.1.0 – Cost Savings, Azure Function, and Linux Service Creation

The first version of tf-jdiscord module was just okay. I had to manually deploy it to Azure whenever someone in my Discord wanted to play a song or when I was in the mood for some background music. We’re pretty big on music, so that ended up being a frequent task—over 50 manual deployments in the last year alone. Needless to say, the constant cycle of applying and destroying the module got old fast. The real issue arose when I’d…

Read More Read More

AzNonComplianceReport.ps1: A PowerShell Script to Output a CSV of Non-compliant Resources From Azure Policy

AzNonComplianceReport.ps1: A PowerShell Script to Output a CSV of Non-compliant Resources From Azure Policy

In Azure, you often have to deal with non-compliant resources and their associated details. You might think Microsoft would provide a native export tool to do this through the Azure portal. However, there is no direct way to export a list of non-compliant resources for a specific tenant, subscription, or policy assignment. That’s why I created the AzNonComplianceReport PowerShell script to generate a list of non-compliant resources that need remediation. How to Use The AzNonComplianceReport is simple to use: Once…

Read More Read More

terraform-azurerm-storage-account: A Terraform Module to Deploy ‘Secure By Default’ Storage Accounts

terraform-azurerm-storage-account: A Terraform Module to Deploy ‘Secure By Default’ Storage Accounts

As organizations increasingly rely on cloud storage solutions, securing data becomes paramount. Storage accounts offer a scalable and durable storage option in the Azure cloud. To simplify the process of provisioning secure storage accounts, I have developed a Terraform module called terraform-azurerm-storage-account. In this blog post, I will guide you through the features and benefits of this module. The Importance of Secure Defaults Using the default settings when provisioning a new storage account can create several vulnerabilities. For instance, by…

Read More Read More

Terraform Module to Restrict App Service Plan SKUs: Inspired by AZAdvertizer

Terraform Module to Restrict App Service Plan SKUs: Inspired by AZAdvertizer

In Azure, maintaining compliance and minimizing risk is a constant challenge. This is particularly true when managing App Service Plans for a tenant(s), where unrestricted use of all SKUs can introduce risk. This becomes crucial in environments where adherence to specific App Service Plans is a requirement. Alternatively, in a remediation scenario, if your organization lacks governance and has created numerous improperly specified App Service Plans, you can first remediate these, and then deploy and assign this policy definition. To…

Read More Read More

terraform-azurerm-disallow-ragrs-policy: A Terraform Module to Prevent or Audit the Creation of Standard_RAGRS Storage Accounts

terraform-azurerm-disallow-ragrs-policy: A Terraform Module to Prevent or Audit the Creation of Standard_RAGRS Storage Accounts

As Azure engineers, we need to be prudent in managing our resources. One such resource is storage accounts. The default option when creating a storage account via the Azure portal or CLI is Standard_RAGRS SKU, which is usually overkill. Here, we introduce the terraform-azurerm-disallow-ragrs-policy module that helps enforce cost-effective use of storage by preventing or auditing the creation of Standard_RAGRS storage accounts. Understanding the Standard_RAGRS vs Standard_GRS Dilemma Standard_RAGRS (Read-Access Geographically Redundant Storage) offers geo-replication across two regions, with read-only…

Read More Read More

terraform-azurerm-aznamingtool: A Terraform Module to Deploy Microsoft’s Azure Naming Tool

terraform-azurerm-aznamingtool: A Terraform Module to Deploy Microsoft’s Azure Naming Tool

Struggling with inconsistent Azure resource naming? You’re not alone. Manually managing naming standards for various resources can be both time-consuming and error-prone, which may cause confusion later on. To address this, Microsoft created a free .NET core application called AzNamingTool. With a bit of configuration, this tool can generate compliant and consistent names for all Azure resources. I was inspired to create this Terraform module after reading a blog post from Microsoft MVP, Luke Murray. In his post, Luke uses…

Read More Read More

terraform-azurerm-jmusicbot: A Terraform Module to Deploy JMusicBot into Azure

terraform-azurerm-jmusicbot: A Terraform Module to Deploy JMusicBot into Azure

Have you ever been in a Discord server with a music bot that keeps going offline? It can be frustrating for the server members and those hosting the bot on their personal machines. That’s where TF-JDiscordBot comes in. This Terraform module installs, configures, and runs JMusicBot (https://jmusicbot.com/) on an Ubuntu 18 instance hosted in the Azure cloud. This way, you can have a reliable music bot for your Discord server without worrying about your personal machine being online 24/7. Update:…

Read More Read More

Managing Resources Using Azure Resource Inventory and PowerShell – My Living Collection of PS Scripts

Managing Resources Using Azure Resource Inventory and PowerShell – My Living Collection of PS Scripts

Introduction Coming into a new Azure tenant as part of a new position or when engaging with a new client can be challenging. Often the environments are very complicated, containing different management groups, many many subscriptions, and 100s of resource groups across said subscriptions. An excellent way to get a comprehensive overview of all resources within an Azure tenant is to use the Azure Resource Inventory Report (ARI). The ARI was created by Microsoft Azure Engineers back in 2018 and…

Read More Read More

Part 5 – Configuring Budget and Resource Utilization Alerts

Part 5 – Configuring Budget and Resource Utilization Alerts

Part 5 of 5 from the series Deploying a Cheap, Secure, and Automated WordPress Website on Azure. Prerequisites:-Completed part 4 where we generated an SSL certificate and configured end-to-end HTTPS encryption for our site. At this stage in the setup, we have a fully functional and secure WordPress site with a process to automatically renew our SSL certificates for free. If you are like me, you are trying to run a WordPress site without breaking the bank. In that spirit,…

Read More Read More