結構前になりますが、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)監修のもと掲載しています。
元記事は、こちら