The AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31일에 end-of-support
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 탄력적 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
전체 예제
추가 정보
-
Linux 인스턴스 사용 Amazon EC2 설명서의 탄력적 IP 주소
-
AllocateAddress 참조의 Amazon EC2 API
-
DescribeAddresses 참조의 Amazon EC2 API
-
ReleaseAddress 참조의 Amazon EC2 API