Amazon EC2 インスタンスの管理 - AWS SDK for Java 1.x

AWS SDK for Java (v1) の近日発表 end-of-support しました。AWS SDK for Java v2 に移行することをお勧めします。日付、その他の詳細、移行方法については、リンク先の発表内容を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon EC2 インスタンスの管理

インスタンスを作成する

新しい Amazon EC2 インスタンスを作成するには、AmazonEC2Client の runInstances メソッドを呼び出して、使用する Amazon マシンイメージ (AMI)、およびインスタンスタイプを含む RunInstancesRequest を指定します。

インポート

import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.InstanceType; import com.amazonaws.services.ec2.model.RunInstancesRequest; import com.amazonaws.services.ec2.model.RunInstancesResult; import com.amazonaws.services.ec2.model.Tag;

Code

RunInstancesRequest run_request = new RunInstancesRequest() .withImageId(ami_id) .withInstanceType(InstanceType.T1Micro) .withMaxCount(1) .withMinCount(1); RunInstancesResult run_response = ec2.runInstances(run_request); String reservation_id = run_response.getReservation().getInstances().get(0).getInstanceId();

完全な例をご覧ください。

インスタンスの起動

Amazon EC2 インスタンスを起動するには、AmazonEC2Client の startInstances メソッドを呼び出して、開始するインスタンスの ID を含む StartInstancesRequest 指定します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.StartInstancesRequest;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); StartInstancesRequest request = new StartInstancesRequest() .withInstanceIds(instance_id); ec2.startInstances(request);

完全な例をご覧ください。

インスタンスの停止

Amazon EC2 インスタンスを停止するには、AmazonEC2Client の stopInstances メソッドを呼び出して、停止するインスタンスの ID を含む StopInstancesRequest 指定します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.StopInstancesRequest;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); StopInstancesRequest request = new StopInstancesRequest() .withInstanceIds(instance_id); ec2.stopInstances(request);

完全な例をご覧ください。

インスタンスの再起動

Amazon EC2 インスタンスを再起動するには、AmazonEC2Client の rebootInstancesメソッドを呼び出して、再起動するインスタンスの ID を含む RebootInstancesRequest を指定します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.RebootInstancesRequest; import com.amazonaws.services.ec2.model.RebootInstancesResult;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); RebootInstancesRequest request = new RebootInstancesRequest() .withInstanceIds(instance_id); RebootInstancesResult response = ec2.rebootInstances(request);

完全な例をご覧ください。

インスタンスの説明

インスタンスをリスト表示するには、DescribeInstancesRequest を作成し、AmazonEC2Client の describeInstances メソッドを呼び出します。お客様のアカウントとリージョンの インスタンスをリスト表示するのに使用できる DescribeInstancesResultAmazon EC2 オブジェクトが返されます。

インスタンスは予約ごとにグループ化されています。それぞれの予約は、インスタンスを起動した startInstances の呼び出しに対応しています。インスタンスをリスト表示するには、まず DescribeInstancesResult クラスの getReservations' method, and then call `getInstances予約オブジェクトごとにメソッド名 getInstances を呼び出します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.DescribeInstancesRequest; import com.amazonaws.services.ec2.model.DescribeInstancesResult; import com.amazonaws.services.ec2.model.Instance; import com.amazonaws.services.ec2.model.Reservation;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); boolean done = false; DescribeInstancesRequest request = new DescribeInstancesRequest(); while(!done) { DescribeInstancesResult response = ec2.describeInstances(request); for(Reservation reservation : response.getReservations()) { for(Instance instance : reservation.getInstances()) { System.out.printf( "Found instance with id %s, " + "AMI %s, " + "type %s, " + "state %s " + "and monitoring state %s", instance.getInstanceId(), instance.getImageId(), instance.getInstanceType(), instance.getState().getName(), instance.getMonitoring().getState()); } } request.setNextToken(response.getNextToken()); if(response.getNextToken() == null) { done = true; } }

結果はページ分割されます。さらに結果を取得するには、結果オブジェクトの getNextToken メソッドから返された値を元のリクエストオブジェクトの setNextToken メソッドに渡した後、次の describeInstances の呼び出しで同じリクエストオブジェクトを使用します。

完全な例をご覧ください。

インスタンスの監視

CPU やネットワークの使用率、使用可能なメモリ、ディスクの残り容量など、Amazon EC2 インスタンスのさまざまな側面を監視できます。インスタンスのモニタリングの詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「Monitoring Amazon EC2」を参照してください。

インスタンスのモニタリングを開始するには、モニタリングするインスタンスの ID で MonitorInstancesRequest を作成し、AmazonEC2Client の monitorInstances メソッドに渡します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.MonitorInstancesRequest;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); MonitorInstancesRequest request = new MonitorInstancesRequest() .withInstanceIds(instance_id); ec2.monitorInstances(request);

完全な例をご覧ください。

インスタンス監視の停止

インスタンスのモニタリングを停止するには、モニタリングを停止するインスタンスの ID で UnmonitorInstancesRequest を作成し、AmazonEC2Client の unmonitorInstances メソッドに渡します。

インポート

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.UnmonitorInstancesRequest;

Code

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); UnmonitorInstancesRequest request = new UnmonitorInstancesRequest() .withInstanceIds(instance_id); ec2.unmonitorInstances(request);

完全な例をご覧ください。

詳細情報