I recently wrote an intro to unit testing your powershell modules with Pester, and I wanted to give a walk through for our method of running these unit tests inside of a Docker for Windows container.
Showing posts with label aws. Show all posts
Showing posts with label aws. Show all posts
Monday, May 13, 2019
Saturday, February 16, 2019
Graph Your RI Commitment Over Time (subtitle: HOW LONG AM I PAYING FOR THIS?!?!?)
In my last post I talked about distributing your committed RI spend over time. The goal being to avoid buying too many 1 year RIs (front loading your spend), and missing out on the savings of committing to 3 years, but not buying too many 3 year RIs (back loading your spend) and risking having a bill you have to foot if your organization has major changes.
Friday, February 1, 2019
Saturday, January 19, 2019
Getting Started with AWS Reserved Instances
If you've been using AWS for a while you've probably built up some excess spend. The "pay as you go" nature of AWS is a double edged sword: It's easy to get a PoC up and running, but you can wind up with waste if you aren't disciplined with your cleanup.
Saturday, January 5, 2019
Diving Into (and reducing) Your AWS Costs!
AWS uses a "pay as you go" model for most of it's services. You can start using them at any time, you often get a runway of free usage to get up to speed on the service, then they charge you for what you use. No contract negotiations, no figuring out bulk discounts, and you don't have to provision for max capacity.
Wednesday, December 26, 2018
AWS Powershell Tools: Get Specific Tags
A quick AWS Powershell tools snippet post here. When you call Get-EC2Instance from the AWS Powershell tools it returns an instance object that has a Tags attribute, which is a Powershell list of EC2 Tag Objects.
I'm usually a fan of how the AWS Powershell Tools object models are setup, but this is one case where I feel there could be some improvement. Instead of using a list and forcing users to iterate the list to find the right tag, the EC2 objects "Tags" property should be a hashtable with the tag Key as the hash key so you can index directly to the object. But, this is was we have to work with for now.
Saturday, December 8, 2018
VPC Flowlogs through Cloudwatch Logs Insights
You know all those times you think to yourself, "I wish there were a faster way to search all these logs I keep putting in Cloudwatch?"
Well apparently Alexa was reading your mind at one of those times because at AWS re:Invent 2018 released CloudWatch Logs Insights. It's advertised as a more interactive, helpful log analytics solution than the log search option we already have.
Saturday, May 20, 2017
AWS Powershell Tools Snippets: S3 Multipart Upload Cleanup
My company does quite a bit with AWS S3. We use it to store static files and images, we push backups to it, we use it to deliver application artifacts, and the list goes on.
When you push a significant amount of data to and from S3, you're bound to experience some network interruptions that could stop an upload. Most of the time S3 clients will recover on their own, but there are some cases where it might struggle.
When you push a significant amount of data to and from S3, you're bound to experience some network interruptions that could stop an upload. Most of the time S3 clients will recover on their own, but there are some cases where it might struggle.
Saturday, May 13, 2017
WannaCry: Finding where SMB is allowed in AWS
WannaCry is the latest ransomware to sweep the internet and cause lots of excitement. As occasionally happens with well publicized security events like this I got to hear a former firewall admins favorite words: "Can you please take away a bunch of network access?" What fun!
I love blocking traffic as much as the next guy, but it's not a great idea to just change firewall rules willy nilly. You should always spend a little time thinking about the impacting and looking at what access it's prudent to remove. In this post I'll list a couple of the commands I used to poke around our AWS Security groups and find where SMB was allowed.
Thursday, May 11, 2017
Auditing AWS IAM Users
Like any other company with sensitive data we go through audits pretty regularly. The latest one included some questions about accounts that have access to sensitive data, and the number of auth factors required to log into them.
As usual I started digging around in the AWS Powershell Tools to find a way to make this job easier than just manually looking through accounts, and I quickly found Request-IAMCredentialReport and Get-IAMCredentialReport.
Saturday, April 15, 2017
AWS Powershell Tools Snippets: Powershell Pipes
I'm on another AWS Powershell tools rant. Hopefully after reading this blog post you'll share my appreciation for how useful they are.
Saturday, April 8, 2017
Building a Docker container for easy SSH into Opsworks Stacks
Part of the concept behind Opsworks is the ability to create and destroy instances dynamically. If your instances are configured by Chef recipes all the way from AMI to processing production workload, this is probably something you do pretty regularly.
But this probably means that the IP addresses behind your instances change regularly. At some point you might get tired of constantly going back to the Opsworks console to get an IP address, I know I did.
But this probably means that the IP addresses behind your instances change regularly. At some point you might get tired of constantly going back to the Opsworks console to get an IP address, I know I did.
Sunday, March 26, 2017
AWS Codepipeline: Alert on Stage Failure
We've been using AWS Codepipeline for some time now and for the most part it's a great managed service. Easy to get started with and pretty simple to use.
That being said, it does lack some features out of the box that most CICD systems have ready for you. The one I'll be tackling today is alerting on a stage failure.
That being said, it does lack some features out of the box that most CICD systems have ready for you. The one I'll be tackling today is alerting on a stage failure.
Labels:
aws,
cloudformation,
codepipeline,
example,
iam,
lambda,
python
Sunday, March 12, 2017
AWS CLI: Table Output
Earlier today I stumbled on an AWS CLI feature I hadn't noticed before, the "output" flag.
The default value of this flag is json, which is probably what you want most of the time. It makes it pretty easy to manipulate and pull out the data you need.
Saturday, January 28, 2017
AWS Serverless Application Model: Here we go!
AWS Serverless Application Model (SAM) was released a couple months ago. The punch line of this new release in my mind is the ability to version your lambda function code and your cloudformation template next to each other. The idea being to have completely packaged serverless application that deploy from a single repository.
Saturday, January 21, 2017
Getting an AWS IAM Certificate ARN
I was recently working on a cloudformation template that needed an ELB with an HTTPS listener. My company already has a wildcard cert uploaded to IAM for use in staging environments, so I wanted to use that cert rather than create a new one.
The classic load balancer and the newer Application Load Balancer look a little different for creating HTTPS listeners, but both require you to include the certificate ARN in your template.
The classic load balancer and the newer Application Load Balancer look a little different for creating HTTPS listeners, but both require you to include the certificate ARN in your template.
Monday, November 21, 2016
Lambda Logging to Cloudwatch
If you're an AWS user, either professionally or personally, I can't encourage you enough to try it out. Lambda is the ability to run code in a few different languages (currently Python, Node, and Java) without worrying about the server environment it runs on.
Monday, November 14, 2016
Describing AWS Instances
Amazon uses the idea of "describing" resources using filters quite a bit.
A filter in python terms is a list of maps, and each value in the map's key-value pairs can be a list. The documentation is a little light on details, intentionally I believe, because the format is extremely flexible. A few examples of using this in Python and Powershell are below
A filter in python terms is a list of maps, and each value in the map's key-value pairs can be a list. The documentation is a little light on details, intentionally I believe, because the format is extremely flexible. A few examples of using this in Python and Powershell are below
Tuesday, November 8, 2016
Example Cloudformation template for Opsworks Stack
I recently spent some time struggling through the AWS documentation to create an Opsworks Stack using Cloudformation. The AWS documentation is comprehensive for the resources available, but a little lacking on examples for how to link them together.
I thought I'd share a sanitized example of what I found, so it's below.
I thought I'd share a sanitized example of what I found, so it's below.
Tuesday, November 1, 2016
AWS Cloudformation Template Parameters
An AWS Cloudformation template represents a stack (grouping) of resources. Most companies will want to deploy these stacks into multiple environments ("Development", "Staging", "Production", etc).
Cloudformation presents an easy way to do so with a combination of template parameters and mappings.
Cloudformation presents an easy way to do so with a combination of template parameters and mappings.
Subscribe to:
Posts (Atom)