share facebook facebook twitter menu hatena pocket slack

2011.07.26 TUE

AWS SDK for Android EC2を扱う 接続編

櫛田 草平

WRITTEN BY 櫛田 草平

結構前になりますが、AWS SDK for AndroidがEC2をサポートしたので、使ってみたいと思っていましたが、遅ればせながら実際に試してみました。

尚、導入方法については、AWS SDK for Androidを試してみるで、 cloudpackのなかの人が書いているので、そちらを参考にしていただければと思います。
(AWSから提供されたサンプルを元にS3などについても書かれています。)

恐らくAWSからEC2に関してのサンプルは提供されていなかったと思いますので、今回は、AWSCredentialsを使ったAmazonEC2Clientへの接続から稼働しているインスタンスを取得し、情報をLogCatに出力するまでを紹介します。

以下サンプルコード

try{
 //AWSCredentialsを実装したBasicAWSCredentialsにaccessKeyとsecretKeyを定義
 BasicAWSCredentials basiAwsCredentials = new BasicAWSCredentials("accessKey","secretKey");

 //AmazonEC2Clientのインスタンス
 AmazonEC2Client amazonEC2Client = new AmazonEC2Client(basiAwsCredentials);

 //ReservationのListを取得
  List reservationList = amazonEC2Client.describeInstances().getReservations();

  for(Reservation reservation :reservationList)
  {
  //EC2のInstanceのListを取得
   List instanceList = reservation.getInstances();

   for(Instance instance :instanceList)
   {
   //インスタンスのタイプ
    Log.i("InstanceType",instance.getInstanceType());
   //インスタンスのID
    Log.i("InstanceId",instance.getInstanceId());
   }
  }
}
catch ( Exception exception ) 
{
 Log.e( "Loading AWS Exception", exception.getMessage());
}

今回使用したクラスのjavadocは、以下になります。

LogCatの出力結果です。

DescribeInstancesResultからReservationの取得、Instance取得とEC2のインスタンス取得まで結構長いです。

こちらの記事はなかの人(hiroki0907)監修のもと掲載しています。
元記事は、こちら

櫛田 草平

櫛田 草平

cloudpackで運用、保守、構築、夜間対応を担当しており、日々様々な課題に対応していますのでこの経験を記事にしていけたらと思います。 櫛田 草平