AWS OpsWorks - New Resources Tab

AWS OpsWorks updated quietly their back-end today, and introduced new tab called Resources. Most interestingly, I had to update the IP address of one of our client servers because of migration from non-opsworks managed servers to new, OpsWorks managed server. And surprise - there was new tab!



What you can do within the Resources tab?
  • Register available volumes to existing stack
  • Assign elastic IP to a different instance (even in different stack)

Registering volumes

You can find available volume and register volume to a Stack. Then, you can assign the volume to stopped instance, as seen on screen shot. You can change name and mounting point, if needed.


Reassigning elastic IPs

In my case, I had a server running with elastic IP assigned to it, and I did not want to go in and change A record because it would take too much time and it would probably upset client if DNS update may take up to 72 hours around the globe. Therefore, decided to point elastic IP to new server which I ran using OpsWorks stack.
My first thought was to do the update using AWS APIs, but surprise - new Resources tab comes handy; I can select unregistered Elastic IP address and register it to Stack, and then assign IP address to selected instance. After 1 minute, the change was completed (apparently this is caused by OpsWorks and AWS internals) and everything was back to normal.

Conclusion

Why reassigning elastic IP is important feature in OpsWorks? Well, cloud hardware gets old, too. I have received too many emails recently from AWS that instance is scheduled for retirement. Stop-start is not an option, you need client website up and running. To solve the problem you can create another instance in the stack and remap the IP using standard OpsWorks calls, then kill the bad instance and client will never ever notice downtime. What concerns me, I will probably automate the instance failover using available AWS APIs.

Comments

Popular posts from this blog

Stubbing and Mocking Static Methods with PHPUnit

Enable HTTP/2 Support in AWS ELB

How To Attach Your EBS volume to multiple EC2 instances