Las direcciones IP se usan para balancear, dispersar y administrar el tráfico que ingresa a tu entorno. Esto está integrado en la configuración de tus routers, firewalls y la mayoría del hardware y software. Planificar la lógica de las direcciones IP internas y externas es fundamental para mantener la flexibilidad y la seguridad de tu entorno de nube. Por lo tanto, es importante comprender cómo las direcciones IP pueden afectar tus cargas de trabajo y cómo interactúan con el tráfico de red interno y público. En este codelab, aprenderás a reservar y asignar direcciones IP externas de instancias de Compute Engine para habilitar la comunicación con Internet pública.
¿Qué son las direcciones IP?
Las direcciones IP son muy importantes en las redes TCP/IP. Son las direcciones que reconocen y comprenden las instancias y los dispositivos de redes para que puedan comunicarse entre sí.
Cada instancia de máquina virtual (VM) en Google Cloud tendrá una dirección IP interna y, por lo general, una dirección IP externa. La dirección IP interna se usa para la comunicación entre instancias en la misma red de nube privada virtual (VPC), mientras que la dirección IP externa se usa para la comunicación con instancias en otras redes o en Internet. Las direcciones IP son efímeras de forma predeterminada, pero se pueden asignar de forma estática.
Las IPs internas se asignan a las instancias desde el rango de IP de la subred a través de DHCP. De forma predeterminada, las IPs internas son efímeras y se liberarán si se borra la instancia. Sin embargo, puedes reservar una dirección IP interna estática del rango de direcciones IP de la subred.
Las IPs externas también se asignan a través de DHCP desde un grupo proporcionado por Google. Las IPs se asignan a las IPs internas de las instancias de VM por ti. Si es necesario, puedes reservar direcciones IP externas estáticas. Las direcciones IP externas estáticas pueden ser globales o regionales, según tus requisitos. Por ejemplo, las direcciones IP estáticas globales están disponibles para las reglas de reenvío globales que se usan para el balanceo de cargas global.
Qué compilarás
- Una instancia de Compute Engine con Apache 2.0 instalado
- Una reserva de dirección IP externa
Qué aprenderás
- Cómo quitar una dirección IP de una instancia
- Cómo reservar una dirección IP y asignarla a una instancia
- Prácticas recomendadas en torno a las direcciones IP
Requisitos
- Una Cuenta de Google
Configuración del entorno de autoaprendizaje
Si aún no tienes una Cuenta de Google, debes crear una. Accede a Google Cloud Console y crea un proyecto nuevo.
Recuerda el ID del proyecto, un nombre único en todos los proyectos de Google Cloud. Más adelante en el codelab, se hará referencia a él como PROJECT_ID.
A continuación, debes habilitar la facturación en la consola de Cloud para usar los recursos de Google Cloud. Ejecutar este codelab debería costar solo unos pocos dólares, pero su costo podría aumentar si decides usar más recursos o si los dejas en ejecución (consulta la sección de limpieza al final). Los usuarios nuevos de Google Cloud son aptos para obtener una prueba gratuita de USD 300.
Inicializa el entorno de tu proyecto
Navega a Compute > Compute Engine > Instancias de VM.

Google Cloud Marketplace ofrece pilas de desarrollo, soluciones y servicios listos para usar que te permiten acelerar el desarrollo. Usarás una imagen de Compute Engine de Google Cloud Marketplace para probar la funcionalidad de la dirección IP externa. Dirígete a Google Cloud Marketplace para implementar una pila de LAMP preconfigurada en Compute Engine. Navega al menú y, luego, haz clic en Marketplace.

Busca el término "Apache". Selecciona la pila de LAMP. Haz clic para implementar la imagen.

Haz clic en Iniciar en Compute Engine.

Asigna el nombre lamp-1 a la instancia. En la sección de redes, deja la instancia en la red de VPC predeterminada y en la subred predeterminada para la zona us-central1-f. Asegúrate de que la casilla de verificación Permitir tráfico HTTP esté seleccionada. Cambia la opción de dirección IP externa de efímera a ninguna.

Haz clic en Implementar.
Se te dirigirá a la página principal de Deployment Manager y verás que se están creando tus recursos.
Cuando finalice la implementación de la pila, verás una marca de verificación verde que indica que se completó. Observa que, en el menú de la derecha, en la sección sobre cómo comenzar a usar la pila de LAMP, la opción para visitar el sitio está inhabilitada. Cuando colocas el cursor sobre él, se explica que no se puede acceder a él desde Internet público porque la instancia no tiene una dirección IP externa.

Para acceder al sitio, debes reservar y asignar una dirección IP externa a la instancia lamp-1. Navega a la página Direcciones IP en Herramientas de redes > Red de VPC > Direcciones IP externas.

Haz clic en Reservar dirección estática y asígnale el nombre lamp-1-ip. Conserva el resto de los valores predeterminados, pero asigna la dirección IPv4 a tu instancia lamp-1.

Ahora deberías poder acceder a la app de ejemplo que viene preinstalada en la instancia de lamp-1. Para volver a la página principal de Deployment Manager, navega a Tools > Deployment Manager > Deployments.

Haz clic en la instancia lamp-1. Haz clic en Visitar el sitio, que ya no debería estar atenuado.

Ahora puedes ver la página de bienvenida predeterminada que se usa para probar el servidor Apache a través de la dirección IP externa estática.

Ahora conoces los conceptos básicos para reservar y asignar una dirección IP externa estática a una instancia de Compute Engine en Google Cloud.
Temas que se abordaron
- Cómo afectan las direcciones IP externas a las instancias
- Cómo implementar una imagen preconfigurada con Google Cloud Marketplace
- Cómo reservar y asignar una dirección IP externa estática a una instancia de Compute Engine
Próximos pasos
- Obtén más información sobre las direcciones IP en Direcciones IP.
Borra las instancias de Compute Engine con los siguientes comandos en Cloud Shell: 
gcloud compute instances delete lamp-1
Borra la dirección IP externa creada con los siguientes comandos:
gcloud compute addresses delete lamp-1-ip