Amazon EC2 인스턴스 관리 - AWS SDK for Java 1.x

다음 버전 AWS SDK for Java (v1) end-of-support 을 발표했습니다. AWS SDK for Java V2로 마이그레이션하실 것을 권장합니다. 마이그레이션 날짜, 추가 세부 정보 및 방법에 대한 자세한 내용은 링크된 공지 사항을 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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);

전체 예제를 참조하십시오.

추가 정보