こんにちは! JQです。
前回は『 Amazon DynamoDB編~DynamoDBをはじめてみよう!パート⑥~ 』ということで、DynamoDBにRubyからクエリーを実行してみました。
今回は『Amazon Redshift編~RubySDKパート①~』と題して、RedshiftをRubySDKから作成してみたいと思います。
**
**
parameter_group
parameter_groupの作成
- まずはparameter_groupを作成してみます。
1#!/usr/bin/env ruby23require 'rubygems'4require 'aws-sdk'56parameter_group_name = "dev"78redshift = AWS:: Redshift.new(9 :redshift_endpoint => "redshift.ap-northeast-1.amazonaws.com",10 :access_key_id => 'xxxxxxxxxxxx',11 :secret_access_key => 'xxxxxxxxxxxxxxx'12)1314client = redshift.client1516client.create_cluster_parameter_group(17 :parameter_group_name => parameter_group_name,18 :parameter_group_family => "redshift-1.0",19 :description => "#{parameter_group_name} #{Time.now}"20)security_group
security_groupの作成
- 続いてsecurity_groupの作成をしてみます。
※IPADDRESSには接続を許可するIPを記入して下さい。
1#!/usr/bin/env ruby23require 'rubygems'4require 'aws-sdk'56security_group_name = "dev"7cidrip = “[IPADDRESS]/32”89redshift = AWS:: Redshift.new(10 :redshift_endpoint => "redshift.ap-northeast-1.amazonaws.com",11 :access_key_id => 'xxxxxxxxxxxx',12 :secret_access_key => 'xxxxxxxxxxxxxxx'13)1415client = redshift.client1617client.create_cluster_security_group(18 :cluster_security_group_name => security_group_name,19 :description => "#{security_group_name} #{Time.now}"20)2122client.authorize_cluster_security_group_ingress(23 :cluster_security_group_name => security_group_name,24 :cidrip => cidrip,25)cluster
clusterの作成
- 最後に、clusterを作成してみます。
今回は「dw.hs1.xlarge」の「SingleNode」で起動してみます。
1#!/usr/bin/env ruby23require 'rubygems'4require 'aws-sdk'56cluster_identifier = "dev"7db_name = "dev"8master_username = "masteruser"9master_user_password = "password"1011redshift = AWS:: Redshift.new(12 :redshift_endpoint => "redshift.ap-northeast-1.amazonaws.com",13 :access_key_id => 'xxxxxxxxxxxx',14 :secret_access_key => 'xxxxxxxxxxxxxxx'15)1617client = redshift.client1819client.create_cluster(20 :db_name => db_name,21 :cluster_identifier => cluster_identifier,22 :cluster_type => "single-node",23 :node_type => "dw.hs1.xlarge",24 :master_username => master_username,25 :master_user_password => master_user_password,26 :cluster_security_groups => security_group_name,27 :cluster_parameter_group_name => parameter_group_name,28 :port => 5439,29 :allow_version_upgrade => true30)3132cluster = client.describe_clusters(33 :cluster_identifier => cluster_identifier34).clusters[0]3536sleep 60 while cluster.cluster_status == :creating3738puts "Complete!"39p cluster.endpoint- 全部を繋げると以下の様になります。
1#!/usr/bin/env ruby23require 'rubygems'4require 'aws-sdk'56parameter_group_name = "dev"7security_group_name = "dev"8cidrip = “[IPADDRESS]/32”9cluster_identifier = "dev"10db_name = "dev"11master_username = "masteruser"12master_user_password = "password"1314redshift = AWS:: Redshift.new(15 :redshift_endpoint => "redshift.ap-northeast-1.amazonaws.com",16 :access_key_id => 'xxxxxxxxxxxx',17 :secret_access_key => 'xxxxxxxxxxxxxxx'18)1920client = redshift.client2122client.create_cluster_parameter_group(23 :parameter_group_name => parameter_group_name,24 :parameter_group_family => "redshift-1.0",25 :description => "#{parameter_group_name} #{Time.now}"26)2728client.create_cluster_security_group(29 :cluster_security_group_name => security_group_name,30 :description => "#{security_group_name} #{Time.now}"31)3233client.authorize_cluster_security_group_ingress(34 :cluster_security_group_name => security_group_name,35 :cidrip => cidrip,36)3738client.create_cluster(39 :db_name => db_name,40 :cluster_identifier => cluster_identifier,41 :cluster_type => "single-node",42 :node_type => "dw.hs1.xlarge",43 :master_username => master_username,44 :master_user_password => master_user_password,45 :cluster_security_groups => security_group_name,46 :cluster_parameter_group_name => parameter_group_name,47 :port => 5439,48 :allow_version_upgrade => true49)5051cluster = client.describe_clusters(52 :cluster_identifier => cluster_identifier53).clusters[0]5455sleep 60 while cluster.cluster_status == :creating5657puts "Complete!"58p cluster.endpoint実行すればClusterが立ち上がっているかと思います!
いかがでしたでしょうか?
次回は『Amazon Redshift編~RubySDKパー②~』ということで、RubySDKから今回作成したRedshiftを削除してみたいと思います。
お楽しみに!
——————————————————————————————————
ナレコムクラウドのFacebookに『いいね!』をクリックして頂くと
最新のお役立ちレシピが配信されます★
——————————————————————————————————