In a recent investigation, we found an interesting difference between AWS command line tools (based on Boto library) and AWS Web interface. Apparently, command line tools are case sensitive while AWS Web interface is not. This can potentially lead to automated scaling issues. Tooling may not get ‘the full picture’ if tags are mixed-case and software does not account for that.

Lets start with simple example …

We have the following EC2 instances in AWS Account:
Screen Shot 2014-06-02 at 10.03.04 AM

Search for the term ‘TEST-NODE’ yields the same results as searching for ‘test-node’ in the AWS Web interface.

Searching for ‘TEST-NODE':
Screen Shot 2014-06-02 at 10.03.27 AM

Searching for ‘test-node':
Screen Shot 2014-06-02 at 10.03.49 AM

… it behaves the same way. It is case-insensitive.

However, commend line tools will produce totally different output.

Searching for ‘TEST-NODE':

Searching for ‘test-node':

Python + Boto shows the same behavior (not surprisingly, AWS CLI uses Boto):

Searching for ‘TEST-NODE':

Searching for ‘test-node':

Moral of the story: ALWAYS VERIFY/ENFORCE THAT DATA IS PROPERLY FORMATTED!

There are multiple possible solutions to this issue. With the cost of few extra cycles one can make sure proper comparison is implemented:

References

Share on LinkedIn0Tweet about this on TwitterShare on Facebook0Share on Google+0Email this to someone