Grant Elastic Beanstalk Environment Access to RDS Automatically

Today, let’s take a colloquial look at automatically granting ingress access to your Elastic Beanstalk apps that need to use RDS resources. When we first started, we brought up our RDS instance and our Elastic Beanstalk instance. The two weren’t connected. Of course, as soon as the instance tried to connect to the SQL Server, it couldn’t. Why? Because the RDS security group blocks all access by default, only allowing in what you specify.…

Set IIS Idle Timeout Automatically on Elastic Beanstalk

So, you’re running an ASP.NET app in IIS on Elastic Beanstalk and trying to figure out how to keep the app from shutting down due to idleness. Read on, my friend. The answer to your problem lies below. As you’re no doubt aware, low-traffic ASP.NET web apps can time out on IIS due to idleness. This is the server’s way of helping you conserve resources and make sure the machine is available to serve higher demand applications.…

Auto Install Windows New Relic Agents in AWS Elastic Beanstalk

We use New Relic for Application Performance Monitoring on our ASP.NET and node.js applications. Recently, we’ve started moving our infrastructure from on-premise into Amazon Web Services (AWS). Because we’re just beginners, we started out with the Elastic Beanstalk service, which allows us to easily deploy new versions of our applications backed by a decent infrastructure. In an on-premise situation, we’d manually install the .NET Agent and the Infrastructure Agent. But working with Elastic Beanstalk means we need to take a different approach to keep things efficient and consistent.…

Notebook Heavy is Now Static

The site you’re reading is now statically hosted on AWS S3. Because the only thing that doesn’t change is change and my site doesn’t change that much so I decided to change it to something that doesn’t change. - me I decided to switch Notebook Heavy from a dynamically generated, traditional blogging engine, to one that is written offline and statically rendered. The reasons are both financial and operational, so read on to find out more about what I did and why.…

AWS Security Group Secures RDS by Default

Turns out, AWS security groups secure your stuff, even if you don’t know it. At my employer, we finally got access to Amazon Web Services (AWS) and Vinyl Deals runs on Microsoft’s Azure cloud. Despite the fact that I’ve written articles about AWS before, my familiarity with modern AWS is still in the beginning phase. On day one playing with our shiny new AWS tools, I set up a development SQL Server using RDS.…

Dave. Read This When You Upgrade Ghost

This post is really a message to myself in the future for the next time I try to upgrade Ghost. Dave. You just tried to upgrade Ghost again and it’s not working, right? Dude, what is your problem? Let’s go through the checklist: Did you clear out the existing core directory before you copied the new one over? You know, like the upgrade instructions said you should? No? Well, try that one and redeploy.…

Actual Client IP Address on Azure WebSites with CloudFlare

Over at Vinyl Deals, I use CloudFlare to handle some caching and firewall issues. Like any good server admin, I check my logs to make sure the app is running smoothly so people can find those sweet record deals. But sometimes I notice a strange uptick in traffic on the back-end that doesn’t show up in the front-end analytics. Usually, this means it’s just a bot. Often it’s Googlebot, which I’m totally fine with.…

SQLite Problems with Ghost on Azure

I just wanted to upgrade my blog from the ancient version 0.4.2 of Ghost to the brand spankin’ new 0.7 release. I followed the Ghost upgrade guidance, adjusting it to fit my build which deploys from GitHub to Azure Web Sites. But after the deployment, neither the blog nor the admin console showed up. Just a blank, white screen. The favicon still showed up, so at least I had that going for me.…

My Top 5 Books of 2014

In 2013, there were 304,912 traditional print books offered for sale. The numbers aren’t yet in for 2014, but it’s probable that a similar number awaits. Of those ~300,000 new books, I read 22. That’s a solid .00733% of new books I plucked from obscurity (i.e. the best seller lists) and injested into my brain. Of course, not all books are great. Some are terrible and some are meh. But thanks to the beauty of a normal distribution curve, it’s inevitable that some books are spectacular.…

Azure Mobile Services with AngularJS $resource

Microsoft released the ability to create custom APIs with Azure Mobile Services in June 2013 and released the JavaScript client for Azure Mobile Services (AMS) even earlier in March 2013. The JavaScript client is excellent and easy to use, but it doesn’t play well with AngularJS. Actually, that’s not true. It plays just fine with AngularJS but it requires you to use $scope.$apply() when you’re working with the data retrieved.…