에서 탄력적 IP 주소 사용 Amazon EC2 - AWS SDK for Java 1.x

The AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31end-of-support일에 도달할 예정입니다. 새로운 기능, 가용성 개선 사항 및 보안 업데이트를 AWS SDK for Java 2.x 계속 받으려면 로 마이그레이션하는 것이 좋습니다.

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

에서 탄력적 IP 주소 사용 Amazon EC2

주의

2022년 8월 15일에 EC2-Classic을 사용 중지합니다. EC2-Classic에서 로 마이그레이션하는 것이 좋습니다VPC. 자세한 내용은 블로그 게시물 EC2-Classic-Classic Networking is Retiring - 준비 방법을 참조하세요.

탄력적 IP 주소 할당

탄력적 IP 주소를 사용하려면 먼저 계정에 주소를 할당한 후 인스턴스 또는 네트워크 인터페이스와 연결합니다.

탄력적 IP 주소를 할당하려면 네트워크 유형(클래식 EC2 또는 )이 포함된 AllocateAddressRequest 객체를 사용하여 Amazon EC2Client의 allocateAddress 메서드를 호출합니다VPC.

반환된 에는 의 할당 ID 및 인스턴스 ID를 AmazonEC2Client의 associateAddress 메서드에 전달하여 주소를 인스턴스와 연결하는 AssociateAddressRequest 데 사용할 수 있는 할당 ID가 AllocateAddressResult 포함되어 있습니다.

가져오기

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.AllocateAddressRequest; import com.amazonaws.services.ec2.model.AllocateAddressResult; import com.amazonaws.services.ec2.model.AssociateAddressRequest; import com.amazonaws.services.ec2.model.AssociateAddressResult; import com.amazonaws.services.ec2.model.DomainType;

코드

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); AllocateAddressRequest allocate_request = new AllocateAddressRequest() .withDomain(DomainType.Vpc); AllocateAddressResult allocate_response = ec2.allocateAddress(allocate_request); String allocation_id = allocate_response.getAllocationId(); AssociateAddressRequest associate_request = new AssociateAddressRequest() .withInstanceId(instance_id) .withAllocationId(allocation_id); AssociateAddressResult associate_response = ec2.associateAddress(associate_request);

전체 예제를 참조하세요.

탄력적 IP 주소 설명

계정에 할당된 탄력적 IP 주소를 나열하려면 Amazon EC2Client의 describeAddresses 메서드를 호출합니다. 계정의 탄력적 IP 주소를 나타내는 주소 객체 목록을 가져오는 데 사용할 DescribeAddressesResult 수 있는 를 반환합니다.

가져오기

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.Address; import com.amazonaws.services.ec2.model.DescribeAddressesResult;

코드

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); DescribeAddressesResult response = ec2.describeAddresses(); for(Address address : response.getAddresses()) { System.out.printf( "Found address with public IP %s, " + "domain %s, " + "allocation id %s " + "and NIC id %s", address.getPublicIp(), address.getDomain(), address.getAllocationId(), address.getNetworkInterfaceId()); }

전체 예제를 참조하세요.

탄력적 IP 주소 해제

탄력적 IP 주소를 해제하려면 Amazon EC2Client의 releaseAddress 메서드를 호출하여 해제하려는 탄력적 IP 주소의 할당 ID가 ReleaseAddressRequest 포함된 를 전달합니다.

가져오기

import com.amazonaws.services.ec2.AmazonEC2; import com.amazonaws.services.ec2.AmazonEC2ClientBuilder; import com.amazonaws.services.ec2.model.ReleaseAddressRequest; import com.amazonaws.services.ec2.model.ReleaseAddressResult;

코드

final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); ReleaseAddressRequest request = new ReleaseAddressRequest() .withAllocationId(alloc_id); ReleaseAddressResult response = ec2.releaseAddress(request);

탄력적 IP 주소를 릴리스하면 AWS IP 주소 풀로 릴리스되어 나중에 사용할 수 없게 될 수 있습니다. DNS 레코드와 주소와 통신하는 서버 또는 디바이스를 업데이트해야 합니다. 이미 릴리스한 탄력적 IP 주소를 릴리스하려고 하면 주소가 이미 다른 에 할당된 경우 AuthFailure 오류가 발생합니다 AWS 계정.

EC2-Classic 또는 기본 VPC를 사용하는 경우 탄력적 IP 주소를 해제하면 연결된 인스턴스에서 자동으로 연결이 해제됩니다. Elastic IP 주소를 해제하지 않고 연결을 해제하려면 AmazonEC2Client의 disassociateAddress 메서드를 사용합니다.

기본값이 아닌 를 사용하는 경우 VPCdisassociateAddress를 사용하여 Elastic IP 주소를 연결 해제한 후 릴리스해야 합니다. 그렇지 않으면 오류(I .)가 Amazon EC2 반환됩니다.nvalidIPAddressInUse

전체 예제를 참조하세요.

추가 정보