AWS SDK for Javaを使う#EC2

AWS SDK for Javaを使う#EC2

Clock Icon2012.02.09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに


AmazonEC2S3EC2S3使 AWS調AWSAWS SDK

使


OS : MacOS X 10.7.2

Java : 1.6.0_26

Scala : 2.9.1 final

SBT : 0.11.2


AWS

Amazon EC2


AWS使1Amazon EC2 EC2 AWS Management Console


HOME


API使EC2 AWS SDK for Java

JavaScala ScalaSimple Build Tool(sbt使 MacHomebrew
% brew install sbt



% mkdir aws
% cd aws
% mkdir -p src/main/scala
% mkdir -p src/test/scala
% mkdir -p lib

libaws-java-sdk-1.3.1/libjarthird-partyjar src/main/scala

src/main/scalaAws.scalaEC2 aws-java-sdk-1.3.1samplesInlineGettingStartedCodeSampleApp.java mainEC2
import com.amazonaws._
import com.amazonaws.auth._
import com.amazonaws.services.ec2._
import com.amazonaws.services.ec2.model._
import scala.collection.JavaConversions._

object EC2Main extends App {

  val accessKey = "アクセスキー"
  val secretKey = "シークレットキー"
  //キーを渡して認証
  val credentials = new BasicAWSCredentials(accessKey,secretKey)

  //EC2クライアント作成
  val ec2 = new AmazonEC2Client(credentials)
  //スポットインスタンスオブジェクトを初期化
  val requestRequest = new RequestSpotInstancesRequest()
  //インスタンスのパラメータ設定
  requestRequest.setSpotPrice("0.03")
  requestRequest.setInstanceCount(1)
  //requestRequest.setAvailabilityZoneGroup
  
  //イメージの種類とタイプを設定
  val launchSpecification = new LaunchSpecification();
  launchSpecification.setImageId("ami-8c1fece5")
  launchSpecification.setInstanceType("t1.micro")
  //セキュリティグループを指定
  val securityGroups = List("default")
  launchSpecification.setSecurityGroups(securityGroups)
  //リクエストにセット
  requestRequest.setLaunchSpecification(launchSpecification)
  //スポットインスタンス作成のリクエスト
  val requestResult = ec2.requestSpotInstances(requestRequest)         
  val requestResponses = requestResult.getSpotInstanceRequests()

  //レスポンス情報取得  
  for (requestResponse <- requestResponses) {
    println("Created Spot Request: "+requestResponse.getSpotInstanceRequestId())
  }
}

AmazonEC2Client sbt
$ sbt
>run

AWS Management ConsoleUS East


AWS Management ConsoleEC2使

参考サイトなど

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.