Nオガワです。AWS SDK for Rubyを利用する機会が増えました。
使用方法のイメージがつきやすいように、簡単な具体例をあげてみます。
AWS SDK for Ruby(v3) ドキュメント
前提
ruby環境、aws-sdkのEC2インスタンスへのインストールは割愛。
region,credentials(Access Key,Secret Access Key)の設定は済(※)。
※設定していない場合も、aws-sdkのクラスでインスタンス作成(クラス.new)時に指定可。
下記のEC2マシンの情報(インスタンスID、パブリックDNS、プライベートIP)を取得
aws-sdk-test.rb
require 'aws-sdk'
# Aws::EC2::Clientクラスを利用
client = Aws::EC2::Client.new
# タグ情報(key=Name,value=aws-sdk-test)から該当のEC2インスタンスをフィルタ
resp = client.describe_instances(filters:[{ name: "tag:Name", values: ['aws-sdk-test'] }])
# インスタンスID
puts resp.reservations[0].instances[0].instance_id
# パブリックDNS
puts resp.reservations[0].instances[0].public_dns_name
# プライベートIP
puts resp.reservations[0].instances[0].private_ip_address
実行結果
i-0bcb092643cc9750b
ec2-54-150-212-142.ap-northeast-1.compute.amazonaws.com
10.133.165.238
EC2マシンの各情報が取得できた。
参考
今回利用した「Aws::EC2::Client」クラスのリンクはこちらです。
最後に
読んでいただきありがとうございました。
aws-sdkを使うと、CLIよりも問題の特定が楽だったりします。
次回も、AWS関連の記事を掲載予定です。