24時間365日フルマネージドホスティングサービスのデイーネット

[aws-sdk] aws-sdk for rubyの簡単な利用イメージ

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_ec2.png

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関連の記事を掲載予定です。

  • このページの先頭へ

  • 東京本社
    〒105-0001東京都港区虎ノ門2-3-22 第一秋山ビル5F
    TEL:03-3591-8887 FAX:03-3591-8886
  • 大阪本社
    〒541-0041 大阪市中央区北浜2-6-11北浜エクセルビル5F
    TEL:06-6231-8887 FAX:06-6231-8897

  • 認証範囲はこちらをご覧ください。

Denet logo

クラウドサービス・データセンタ・高機能専有サーバ・共有サーバホスティングサービス 株式会社ディーネット
dot_bar