Lambda Functions with Newer Version of boto3 than Available by Default

During development of an AWS Lambda function utilizing the recently released AWS Cost Explorer API, the latest version of boto3 and botocore was discovered to be unavailable in the Lambda execution environment. The Lambda execution environment supported version of an AWS SDK can lag behind the latest release found on GitHub, which can cause supportability issues when writing Lambda code attempting to use the most recently added features of AWS SDKs. This blog post will explore using boto3 1.4.8 and botocore 1.8.0 despite (at the time of this writing) the Lambda execution environment defaulting to boto3 1.4.7 and botocore 1.7.37. This … Read More

VMware hosted on AWS?

Some exciting news came out of Amazon Web Services (AWS) and VMware last year with the announcement of VMware Cloud on AWS. VMware has been the bedrock of enterprise virtualization and the leading software-as-a-datacenter for years. AWS presented the world with a new way to think about datacenters and quickly became a leader in cloud computing. A limiting factor in using AWS was the vast differences in how AWS and VMware worked to accomplish similar tasks. You will find the same buzz words, such as snapshots, but not the same actions from them. This has presented the industry with a … Read More

Automatically install software to your new AWS EC2 instances

When creating an AWS EC2 instance, you can configure a startup script or list of commands to be automatically executed. The commands are performed immediately following initialization and the process allows you to start multiple configured instances. This saves time by having programs install themselves before you have ever even needed to log in. The Advanced Details section in Step 6 of creating a new EC2 instance in the AWS dashboard provides a text area to enter all commands. The example in the photo shows some commands to update and install MySQL Database on an enterprise Linux instance. This allows a user to have access to an … Read More

Compatibility of AWS EC2 API Actions and IAM Policy Resource-Level Permissions

Compatibility of AWS EC2 API Actions and IAM Policy Resource-Level Permissions

In this blog post I will examine how partial implementation of a feature of IAM policies: resource-level permissions interacts with AWS EC2 API actions to produce confusing results. Please note that AWS states in its documentation that it is planning on expanding the compatibility of resource-level permissions, so check the links at the bottom of this post for the most up-to-date information. Below is a short python program ( that utilizes the ec2:DescribeVolumes action. As you can see, I have omitted the access/secret key pair. If you wish to use this code, simply insert your access/secret key you obtained from the IAM … Read More