Granting user access to a single Amazon S3 bucket.

Granting an IAM user access to a single bucket is really easy:

  1. Create a User in IAM via the Amazon Web Console
  2. Assign that user the following policies via: Settings > Attach User Policy > Custom Policy
{
  "Statement": [
    {
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::bucketname",
        "arn:aws:s3:::bucketname/*"
      ]
    }
  ]
}
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:ListAllMyBuckets",
      "Resource": "arn:aws:s3:::*"
    }
  ]
}
  1.  

Code as documentation

You often read about the value of code comments and good meaningful variable/method/object names. Yet sometimes when your coding your under presume to release a patch, or you think to yourself who wouldn’t understand this code it’s so beautifully laid out and formatted.

Today I fell victim to my own beautifully laid out and formatted code. Yikes!

...
 and left(accno, 1) in ( '2', '3', '4', '5', '9' ) 
...

I’m sure at the time I was very familiar with why accounts that started in that range were important but a few months on I cannot remember.

From this day forth I promise to do Code as Documentation mum!

Simple load testing for Rails apps

If your looking for a really quick and easy way to load test a deployed Rails app you can’t get much simpler than Apaches ab tool.

To load test public pages just use 

ab -n100 -c5 -t10 http://google.co.za/

-n requests Number of requests to perform
-c concurrency Number of multiple requests to make
-t timelimit Seconds to max. wait for responses

To load test secured pages you will need pass cookie information  

ab -n100 -c5 -t10 -C identifier=cookie http://mysite.co.za/secured_page

Getting the cookie details using Chrome is really easy. 

1. Login to the secured area

2. Find the request in Developer Tools => Network

3. Look for the cookie details in the response headers

Happy load testing!

 

 

 

How do you bounce a server when your not behind your desk…?

I had this situation today… a staging server went wonky to the extent that I couldn’t ssh in. Luckily I have an iPhone so I could reboot the VPS via my hosting providers web based control panel, which I have to say has been rock solid. Over the last 3 years I had only 4 outages basically 99.99 uptime.

So my question is can’t we have an url to reboot the server that we can bookmark? Something that will authenticates me and kicks of the reboot same as if I did it via the control panel.

Let me know your thoughts I’m very curious.