AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 end-of-support
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon EC2 인스턴스 관리
인스턴스 생성
AmazonEC2Client의 runInstances
메서드를 호출하여 새 Amazon EC2 인스턴스를 생성하고, 사용할 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;
코드
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;
코드
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;
코드
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;
코드
final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); RebootInstancesRequest request = new RebootInstancesRequest() .withInstanceIds(instance_id); RebootInstancesResult response = ec2.rebootInstances(request);
전체 예제
인스턴스 설명
인스턴스를 나열하려면 DescribeInstancesRequest를 생성하고 AmazonEC2Client의 describeInstances
메서드를 호출합니다. 그러면 계정과 지역의 Amazon EC2 인스턴스를 나열하는 데 사용할 수 있는 DescribeInstancesResult 객체가 반환됩니다.
인스턴스는 예약별로 그룹화됩니다. 각 예약은 인스턴스를 시작하는 startInstances
호출에 해당합니다. 인스턴스를 나열하려면 먼저 반환된 각 Reservation 객체에서 DescribeInstancesResult
클래스의 getReservations' method, and then call `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;
코드
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 사용 설명서의 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;
코드
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;
코드
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