RECURSOS CLOUD
AWS: servicios básicos
Una ficha inicial para organizar los servicios esenciales de AWS y sus casos de uso.
FUNDAMENTOS
Qué es AWS y cómo organizar sus servicios
Amazon Web Services (AWS) es una plataforma de computación en la nube que ofrece servicios de infraestructura, almacenamiento, bases de datos, redes, seguridad, monitorización, automatización y desarrollo de aplicaciones.
Para empezar no es necesario conocer todo el catálogo. Resulta más útil comprender primero unas pocas categorías fundamentales y cómo se relacionan entre sí.
| Necesidad | Servicio AWS | Idea principal |
|---|---|---|
| Máquinas virtuales | Amazon EC2 | Capacidad de cómputo configurable |
| Almacenamiento de objetos | Amazon S3 | Guardar archivos y objetos de forma escalable |
| Identidad y permisos | AWS IAM | Controlar quién puede hacer qué |
| Red privada | Amazon VPC | Definir redes, subredes y conectividad |
| Base de datos relacional | Amazon RDS | Base de datos gestionada |
| Ejecución serverless | AWS Lambda | Ejecutar código en respuesta a eventos |
| Observabilidad | Amazon CloudWatch | Métricas, logs y alarmas |
El objetivo inicial debe ser comprender qué problema resuelve cada servicio y cómo se integra con los demás, no memorizar decenas de nombres comerciales.
INFRAESTRUCTURA GLOBAL
Regiones y zonas de disponibilidad
AWS organiza su infraestructura global principalmente mediante Regionesy Zonas de Disponibilidad.
Una Región es una ubicación geográfica en la que AWS dispone de infraestructura. Dentro de una Región existen varias Zonas de Disponibilidad físicamente separadas.
Al diseñar una arquitectura debemos tener en cuenta factores como proximidad a usuarios, disponibilidad de servicios, requisitos legales, resiliencia y coste.
CÓMPUTO
Amazon EC2: máquinas virtuales en la nube
Amazon EC2 permite crear servidores virtuales denominados instancias. Podemos elegir sistema operativo, capacidad de CPU, memoria, almacenamiento y configuración de red.
| Concepto | Función |
|---|---|
| AMI | Imagen utilizada como base para crear la instancia |
| Instance type | Define recursos como CPU y memoria |
| Key pair | Puede utilizarse para determinados métodos de acceso a instancias |
| Security Group | Controla tráfico permitido hacia y desde la instancia |
| EBS | Almacenamiento en bloques asociado habitualmente a instancias EC2 |
EC2 es apropiado cuando necesitamos un servidor sobre el que queremos mantener un grado importante de control.
Ese control también implica responsabilidad: sistema operativo, actualizaciones, configuración del software y parte de la seguridad quedan bajo gestión del cliente.
ALMACENAMIENTO
Amazon S3: almacenamiento de objetos
Amazon S3 es un servicio de almacenamiento de objetos. Los datos se organizan dentro de bucketsy cada objeto dispone de una clave que permite identificarlo.
Por ejemplo, dentro de un bucket podemos encontrar objetos con claves como:
imagenes/logo.pngdocumentos/manual.pdfcopias/backup.zip
S3 se utiliza habitualmente para archivos estáticos, copias de seguridad, logs, contenido multimedia, datasets y artefactos de aplicaciones.
No debe confundirse con un disco tradicional conectado a un servidor. S3 utiliza un modelo de almacenamiento de objetos y se consume mediante APIs y herramientas compatibles.
SEGURIDAD
Acceso y protección de objetos en S3
Un bucket no debería hacerse público simplemente para resolver rápidamente un problema de acceso.
AWS dispone de distintos mecanismos para controlar quién puede acceder a objetos:
- políticas IAM;
- políticas de bucket;
- configuración de acceso público;
- cifrado;
- versionado;
- reglas de ciclo de vida.
En una arquitectura real conviene aplicar el principio de mínimo privilegio: cada usuario, aplicación o servicio debería disponer únicamente de los permisos necesarios.
IDENTIDAD
IAM: usuarios, roles y políticas
AWS Identity and Access Management (IAM) permite controlar el acceso a recursos y acciones dentro de AWS.
| Elemento | Función |
|---|---|
| Usuario | Representa una identidad IAM individual en determinados escenarios |
| Grupo | Agrupa usuarios para facilitar la asignación de permisos |
| Rol | Identidad que puede ser asumida temporalmente por usuarios o servicios |
| Política | Documento que define permisos |
Un concepto fundamental es el principio de mínimo privilegio: conceder únicamente los permisos necesarios para realizar una tarea.
CUENTA
La cuenta raíz no es una cuenta de trabajo habitual
Al crear una cuenta AWS existe una identidad raíz con privilegios amplios. Esa identidad debe reservarse para tareas que realmente la requieran.
Como práctica básica:
- proteger la cuenta raíz con autenticación multifactor;
- no utilizarla para tareas cotidianas;
- no crear claves de acceso permanentes para la cuenta raíz;
- utilizar identidades y roles adecuados para la administración diaria.
REDES
Amazon VPC: la red de nuestros recursos
Amazon Virtual Private Cloud permite crear una red virtual aislada lógicamente para desplegar recursos AWS.
| Elemento | Idea principal |
|---|---|
| VPC | Red virtual principal |
| Subnet | Segmento de red dentro de la VPC |
| Route table | Define hacia dónde se dirige determinado tráfico |
| Internet Gateway | Permite conectividad con Internet cuando la arquitectura lo requiere |
| Security Group | Control de tráfico asociado a recursos |
| Network ACL | Control adicional de tráfico a nivel de subred |
Una subred no debería considerarse pública únicamente por su nombre. La conectividad real depende de las rutas, gateways, direcciones y configuración de los recursos.
ARQUITECTURA
Separar componentes públicos y privados
Una arquitectura frecuente separa los recursos que necesitan exposición pública de aquellos que deberían permanecer en redes privadas.
El objetivo no es exponer directamente todos los componentes, sino permitir únicamente los flujos de comunicación necesarios.
BASES DE DATOS
Amazon RDS: bases de datos relacionales gestionadas
Amazon Relational Database Service facilita la ejecución y administración de motores de bases de datos relacionales.
Frente a instalar una base de datos manualmente sobre una instancia EC2, RDS puede gestionar distintas tareas operativas relacionadas con la plataforma de base de datos.
Entre los conceptos habituales encontramos:
- instancia de base de datos;
- motor de base de datos;
- almacenamiento;
- copias de seguridad;
- grupos de seguridad;
- alta disponibilidad según configuración.
Utilizar un servicio gestionado reduce ciertas tareas de administración, pero no elimina responsabilidades como controlar permisos, diseñar correctamente los datos o proteger las credenciales.
SERVERLESS
AWS Lambda: ejecutar código basado en eventos
AWS Lambda permite ejecutar funciones sin administrar directamente servidores para cada ejecución.
Una función puede responder, por ejemplo, a:
- una petición web;
- un evento generado por otro servicio;
- la llegada de un objeto a S3;
- un mensaje;
- una tarea programada.
Serverless no significa que no existan servidores. Significa que la gestión directa de esa infraestructura queda abstraída en mayor medida para el desarrollador.
OBSERVABILIDAD
Amazon CloudWatch: métricas, logs y alarmas
Una infraestructura no debería considerarse terminada cuando simplemente funciona. También necesitamos saber qué ocurre durante su ejecución.
Amazon CloudWatch permite trabajar, entre otras capacidades, con:
- métricas;
- logs;
- alarmas;
- dashboards;
- información operativa de distintos servicios AWS.
SEGURIDAD CLOUD
Modelo de responsabilidad compartida
Utilizar AWS no significa transferir toda la responsabilidad de seguridad al proveedor. AWS y el cliente tienen responsabilidades diferentes.
| AWS | Cliente |
|---|---|
| Infraestructura física del servicio cloud | Configuración de recursos utilizados |
| Centros de datos | Gestión de identidades y permisos |
| Hardware subyacente | Protección y clasificación de los datos |
| Infraestructura base de la plataforma | Configuración del sistema operativo cuando corresponde |
La distribución exacta de responsabilidades depende del servicio utilizado. Cuanto más gestionado sea un servicio, más tareas operativas asume AWS, pero el cliente sigue teniendo responsabilidades sobre sus datos, identidades y configuración.
ADMINISTRACIÓN
Consola, CLI e Infrastructure as Code
AWS puede administrarse mediante diferentes interfaces.
| Método | Uso |
|---|---|
| Management Console | Interfaz web para administrar servicios |
| AWS CLI | Administración desde línea de comandos |
| SDK | Integrar AWS desde aplicaciones |
| Infrastructure as Code | Definir infraestructura mediante código o plantillas |
Por ejemplo, con AWS CLI podemos consultar buckets de S3:
aws s3 lsPara entornos reales, automatizar configuraciones repetibles suele ser preferible a depender exclusivamente de cambios manuales en la consola.
COSTES
La nube también necesita control económico
Los recursos cloud pueden generar costes mientras permanecen activos o almacenan datos. Crear un recurso para una práctica y olvidarlo posteriormente es un error frecuente.
Conviene prestar atención a:
- recursos que siguen ejecutándose;
- almacenamiento acumulado;
- transferencias de datos;
- snapshots y copias;
- direcciones y recursos asociados;
- servicios creados durante laboratorios.
AWS dispone de herramientas para consultar consumo, presupuestos y costes. El control económico debería formar parte del diseño desde el principio.
EJEMPLO DE ARQUITECTURA
Relacionar varios servicios
Una aplicación sencilla puede combinar varios servicios en lugar de depender de uno solo.
IAM controla identidades y permisos, mientras que VPC permite definir la conectividad y el aislamiento entre los distintos componentes.
El valor de aprender servicios básicos de AWS está precisamente en comprender cómo pueden combinarse para construir una arquitectura completa.
PRÁCTICA PROPUESTA
Diseñar una aplicación sencilla en AWS
Imagina una aplicación que necesita:
- ejecutar código;
- guardar imágenes;
- almacenar clientes y pedidos;
- controlar permisos;
- registrar métricas y errores.
Relaciona cada necesidad con un servicio:
| Necesidad | Servicio posible |
|---|---|
| Ejecutar aplicación | EC2 o Lambda, según el diseño |
| Guardar imágenes | S3 |
| Datos relacionales | RDS |
| Control de permisos | IAM |
| Red y aislamiento | VPC |
| Métricas y logs | CloudWatch |
Como ampliación, identifica qué componentes deberían ser públicos y cuáles deberían permanecer protegidos dentro de la arquitectura.
ERRORES HABITUALES
Problemas frecuentes al empezar con AWS
| Situación | Qué revisar |
|---|---|
| Utilizar la cuenta raíz para todo | Trabajar con identidades y roles adecuados. |
| Conceder permisos demasiado amplios | Aplicar mínimo privilegio. |
| Abrir servicios a Internet innecesariamente | Revisar Security Groups, rutas y arquitectura de red. |
| Hacer público un bucket para resolver un acceso | Revisar políticas y el mecanismo correcto de autorización. |
| No revisar logs ni métricas | Configurar observabilidad desde el principio. |
| Crear recursos y olvidarlos | Revisar periódicamente recursos y costes. |
| Hacer cambios solo desde la consola | Valorar automatización e Infrastructure as Code. |
CRITERIO PROFESIONAL
Buenas prácticas básicas
- Protege las identidades con autenticación multifactor cuando corresponda.
- No utilices la cuenta raíz para la administración cotidiana.
- Aplica el principio de mínimo privilegio.
- No publiques recursos simplemente para solucionar problemas de conectividad.
- Separa componentes según sus necesidades de exposición.
- Utiliza cifrado y mecanismos de protección adecuados para los datos.
- Monitoriza métricas, logs y eventos relevantes.
- Automatiza configuraciones repetibles cuando el proyecto lo requiera.
- Etiqueta y organiza los recursos para facilitar su administración.
- Revisa regularmente costes y recursos que ya no se utilizan.
Trabajar bien con cloud no consiste únicamente en desplegar recursos. También implica seguridad, observabilidad, automatización, resiliencia y control de costes.
REFERENCIA RÁPIDA
Servicios esenciales
| Servicio | Función principal |
|---|---|
EC2 | Máquinas virtuales |
S3 | Almacenamiento de objetos |
IAM | Identidades y permisos |
VPC | Red virtual |
EBS | Almacenamiento en bloques |
RDS | Bases de datos relacionales gestionadas |
Lambda | Ejecución de código serverless |
CloudWatch | Métricas, logs y alarmas |
RECURSOS RELACIONADOS
Recursos relacionados
PARA AMPLIAR
Documentación oficial
Esta guía presenta una introducción a varios servicios fundamentales. AWS dispone de muchas más capacidades y cada servicio cuenta con documentación específica.