

 AWS Cloud9 ya no está disponible para nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. [Más información](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Compartir una aplicación en ejecución a través de internet
<a name="app-preview-share"></a>

Tras obtener una vista previa de la aplicación en ejecución, puede ponerla a disposición de otros usuarios a través de Internet.

Si tiene una instancia de Amazon EC2 conectada al entorno, siga los pasos que se indican a continuación. De lo contrario, consulte la documentación del servidor.

**Topics**
+ [Paso 1: obtener la dirección IP y el ID de la instancia](#app-preview-share-get-metadata)
+ [Paso 2: configurar el grupo de seguridad para la instancia](#app-preview-share-security-group)
+ [Paso 3: configurar la subred para la instancia](#app-preview-share-subnet)
+ [Paso 4: Compartir la URL de la aplicación en ejecución](#app-preview-share-url)

## Paso 1: obtener la dirección IP y el ID de la instancia
<a name="app-preview-share-get-metadata"></a>

En este paso, anote el ID de instancia y la dirección IP pública de la instancia de Amazon EC2 que esté conectada al entorno. Necesitará el ID de la instancia en un paso posterior para permitir solicitudes de aplicaciones entrantes. A continuación, comparta la dirección IP pública con otros usuarios para que obtengan acceso a la aplicación en ejecución.

1. Obtenga el ID de la instancia de Amazon EC2. Para ello, siga uno de estos pasos:
   + En una sesión de terminal en el AWS Cloud9 IDE del entorno, ejecute el siguiente comando para obtener el ID de la instancia de Amazon EC2.

     ```
     curl http://169.254.169.254/latest/meta-data/instance-id
     ```

     El ID de instancia tiene el siguiente formato: `i-12a3b456c789d0123`. Anote el ID de esta instancia.
   + En el IDE del entorno, en la barra de menús, elija el icono de usuario y, a continuación, elija **Manage EC2 Instance** (Administrar instancia de EC2).  
![\[Si decide administrar la instancia desde el IDE AWS Cloud9\]](http://docs.aws.amazon.com/es_es/cloud9/latest/user-guide/images/console-manage-instance.png)

     En la consola de Amazon EC2 que se muestra, anote el ID de la instancia que aparece en la columna **Instance ID** (ID de instancia). El ID de la instancia tiene este formato: `i-12a3b456c789d0123`.

1. Obtenga la dirección IP pública de la instancia de Amazon EC2. Para ello, siga uno de estos pasos:
   + En el IDE del entorno, en la barra de menús, elija **Share** (Compartir). En el cuadro de diálogo **Share this environment (Compartir este entorno)**, anote la dirección IP pública del cuadro **Application (Aplicación)**. La dirección IP pública tiene este formato: `192.0.2.0`.
   + En una sesión de terminal en el IDE del entorno, ejecute el siguiente comando para obtener la dirección IP pública de la instancia de Amazon EC2.

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

     La dirección IP pública tiene este formato: `192.0.2.0`. Anote esta dirección IP pública.
   + En el IDE del entorno, en la barra de menús, elija el icono de usuario y, a continuación, elija **Manage EC2 Instance** (Administrar instancia de EC2). En la consola Amazon EC2 que aparece, en la pestaña **Descripción**, anote la dirección IP pública en el campo **IP IPv4 pública**. La dirección IP pública tiene este formato: `192.0.2.0`.
**nota**  
Es posible que la dirección IP pública de la aplicación cambie en cualquier momento en que se reinicie la instancia de la aplicación. Para evitar que la dirección IP se modifique, asigne una dirección IP elástica. A continuación, asigne esa dirección a la instancia en ejecución. Para obtener instrucciones, consulte [Allocating an Elastic IP address](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-allocating) y [Associating an Elastic IP Address with a Running Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-associating) en la *Guía del usuario de Amazon EC2*. Si asigna una dirección IP elástica, podría incurrir en Cuenta de AWS cargos. Para obtener más información, consulte [Precios de Amazon EC2](https://aws.amazon.com/ec2/pricing/).

## Paso 2: configurar el grupo de seguridad para la instancia
<a name="app-preview-share-security-group"></a>

En este paso, en la consola de Amazon EC2, configure el grupo de seguridad de Amazon EC2 para la instancia conectada al entorno. Configúrelo para permitir solicitudes HTTP entrantes a través del puerto 8080, 8081 u 8082.

**nota**  
No es necesario que ejecute HTTP a través del puerto `8080`, `8081` o `8082`. Si no lo hace, no obtendrá una vista previa de la aplicación en ejecución desde el IDE. Para obtener más información, consulte [Vista previa de una aplicación en ejecución](app-preview.md#app-preview-preview-app). De lo contrario, si ejecuta en un protocolo o puerto diferente, sustitúyalo en este paso.  
Para tener una capa adicional de seguridad, configure una lista de control de acceso (ACL) de red para una subred en una VPC que la instancia pueda utilizar. Para obtener más información sobre los grupos de seguridad y la red ACLs, consulte lo siguiente:  
 [Paso 3: configurar la subred para la instancia](#app-preview-share-subnet) 
 [Seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html) en la *Guía del usuario de Amazon VPC*
 [Grupos de seguridad de su Your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html) en la *Guía del usuario de Amazon VPC*
 La [red ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) en la guía del *usuario de Amazon VPC*

1. En el IDE del entorno, en la barra de menús, elija el icono de usuario y, a continuación, elija **Manage EC2 Instance** (Administrar instancia de EC2). A continuación, vaya al paso 3 en este procedimiento.

1. Si la elección de **Manage EC2 Instance** (Administrar instancia EC2) o de otros pasos de este procedimiento muestra errores, inicie sesión en la consola de Amazon EC2 utilizando las credenciales de un administrador en la Cuenta de AWS. A continuación, complete las siguientes instrucciones. Si no puede hacerlo, consulte con el administrador de la Cuenta de AWS .

   1. Inicie sesión Consola de administración de AWS en [https://console.aws.amazon.com/](https://console.aws.amazon.com/)si aún no ha iniciado sesión.

   1. Abra la consola de Amazon EC2. Para ello, en la barra de navegación, elija **Services** (Servicios). A continuación, elija **EC2**.

   1. En la barra de navegación, elija Región de AWS la ubicación de su entorno.

   1. Si se muestra **EC2 Dashboard (Panel de EC2)**, elija **Running Instances (Ejecutar instancias)**. De lo contrario, en el panel de navegación del servicio, expanda **Instances** (Instancias) si aún no está ampliado y elija **Instances** (Instancias).

   1. En la lista de instancias, seleccione la instancia con un **Instance ID** (ID de instancia) que coincida con el ID de instancia que anotó anteriormente.

1. En la pestaña **Description** (Descripción) de la instancia, elija el enlace del grupo de seguridad que está junto a **Security groups** (Grupos de seguridad).

1. Con el grupo de seguridad a la vista, busque en la pestaña **Inbound (Entrada)**. Si hay una regla con **Type** (Tipo) establecido en **Custom TCP Rule** (Regla de TCP personalizada) y **Port Range** (Rango de puertos) en **8080**, **8081** u **8082**, elija **Cancel** (Cancelar) y diríjase a [Paso 3: configurar la subred para la instancia](#app-preview-share-subnet). De lo contrario, elija **Edit (Editar)**.

1. En el cuadro de diálogo **Edit inbound rules (Modificar reglas de entrada)**, elija **Add tag (Agregar etiqueta)**.

1. En **Tipo**, elija **Regla TCP personalizada**.

1. En **Port Range** (Rango de puertos), escriba `8080`, `8081` o `8082`.

1. En **Fuente**, elija **Cualquiera**.
**nota**  
Al elegir **Anywhere** (Cualquiera) en **Source** (Fuente), permite las solicitudes entrantes desde cualquier dirección IP. Para restringir esto a direcciones IP específicas, elija **Custom** (Personalizar) y, a continuación, ingrese el intervalo de direcciones IP. O bien, elija **My IP** (Mi IP) para restringir las solicitudes para que solo provengan de la dirección IP.

1. Seleccione **Save**.

## Paso 3: configurar la subred para la instancia
<a name="app-preview-share-subnet"></a>

Utilice las consolas de Amazon EC2 y Amazon VPC para configurar una subred para la instancia de Amazon EC2 conectada al entorno. A continuación, permita solicitudes HTTP entrantes a través del puerto 8080, 8081 u 8082.

**nota**  
No es necesario ejecutar mediante HTTP a través del puerto `8080`, `8081` o `8082`. Sin embargo, si no lo hace, no obtendrá una vista previa de la aplicación en ejecución desde el IDE. Para obtener más información, consulte [Vista previa de una aplicación en ejecución](app-preview.md#app-preview-preview-app). De lo contrario, si ejecuta en un protocolo o puerto diferente, sustitúyalo en este paso.  
En este paso se describe cómo configurar una ACL de red para una subred en una consola de Amazon VPC que la instancia pueda utilizar. Este paso no es obligatorio pero sí recomendable. La configuración de una ACL de red agrega una capa adicional de seguridad. Para obtener más información sobre la red ACLs, consulte lo siguiente:  
 [Seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html) en la *Guía del usuario de Amazon VPC*
 La [red ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) en la guía del *usuario de Amazon VPC*

1. Con la consola de Amazon EC2, en el panel de navegación del servicio, expanda **Instances** (Instancias) si aún no lo está y elija **Instances** (Instancias).

1. En la lista de instancias, seleccione la instancia con un **Instance ID** (ID de instancia) que coincida con el ID de instancia que anotó anteriormente.

1. En la pestaña **Description (Descripción)** de la instancia, anote el valor de **Subnet ID (ID de subred)**. El ID de subred tiene el siguiente formato: `subnet-1fab8aEX`.

1. Abra la Consola de Amazon VPC. Para ello, en la barra de AWS navegación, selecciona **Servicios** y, a continuación, **VPC**.

   En este paso, le recomendamos que inicie sesión en la consola de Amazon VPC con las credenciales de un administrador en la Cuenta de AWS. Si no puede hacerlo, póngase en contacto con su Cuenta de AWS administrador.

1. Si se muestra **VPC Dashboard (Panel de VPC)**, elija **Subnets (Subredes)**. También puede seleccionar **Subnets (Subredes)** en el panel de navegación.

1. En la lista de subredes, seleccione la subred cuyo valor de **Subnet ID** (ID de subred) coincida con el que anotó anteriormente.

1. En la pestaña **Summary** (Resumen), elija el enlace ACL de red que está junto a **Network ACL** (ACL de red).

1. En la lista de redes ACLs, seleccione la ACL de la red. (Solo hay una ACL de red).

1. Busque en la pestaña **Inbound Rules (Reglas de entrada)** la ACL de red. Si ya existe una regla donde **Type** (Tipo) está establecido en **HTTP\$1 (8080)**, **HTTP\$1 (8081)** o **HTTP\$1 (8082)**, continúe en [Paso 4: Compartir la URL de la aplicación en ejecución](#app-preview-share-url). De lo contrario, elija **Edit (Editar)**.

1. Elija **Add another rule**.

1. En **Rule \$1** (N.º de regla), ingrese un número para la regla (por ejemplo, `200`).

1. En **Tipo**, elija **Regla TCP personalizada**.

1. En **Port Range (Rango de puerto)**, escriba `8080`, `8081` o `8082`.

1. En **Source (Fuente)**, escriba el rango de las direcciones IP de las que se permitirán solicitudes entrantes. Por ejemplo, para permitir las solicitudes entrantes de cualquier dirección IP, ingrese `0.0.0.0/0`.

1. Con **Allow / Deny (Permitir/Denegar)** establecido en **ALLOW**, elija **Save (Guardar)**.

## Paso 4: Compartir la URL de la aplicación en ejecución
<a name="app-preview-share-url"></a>

Una vez ejecutada la aplicación, puede compartirla con otros proporcionando la URL de la aplicación. Para ello, necesita la dirección IP pública que anotó anteriormente. Para escribir la URL completa de la aplicación, asegúrese de iniciar la dirección IP pública de la aplicación con el protocolo correcto. A continuación, si el puerto de la aplicación no es el puerto predeterminado para el protocolo que utiliza, agregue la información del número de puerto. A continuación, se muestra un ejemplo de una URL de aplicación: `http://192.0.2.0:8080/index.html` mediante HTTP a través del puerto 8080.

Si la pestaña del navegador web resultante muestra un error o está en blanco, siga los pasos de solución de problemas en [No se puede mostrar la aplicación en ejecución fuera del IDE](troubleshooting.md#troubleshooting-app-sharing).

**nota**  
Es posible que la dirección IP pública de la aplicación cambie en cualquier momento en que se reinicie la instancia de la aplicación. Para evitar que cambie la dirección IP, asigne una dirección IP elástica y asígnela después a la instancia en ejecución. Para obtener instrucciones, consulte [Allocating an Elastic IP address](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-allocating) y [Associating an Elastic IP Address with a Running Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html#using-instance-addressing-eips-associating) en la *Guía del usuario de Amazon EC2*. La asignación de una dirección IP elástica puede Cuenta de AWS provocar cargos. Para obtener más información, consulte [Precios de Amazon EC2](https://aws.amazon.com/ec2/pricing/).  
No es necesario que ejecute la aplicación mediante HTTP a través del puerto `8080`, `8081` o `8082`. Sin embargo, si no lo hace, no obtendrá una vista previa de la aplicación en ejecución desde el IDE. Para obtener más información, consulte [Vista previa de una aplicación en ejecución](app-preview.md#app-preview-preview-app).  
Supongamos que, por ejemplo, las solicitudes se originan en una VPN que bloquea el tráfico a través del protocolo o puerto solicitado. En ese caso, es posible que esas solicitudes de acceso a la URL de la aplicación produzcan un error. La solicitud se debe realizar desde una red diferente que permita el tráfico a través del protocolo y el puerto solicitados. Para obtener más información, contacte con el administrador de red.  
No recomendamos compartir la URL en la pestaña de vista previa de la aplicación en el IDE con otros usuarios. (Esta URL tiene el siguiente formato:. `https://12a34567b8cd9012345ef67abcd890e1.vfs.cloud9.us-east-2.amazonaws.com/` En este formato, `12a34567b8cd9012345ef67abcd890e1` es el ID que se AWS Cloud9 asigna al entorno. `us-east-2`es el ID del Región de AWS entorno.) Esta URL solo funciona cuando el IDE del entorno está abierto y la aplicación se está ejecutando en el mismo navegador web.