virginia pricing elastic ec2 east direccion aws amazon-ec2 reboot

amazon-ec2 - pricing - elastic ip aws price



Cómo encontrar la dirección IP de una instancia de Amazon EC2 al reiniciar (9)

Al reiniciar, las direcciones IP de una instancia EC2 no cambian. Por lo general, cambian al detener / iniciar una instancia de arranque de EBS que no es de VPC.

Vea mi respuesta a su pregunta relacionada aquí:

https://stackoverflow.com/questions/7533871/difference-between-rebooting-and-stop-starting-an-amazon-ec2-instance

Dicho esto, puede encontrar las direcciones IP privadas y públicas a través de la llamada de la API para DescribeInstances en su idioma particular.

Si se encuentra en la instancia en sí, también puede encontrar las direcciones IP a través de la API de datos del usuario usando HTTP simple:

http://instance-data/latest/meta-data/local-ipv4 http://instance-data/latest/meta-data/public-ipv4

Por ejemplo,

wget -qO- http://instance-data/latest/meta-data/public-ipv4

Se recomiendan las direcciones IP elásticas para mantener una dirección IP orientada externamente (estática) para un servicio o servidor en particular. Estos deben ser reasignados a una instancia después de una parada / inicio (pero no después de un reinicio).

Al reiniciar, la dirección IP de una instancia de Amazon cambia. ¿Cómo encontrar la nueva dirección IP usando java API?


La dirección IPv4 pública también está disponible desde la instancia de EC2, así:

curl checkip.amazonaws.com

Y el nombre de host público es:

dig -x $(curl -s checkip.amazonaws.com) +short


Para obtener la IP pública de la instancia, primero necesita obtener el ID de instancia de esa instancia. Puede obtener el ID de instancia de la instancia utilizando el siguiente código java.

List<Instance> instances = runInstancesResult.getReservation().getInstances(); String instanceId = instances.get(0).toString().substring(13, 23);

Y ahora, para obtener la IP pública, puede usar el siguiente código de Java.

public void fetchInstancePublicIP() { DescribeInstancesRequest request = new DescribeInstancesRequest().withInstanceIds("i-d99ae7d2"); DescribeInstancesResult result= ec2.describeInstances(request); List <Reservation> list = result.getReservations(); for (Reservation res:list) { List <Instance> instanceList= res.getInstances(); for (Instance instance:instanceList){ System.out.println("Public IP :" + instance.getPublicIpAddress()); System.out.println("Public DNS :" + instance.getPublicDnsName()); System.out.println("Instance State :" + instance.getState()); System.out.println("Instance TAGS :" + instance.getTags()); } } }


Puedes usar esto

var ipofnewServer = string.Empty; while (string.IsNullOrEmpty(ipofnewServer)) { var statusRequest1 = new DescribeInstancesRequest { InstanceIds = new List<string>() { instanceId } }; var result = amazonEc2client.DescribeInstances(statusRequest1); var status = result.Reservations[0].Instances.FirstOrDefault(); if (status != null) { ipofnewServer = status.PublicIpAddress; } }


Suponiendo que reinicie la instancia y no inicie desde cero, puede asignar una IP elástica que siempre permanece con la instancia de ec2 (a menos que mueva la IP a otro servidor). Esto le permite apuntar todos sus DNS a esa IP y no preocuparse de que un reinicio le cause problemas.

Creo que eso es lo que preguntas, pero hay otras cosas que podrías estar preguntando. La IP interna del servidor cambia (si relanza la instancia no se reinicia) y no puede ''reservarla'', por lo que puede necesitar crear una secuencia de comandos para mantener la nueva IP (si su puntero le presta servicios internos).

Espero que ayude


Tienen una clase util que facilita el acceso a los metadatos EC2. Por ejemplo

EC2MetadataUtils.getNetworkInterfaces().get(0).getPublicHostname(); EC2MetadataUtils.getNetworkInterfaces().get(0).getPublicIPv4s();


así es como lo hice en una instancia Ubuntu 12.04 EC2 dentro de una VPC:

curl ifconfig.me

No estoy seguro de por qué, pero public-ipv4 no se encontró en la URL de metadatos


Suponiendo que no desea asignar una dirección IP elástica (y hay razones por las que esto no siempre es una solución), simplemente llame a DescribeInstances en la instancia reiniciada, que devuelve una gran cantidad de información, incluida la dirección IP pública.

Aquí está la documentación de AWS EC2 Java API sobre el tema.


curl http://169.254.169.254/latest/meta-data/public-ipv4