Working with Amazon Web Services (AWS)

Today I started my journey to explore and learn more about Amazon Web Services (AWS). My mission is to setup a wordpress blog completely in the cloud. This blog post is just a mention about the journey and will be posting things in detail in the days to come.

What I did so far as follows..

  • Created a new EC2 instance with Basic 32-bit Amazon Linux
  • Logged into the instance and installed Apache, PHP and mysql client tools
  • Created a new RDS instance with mysql version 5.1.50
  • Added EC2 instance IP in RDS for allowing access.
  • Installed wordpress on the EC2 instance and configured the database
  • Created a new elastic volume storage for 1GB and attached the same to EC2 instance
  • Formatted the elastic volume storage and mounted the same for wordpress upload directory.
  • Created a new Elastic IP and attached the EC2 instance to the IP.
  • Created a cname cloud for imthi.com and pointed the A level record to the Elastic IP
  • The blog cloud.imthi.com is ready that is hosted in Amazon cloud 🙂

Phew, trust me it was not easy and I had to create and delete many EC2 instances to understand how things work. I am not sure whether the setup I had done is the best way.. I did some load test on the setup and it was not looking good

My next mission is to fire up multiple EC2 instances and to use a load balancer to handle the load so that the graph will look better in the days to come 😉

By Imthiaz

Programmer, SAAS, CMS & CRM framework designer, Love Linux & Apple products, Currently addicted to mobile development & working @bluebeetle

4 comments

  1. Hello!

    What did you use to load test? I haven’t messed with AWS yet but i am interested in the near future.
    When you say instance, what do you mean by it though? Sorry, im very new to it.

    1. I used loadimapact.com to simulate the load on the server. On normal scenarios everything thing looks charming and amazing. When you have very high traffic even writing a simple file to the disk can take ages.

      With Amazon EC2 you can create any number of virtual servers of your needed configuration options. They have micro to very large scale virtual servers. When you create a virtual server in EC2 we call that server as one instance. Hope this helps.

  2. We’re considering moving over to an AWS solution as well. I’m curious to know if you have your MySQL hosted on a separate instance from the load balanced WordPress installs? I’m trying to figure out how to keep them all in sync.

    1. Hi Marshall

      You can use RDS mysql instance for sharing your database across all the WordPress instances. RDS is highly available and can be scaled if needed. We have a another instance which configured with GlusterFS and wp-content directory is mounted for all the wordpress instances. By this you will have common uploaded files. And then we push the uploaded media to S3 bucket. For that I have developed a plugin named wp-s3.

      Hope this helps.

      Cheers
      Imthiaz

Comments are closed.