Skip to content

Instantly share code, notes, and snippets.

@onigra
Last active March 18, 2018 07:06
Show Gist options
  • Save onigra/74bc4e764a2b0bdacd4b11248250000d to your computer and use it in GitHub Desktop.
Save onigra/74bc4e764a2b0bdacd4b11248250000d to your computer and use it in GitHub Desktop.
動的にec2のipを取得する
require 'aws-sdk'
credentials = Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'])
ec2 = Aws::EC2::Client.new(region: ENV['AWS_DEFAULT_REGION'], credentials: credentials)
res = ec2.describe_instances(
{
filters: [
{
name: "tag:Environment",
values: ["Staging"],
},
{
name: "instance-state-name",
values: ["running"],
},
],
}
)
web = res.reservations.flat_map(&:instances).select { |instance|
instance.tags.any? { |tag| tag.key == "Role" && tag.value == "Web" }
}.map(&:private_ip_address)
batch = res.reservations.flat_map(&:instances).select { |instance|
instance.tags.any? { |tag| tag.key == "Role" && tag.value == "batch" }
}.map(&:private_ip_address)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment