share facebook facebook twitter menu hatena pocket slack

2012.01.13 FRI

AWS SDK for Android ELB配下の各インスタンスの状態を確認する

櫛田 草平

WRITTEN BY 櫛田 草平

今回は、ELBに紐づいたインスタンスの状態を確認する方法を紹介します。
describeInstanceHealthで取得しますが、他の関数と同じくリクエスト用に値を定義するクラス、DescribeInstanceHealthRequestが用意されています。

//DescribeInstanceHealthRequestのインスタンス
DescribeInstanceHealthRequest describeInstanceHealthRequest = new DescribeInstanceHealthRequest();
//取得対象となるELBの名前を定義
describeInstanceHealthRequest.setLoadBalancerName("hogehoge-Default-Environment");

//ELBに紐づいたインスタンスの状態を取得
DescribeInstanceHealthResult describeInstanceHealthResult = amazonElasticLoadBalancingClient.describeInstanceHealth(describeInstanceHealthRequest);

//DescribeInstanceHealthResultからInstanceStateのListを取得
List instanceStates = describeInstanceHealthResult.getInstanceStates();

//状態を出力して確認
for(com.amazonaws.services.elasticloadbalancing.model.InstanceState instanceState :instanceStates)
{
//各インスタンスのIDと状態を確認
Log.i("InstanceId:State", instanceState.getInstanceId() + ":" + instanceState.getState());
}

下記が、実際の出力結果になります。

InstanceStateクラスはEC2のものではなく、elasticloadbalancingのものが該当するので注意する必要があります。

また、ReferenceによるとELBの名前指定による配下のインスタンス全件取得も可能のようですが、インスタンスをListで個別指定して取得することも可能のようです。

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

櫛田 草平

櫛田 草平

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

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。