Antes de crear tu primera máquina virtual en Google Cloud Platform (GCP) conviene tener claros varios conceptos clave.
A continuación tienes una guía previa de lo que debes saber y decidir antes de crear la VM.
📙 Conceptos previos
A continuación, definimos y explicamos los conceptos que se encontrara en la creación de la maquina virtual.
🔹 Configuración de la maquina
- Nombre: El nombre debe comenzar con una letra minúscula seguida por un máximo de 62 letras minúsculas, números o guiones, y no puede terminar con un guion.
- Region: Una región es una ubicación geográfica específica en la que puedes ejecutar tus recursos.
- Zona: La zona determina qué recursos de procesamiento están disponibles y dónde se almacenan y usan los datos.
- Tipo de maquina
- Series: Una serie es un grupo de tipos de máquinas con capacidades similares de CPU y memoria. La generación de una serie de máquinas se indica por el número que figura en su nombre. Por ejemplo, E2 es una serie de máquinas de segunda generación.
- Modelo de aprovisionamiento: Determina el tiempo de ejecución de tus VMs. La selección es permanente.
🔹 Sistema operativo y almacenamiento
Disco de arranque
- Sistema operativo: Puede elegir uno del siguiente listado https://docs.cloud.google.com/compute/docs/images/os-details?hl=es-419, segun necesidad.
- Versión: Version del S.O. seleccionado
- Tipo de disco de arranque:
- Disco persistente balanceado: pd-balanced (SSD): Ofrece un buen equilibrio entre costo y rendimiento (IOPS/rendimiento), siendo la opción predeterminada al crear desde la consola de GCP.
- Disco persistente extremo: pd-extreme (SSD), para las cargas de trabajo más exigentes que necesitan un rendimiento de IOPS y throughput extremadamente alto.
- Disco persistente SSD: pd-ssd (SSD), alto rendimiento para bases de datos o aplicaciones que necesitan latencia baja y alto throughput.
- Disco persistente estándar: pd-standard (HDD), bajo costo, para cargas de trabajo que no requieren IOPS muy altos, como arranques frecuentes o discos de datos poco usados.
- Tamaño (GB): Aprovisiona de 10 a 65536 GB
- Regla de eliminacion: Cuando se borra una instancia
- Conservar disco arranque
- Borrar disco de arranque
- Grupo almacenamiento: Los grupos de almacenamiento te permiten administrar volúmenes de Hyperdisk en conjunto y beneficiarte del aprovisionamiento delgado y la reducción de datos.
- Encriptación: Los datos se encriptan automáticamente. Selecciona una solución de administración de claves de encriptación.
- Clave de encriptación administrada por Google: Claves propiedad de Google.
- Clave de cloud KMS: Claves propiedad de los clientes.
- Clave de encriptacion proporcionada por el cliente (CSEK): Administrar fuera de Google Cloud.
- Nombre dispositivo: Se usa para hacer referencia al dispositivo cuando se lo activa o se cambia su tamaño.
🔹 Protección de datos
Copias de seguridad
- Plan de creación de copias de seguridad: Crea una copia de seguridad de la VM completa. Estas copias de seguridad inmutables están protegidas por la backup vault contra la eliminación accidental o maliciosa.
- Programaciones de instantáneas: Crea copias de seguridad solo de los discos. Esto proporciona una protección fundamental a un menor costo.
- Son copias de seguridad: No se crearán copias de seguridad de la VM ni de los discos. Si los datos se borran o se dañan por cualquier motivo, no podrás recuperarlos.
Replicación
- Usar Replicacion sincrónica: Cambia a un disco regional, que es un disco único con réplicas de almacenamiento en dos zonas. Habilita el RPO cero (sin pérdida de datos) y el adjunto de VM en dos zonas.
- Usar Replicacion asincronía: Replica los datos desde un disco principal a uno secundario en otra región para la recuperación ante desastres entre regiones.
- Excluir el disco de arranque de la replicacion de datos: Ahorra costos replicando solo los datos en discos que no sean de arranque.
🔹 Redes
- Firewall: De forma predeterminada, se bloquea todo el tráfico entrante proveniente del exterior de una red.
- Permitir trafico HTTP:
- Permitir trafico HTTPS:
- Permitir las verificaciones de estado del balanceador de cargas
- Etiquetas de red: Asigna etiquetas de red para aplicar reglas de firewall a instancias de VM específicas
- Nombre de host: Para crear un nombre de host personalizado, sigue estas reglas: https://docs.cloud.google.com/compute/docs/instances/custom-hostname-vm?hl=es-419#naming_convention
- Reenvio de IP: El reenvío permite que la instancia ayude a enrutar paquetes.
- Configuración de rendimiento de la red
- Ancho de banda de red: El rendimiento de red Tier_1 por VM ofrece un mayor ancho de banda de salida para la comunicación de VM a VM y de VM a IP pública.
- Interfaz de red: Cada instancia de VM puede tener una o más interfaces de red. Las redes que no tienen subredes no admiten instancias con varias interfaces de red.
- Interfaces de red dinámica: Las NIC dinámicas proporcionan la flexibilidad para agregar interfaces de red a una instancia de VM, y también quitarlas, sin necesidad de reiniciar, y ofrecen escalabilidad debido a que admiten más de 10 NIC por VM. Esto permite una configuración y administración eficientes de la red a medida que evolucionan tus requisitos.
🔹 Seguridad
- Identidad y acceso a la API: Las aplicaciones que se ejecutan en la VM usan la cuenta de servicio para llamar a las APIs de Google Cloud. Selecciona la cuenta de servicio que quieres usar y el nivel de acceso a la API que deseas permitir.
- Cuentas de servicio: Las aplicaciones que se ejecutan en la VM usan la cuenta de servicio para llamar a las APIs de Google Cloud. Usa los permisos en el menú de la consola para crear una cuenta de servicio o usar la predeterminada si está disponible.
- Permisos de acceso: Selecciona el tipo y nivel de acceso a la API que se debe otorgar a la instancia.
- Permitir el acceso predeterminado
- Permitir el acceso total a todas las APIs de Cloud
- Configurar el acceso para cada API
- Servicio Confidential VM: Confidential Computing protege tus datos porque mantiene encriptada la memoria de esta instancia con claves a las que Google no tiene acceso y encripta tus datos en la memoria mientras están en uso.
- VM protegida: Las funciones de VM protegidas incluyen firmware UEFI de confianza y opciones de Inicio seguro, vTPM y supervisión de integridad
- Activa el arranque seguro: El inicio seguro ayuda a proteger las instancias de VM del software malicioso y los rootkits de nivel de inicio y kernel
- Activa vTPM: El módulo de plataforma segura virtual (vTPM) se usa para validar la integridad previa al inicio y del inicio de la VM invitada, y ofrece generación y protección de claves.
- Activar la supervisión de integridad: La supervisión de integridad te permite supervisar y verificar la integridad de inicio del entorno de ejecución de las instancias de VMs protegidas a través de Cloud Monitoring. Requiere que se habilite el vTPM.
- Acceso a la VM: Administra cómo se conectan los usuarios a la VM
- Agrega claves SSH generadas de forma manual: Agrega tus propias claves para el acceso a VM a través de una herramienta de terceros. No puedes usar estas claves cuando el acceso basado en IAM (mediante el Acceso al SO) está habilitado.
🔹 Avanzado
- Etiquetas: Las etiquetas te ayudan a identificar y organizar los recursos, asignar la responsabilidad de los costos y permitir o rechazar de forma condicional las políticas de firewall de red.
- Descripción: Se mostrara en el listado de las maquinas.
- Automatización: Puedes especificar una secuencia de comandos de inicio que se ejecutará cuando la instancia se inicie o reinicie. Las secuencias de comandos de inicio se pueden usar a fin de instalar software y actualizaciones, y también para garantizar que los servicios se ejecuten dentro de la máquina virtual.
- Metadatos: Puedes configurar los metadatos personalizados para una instancia o un proyecto fuera de los metadatos que define el servidor. Esto resulta útil para pasar los valores arbitrarios al proyecto o la instancia que el código puede consultar en la instancia.
✔ Guía de lo que debes saber antes de crear la VM
🟢 Proyecto, facturación y límites
Proyecto
- Todo en GCP vive dentro de un Project.
- La VM se crea dentro de un proyecto, no a nivel global.
- Verifica que estás en el proyecto correcto antes de crear recursos.
Facturación
- Sin cuenta de facturación activa no puedes crear VMs. Crear cuenta facturación google cloud
- GCP cobra por segundos (con mínimo de 1 minuto).
- Apagar una VM no elimina el costo del disco.
Cuotas (Quotas)
- Por defecto hay límites de:
- CPUs por región
- IPs externas
- Discos
Si falla la creación, muchas veces es por falta de cuota, no por configuración.
🟢 Región y zona (decisión crítica)
Regiones y zonas Google Cloud Platform GCP
- Elige una región cercana a tus usuarios.
- No mezcles regiones sin necesidad (sube costos).
🟢 Tipo de máquina (CPU y RAM)
GCP usa distintos tipos de maquinas, puede verlo en https://docs.cloud.google.com/compute/docs/general-purpose-machines?hl=es
- Puedes cambiar el tipo de máquina luego (apagando la VM).
- Más CPU/RAM = más costo continuo.
🟢 Imagenes
Una imagen de sistema operativo (SO) sirve como plantilla base para crear discos de arranque para tus máquinas virtuales (VMs)
Mas informacion en: https://docs.cloud.google.com/compute/docs/images/os-details?hl=es
🟢 Disco
Tamaño
- El disco se cobra aunque la VM esté apagada.
- Se puede aumentar, no reducir.
Recomendación
- Empieza con 20–30 GB SSD balanceado.
- No sobredimensiones.
🟢 Red y conectividad
IP externa
- Por defecto, GCP asigna una IP externa efímera.
- Si detienes la VM, la IP cambia.
IP estática
- Debes reservar una Static External IP si:
- Usas DNS
- Tienes firewalls externos
- Expones servicios públicos
🟢 Firewall
- GCP usa reglas de firewall a nivel de red, no por VM.
- SSH (22) suele estar abierto.
- HTTP (80) y HTTPS (443) no siempre.
🟢 Acceso SSH
En GCP:
- El acceso SSH se gestiona con:
- Claves SSH
- Google accounts + IAM
- OS Login
Puedes:
- Entrar desde la consola web
- Usar
gcloud compute ssh - Configurar tu propia clave SSH
Consejo
- Usa SSH con claves desde el inicio.
- Evita depender solo del acceso web.
🟢 IAM y permisos
- No todo el mundo puede crear o administrar VMs.
- Roles comunes:
Compute AdminCompute ViewerOwner(evitar en producción)