AWS SDK for Java 1.x は 2024 年 7 月 31 日にメンテナンスモードに移行し、2025 年 12 月 31 end-of-support
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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);
完全な例
詳細情報
-
Amazon EC2 API リファレンスの RunInstances
-
Amazon EC2 API リファレンスの DescribeInstances
-
Amazon EC2 API リファレンスの StartInstances
-
Amazon EC2 API リファレンスの StopInstances
-
Amazon EC2 API リファレンスの RebootInstances
-
Amazon EC2 API リファレンスの MonitorInstances
-
Amazon EC2 API リファレンスの UnmonitorInstances