La AWS SDK per Java versione 1.x è entrata in modalità manutenzione il 31 luglio 2024 e sarà disponibile il 31 end-of-support
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di indirizzi IP elastici in Amazon EC2
avvertimento
Ritireremo EC2 -Classic il 15 agosto 2022. Ti consigliamo di migrare da EC2 -Classic a un VPC. Per ulteriori informazioni, consulta il post sul blog EC2-Classic-Classic Networking is Retiring
Allocazione di un indirizzo IP elastico
Per utilizzare un indirizzo IP elastico bisogna prima allocarne uno al proprio account e associarlo con la propria istanza o con un'interfaccia di rete.
Per allocare un indirizzo IP elastico, chiama il allocateAddress
metodo del EC2 client Amazon con un AllocateAddressRequestoggetto contenente il tipo di rete (classica EC2 o VPC).
Il file restituito AllocateAddressResultcontiene un ID di allocazione che puoi utilizzare per associare l'indirizzo a un'istanza, passando l'ID di allocazione e l'ID dell'istanza in a AssociateAddressRequestal metodo del EC2 associateAddress
client Amazon.
Importazioni
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;
Codice
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);
Guarda l'esempio completo
Descrizione degli indirizzi IP elastici
Per elencare gli indirizzi IP elastici assegnati al tuo account, chiama il describeAddresses
metodo di Amazon EC2 Client. Restituisce un valore DescribeAddressesResultche puoi utilizzare per ottenere un elenco di oggetti Address che rappresentano gli indirizzi IP elastici del tuo account.
Importazioni
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;
Codice
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()); }
Guarda l'esempio completo
Rilascio di un indirizzo IP elastico
Per rilasciare un indirizzo IP elastico, chiama il releaseAddress
metodo del EC2 client Amazon, passandogli un indirizzo ReleaseAddressRequestcontenente l'ID di allocazione dell'indirizzo IP elastico che desideri rilasciare.
Importazioni
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;
Codice
final AmazonEC2 ec2 = AmazonEC2ClientBuilder.defaultClient(); ReleaseAddressRequest request = new ReleaseAddressRequest() .withAllocationId(alloc_id); ReleaseAddressResult response = ec2.releaseAddress(request);
Dopo aver rilasciato un indirizzo IP elastico, questo viene rilasciato al pool di indirizzi AWS IP e in seguito potrebbe non essere più disponibile. Assicurati di aggiornare i record DNS e gli eventuali server o dispositivi che comunicano con l'indirizzo. Se tenti di rilasciare un indirizzo IP elastico che hai già rilasciato, riceverai un AuthFailureerrore se l'indirizzo è già assegnato a un altro. Account AWS
Se utilizzi EC2-Classic o un VPC predefinito, il rilascio di un indirizzo IP elastico lo dissocia automaticamente da qualsiasi istanza a cui è associato. Per dissociare un indirizzo IP elastico senza rilasciarlo, utilizza il metodo di disassociateAddress
Amazon EC2 Client.
Se utilizzi un VPC non di default, devi utilizzare disassociateAddress
per disassociare l'indirizzo IP elastico prima di provare a rilasciarlo. Altrimenti, Amazon EC2 restituisce un errore (non valido. IPAddress InUse).
Vedi l'esempio completo
Ulteriori informazioni
-
Indirizzi IP elastici nella Guida per l' Amazon EC2 utente per le istanze Linux
-
AllocateAddressnell' Amazon EC2 API Reference
-
DescribeAddressesnell' Amazon EC2 API Reference
-
ReleaseAddressnell' Amazon EC2 API Reference