Introducción a virtual machine en GCP
Antes de crear tu primera máquina virtual en Google Cloud Platform (GCP) conviene tener claros varios conceptos clave.
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)