

# Administración de las direcciones IPv4 de las instancias de EC2
<a name="working-with-ip-addresses"></a>

Puede asignar una dirección IPv4 pública a su instancia cuando la lance. Puede ver las direcciones IPv4 de su instancia en la consola a través de la página **Instancias** o la página **Interfaces de red**.

**Topics**
+ [Asignación de una dirección IPv4 pública durante el lanzamiento](#public-ip-addresses)
+ [Asignación de una dirección IPv4 privada durante el lanzamiento](#assign-private-ipv4-address)
+ [Visualización de la dirección IPv4 principal](#view-instance-ipv4-addresses)
+ [Visualización de las direcciones IPv4 mediante metadatos de instancia](#view-instance-ipv4-addresses-imds)

## Asignación de una dirección IPv4 pública durante el lanzamiento
<a name="public-ip-addresses"></a>

Todas las subredes tienen un atributo que determina si se asigna una dirección IP pública a las instancias iniciadas en dichas subredes. De forma predeterminada, las subredes no predeterminadas tienen este atributo configurado como false, mientras que todas las subredes predeterminadas tienen este atributo configurado como true. Cuando inicia una instancia, también tiene a su disposición una característica de dirección IPv4 pública para que pueda controlar si se asigna a su instancia una dirección IPv4 pública; puede anular el comportamiento predeterminado del atributo de dirección IP de la subred. La dirección IPv4 pública se asigna de entre el grupo de direcciones IPv4 públicas de Amazon; se asigna a la interfaz de red con el índice de dispositivo 0. Esta característica depende de determinadas condiciones que se puedan dar en el momento en que se inicia la instancia. 

**Consideraciones**
+ Para anular la asignación de la dirección IP pública desde la instancia tras iniciarla, [administre las direcciones IP asociadas a una interfaz de red](managing-network-interface-ip-addresses.md). Para obtener más información acerca de las direcciones IPv4 públicas, consulte [Direcciones IPv4 públicas](using-instance-addressing.md#concepts-public-addresses).
+ No puede asignar automáticamente una dirección IP pública si especifica más de una interfaz de red. Además, no puede anular la configuración de la subred con la característica de asignación automática de IP pública si especifica una interfaz de red existente para el índice de dispositivo 0.
+ Independientemente de si asigna una dirección IP pública a su instancia durante la inicialización o no, puede asociar una dirección IP elástica a su instancia luego de iniciarla. Para obtener más información, consulte [Direcciones IP elásticas](elastic-ip-addresses-eip.md). También puede modificar el comportamiento de las direcciones IPv4 públicas de su subred. Para obtener más información, consulte [Modificación del atributo de direcciones IPv4 públicas de su subred](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html).

------
#### [ Console ]

**Asignación de una dirección IPv4 pública durante el lanzamiento**  
Siga el procedimiento para [iniciar una instancia](ec2-launch-instance-wizard.md) y, cuando defina la configuración en [Configuración de red](ec2-instance-launch-parameters.md#liw-network-settings), elija la opción **Asignar automáticamente IP pública**.

------
#### [ AWS CLI ]

**Asignación de una dirección IPv4 pública durante el lanzamiento**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--associate-public-ip-address`.

```
--associate-public-ip-address
```

------
#### [ PowerShell ]

**Asignación de una dirección IPv4 pública durante el lanzamiento**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-AssociatePublicIp`.

```
-AssociatePublicIp $true
```

------

## Asignación de una dirección IPv4 privada durante el lanzamiento
<a name="assign-private-ipv4-address"></a>

Puede especificar una dirección IPv4 privada del rango de direcciones IPv4 de la subred o dejar que Amazon EC2 elija una por usted. Esta dirección se asigna a la interfaz de red principal.

Para asignar direcciones IPv4 después del lanzamiento, consulte [Asignación de direcciones IP secundarias a una instancia](instance-secondary-ip-addresses.md#assign-secondary-ip-address).

------
#### [ Console ]

**Asignación de una dirección IPv4 privada durante el lanzamiento**  
Siga el procedimiento para [Iniciar una instancia](ec2-launch-instance-wizard.md). Al establecer [Configuración de red](ec2-instance-launch-parameters.md#liw-network-settings), expanda **Configuración de red avanzada** y especifique un valor para **IP principal**.

------
#### [ AWS CLI ]

**Asignación de una dirección IPv4 privada durante el lanzamiento**  
Utilice el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) con la opción `--private-ip-address`.

```
--private-ip-addresses 10.251.50.12
```

Para permitir que Amazon EC2 elija la dirección IP, omita esta opción.

------
#### [ PowerShell ]

**Asignación de una dirección IPv4 privada durante el lanzamiento**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) con el parámetro `-PrivateIpAddress`.

```
-PrivateIpAddress 10.251.50.12
```

Para permitir que Amazon EC2 elija la dirección IP, omita este parámetro.

------

## Visualización de la dirección IPv4 principal
<a name="view-instance-ipv4-addresses"></a>

La dirección IPv4 pública se muestra como propiedad de la interfaz de red en la consola, aunque se asigna a la dirección IPv4 privada principal mediante NAT. Por lo tanto, si consulta las propiedades de su interfaz de red en su instancia como, por ejemplo, mediante `ifconfig` (Linux) o `ipconfig` (Windows), verá que no se muestra la dirección IPv4 pública.

------
#### [ Console ]

**Visualización de las direcciones IPv4 de una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instancias**.

1. Seleccione la instancia.

1. En la pestaña **Redes**, busque **Dirección IPv4 pública** y **Direcciones IPv4 privadas**. 

1. (Opcional) La pestaña **Redes** también contiene las interfaces de red y las direcciones IP elásticas de la instancia.

------
#### [ AWS CLI ]

**Visualización de la dirección IPv4 principal de una instancia**  
Utilice el comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[].Instances[].PrivateIpAddress" \
    --output text
```

A continuación, se muestra un ejemplo del resultado.

```
10.251.50.12
```

------
#### [ PowerShell ]

**Visualización de la dirección IPv4 principal de una instancia**  
Utilice el cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.PrivateIpAddress
```

A continuación, se muestra un ejemplo del resultado.

```
10.251.50.12
```

------

## Visualización de las direcciones IPv4 mediante metadatos de instancia
<a name="view-instance-ipv4-addresses-imds"></a>

Para obtener las direcciones IPv4 de la instancia, puede recuperar los metadatos de la instancia. Para obtener más información, consulte [Uso de los metadatos de la instancia para administrar su instancia de EC2](ec2-instance-metadata.md).

**Visualización de las direcciones IPv4 mediante metadatos de instancia**

1. Conéctese a la instancia. Para obtener más información, consulte [Conexión con instancias EC2](connect.md).

1. Ejecute uno de los siguientes comandos.

------
#### [ IMDSv2 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

   ```
   TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4
   ```

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
       -Method PUT -Uri http://169.254.169.254/latest/api/token
   ```

   ```
   Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
       -Method GET -Uri http://169.254.169.254/latest/meta-data/local-ipv4
   ```

------
#### [ IMDSv1 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

   ```
   curl http://169.254.169.254/latest/meta-data/local-ipv4
   ```

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   Invoke-RestMethod http://169.254.169.254/latest/meta-data/local-ipv4
   ```

------

1. Utilice uno de los siguientes comandos para obtener acceso a la dirección IP pública. Si hay asociada a la instancia una dirección IP elástica, el comando devuelve la dirección IP elástica.

------
#### [ IMDSv2 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

   ```
   [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
   && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-ipv4
   ```

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
       -Method PUT -Uri http://169.254.169.254/latest/api/token
   ```

   ```
   Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
       -Method GET -Uri http://169.254.169.254/latest/meta-data/public-ipv4
   ```

------
#### [ IMDSv1 ]

**Linux**  
Ejecute el siguiente comando en la instancia de Linux.

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

**Windows**  
Ejecute el siguiente comando en la instancia de Windows.

   ```
   Invoke-RestMethod http://169.254.169.254/latest/meta-data/public-ipv4
   ```

------