我正在使用 aws-sdk gem,我不知道如何列出所有正在运行的 ec2 实例并将它们加载到数据库中。
我需要一种方法来做到这一点。
我正在使用 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
上面的答案将返回所有实例,而不仅仅是正在运行的实例。您可以使用过滤器仅获取正在运行的实例:
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'