$ ruby ./instance_to_elb.rb
The output is a JSON containing the mapping of LB->instances as well as Instance->LBs.
require 'rubygems' | |
require 'json' | |
require 'aws-sdk' | |
ec2 = AWS::EC2.new | |
aws_elb = AWS::ELB.new | |
instances = {} | |
elbs = {} | |
parent = {} | |
aws_elb.load_balancers.each do |elb| | |
puts elb.name | |
elbs[elb.name] = Array.new | |
elb.instances.each do |instance| | |
elbs[elb.name].push(instance.tags.Name) | |
if (instances[instance.tags.Name].nil?) | |
instances[instance.tags.Name] = Array.new | |
end | |
instances[instance.tags.Name].push(elb.name) | |
end | |
end | |
parent['elb-to-instance'] = elbs | |
parent['instance-to-elb'] = instances | |
puts JSON.pretty_generate(parent) |