如何枚举运行ec2实例并使用ruby将它们加载到数据库中?

我正在使用aws-sdk gem,我无法想出如何列出所有正在运行的ec2实例并将它们加载到数据库中。

我需要一个如何做到这一点的方法。

require 'aws-sdk-v1' ec2 = AWS::EC2.new( access_key_id: 'YOUR_ACCESS_KEY_ID', secret_access_key: 'YOUR_SECRET_ACCESS_KEY', region: 'YOUR_EC2_REGION' ) ec2.instances 

http://docs.amazonwebservices.com/AWSRubySDK/latest/frames.html

上面的答案将返回所有实例,而不仅仅是运行实例。 您可以使用filter仅获取正在运行的实例:

 ec2 = AWS::EC2.new ec2.instances.filter('instance-state-name', 'running') 

安装AWS ClI并运行以下命令以获取正在运行的实例ID的列表:

 aws ec2 describe-instances --filter "Name=instance-state-name,Values=running" \ | grep InstanceId | awk '{print $2}' | sed 's/^\"//g' | sed 's/\",$//g'