Para practicar con Python, he instalado una máquina virtual con Alpine 3.9. En esta entrada recojo los diferentes pasos que he realizado para configurarla como entorno de ejecución de Python 3.
Alpine para desarrollo con Python
- post
- Xavi Aznar
Photo by Mabel Amber
Para practicar con Python, he instalado una máquina virtual con Alpine 3.9. En esta entrada recojo los diferentes pasos que he realizado para configurarla como entorno de ejecución de Python 3.
Cuando se lanza un comando en la terminal -en general-, hace lo que tiene que hacer y termina. Sin embargo, algunos procesos se ejecutan indefinidamente (hasta que el usuario los termina usando Ctrl+C
). En este caso, el terminal queda bloqueado, en el sentido de que el usuario no puede lanzar nuevos comandos.
En esta entrada indico las diferentes opciones que tienes para poder gestionar comandos en un terminal de Linux.
AWS ofrece, como parte del servicio Systems Manager (y ¡gratis!) Parameter Store. Como su nombre indica, es un almacén de parámetros que podemos usar para evitar hardcodear valores de configuración de aplicaciones o scripts.
La documentación de Boto3, el SDK de AWS para Python es muy buena, pero es tedioso tener que ir consultándola a cada momento.
Esta entrada es una especie de recordatorio personal sencillo sobre cómo acceder a Parameter Store para leer el valor de un parámetro.
IAM es el servicio de gestión de identidades y accesos de AWS.
Como todo lo que coloques en el cloud está, por definición, expuesto a internet, la gestión de los permisos es uno de los puntos críticos que debes tener en cuenta.
A la hora de asignar permisos, siempre hay que aplicar el principio de least privilege, es decir, sólo proporcionar los mínimos permisos necesarios para realizar la tarea a realizar.
Sin embargo, esto es más sencillo de decir que de hacer, así que muchas veces se trata de un proceso iterativo: asignas permisos a un rol, intentas realizar alguna acción, la acción falla porque falta algún permiso… Como sólo puedes tener asignado un rol en cada momento, tienes que buscar una forma en la que cambiar entre el rol con permisos y el rol que estás creando de manera sencilla y ágil.
En esta entrada, creamos un rol de laboratorio asumible desde la misma cuenta en el que ir asignando políticas para realizar el refinado de las políticas de la manera más cómoda posible.
También puedes crear roles específicos para tareas de administración, etc y así usar un rol con permisos acotados en cada momento, cambiando al rol adecuado para realizar cada tarea.
Ayer volví a ver el vídeo Implementing DNS via dnsmasq sobre dnsmasq y revisando el funcionamiento en una VM con Alpine que tengo en el equipo de laboratorio.
No recordaba si había escrito en el pasado sobre dnsmasq en el blog; creía que sí, pero no recordaba cuándo o qué había escrito. Usando la opción site:https://onthedock.github.io/
en Google realicé una búsqueda sobre el blog y encontré varios artículos al respecto.
Hace un tiempo había considerado añadir una caja de búsqueda al site, pero recuerdo que tras buscar información sobre cómo incluir una caja de búsqueda de Google personalizada abandoné esta vía (No lo recuerdo con exactitud, pero me parece que Google había dejado de ofrecer esta opción).
No recuerdo cómo exactamente, pero descubrí que DuckDuckGo, el navegador que respeta la privacidad, si que ofrece esta opción: DuckDuckGo Search Box.
Así que tras modificar ligeramente las plantillas, ¡ya está lista la caja de búsqueda en el blog!
Uno de los problemas de usar usuarios IAM con acceso programático a los recursos en AWS es la seguridad de la secret key (incluso habilitando la seguridad con varios factores de autenticación (MFA)).
Cuando un trabajador deja de estar vinculado a la empresa, existen procesos que se encargan de decomisionar los elementos asociados al ex-trabajador; en particular, se elimina el acceso a los sistemas a los que tuviera acceso mediante la desactivación de las cuentas del usuario.
El problema es que los usuarios IAM tienen claves de acceso programático que permiten el acceso a los recursos de manera independiente a los sistemas de gestión de identidad corporativa (generalmente un LDAP) sin necesidad de estar conectados a la red de la empresa.
Aunque la solución más directa parece la modificación del proceso de baja para incluir anulación de los usuarios IAM, lo ideal es conseguir acceso programático a AWS con credenciales federadas, es decir, centralizando la autenticación en el sistema de gestión de identidades de la empresa.
Al final de la entrada anterior indicaba que para empezar a usar tu cuenta de AWS necesitas un usuario.
A continuación comento cómo crear un usuario IAM.
Los primeros pasos en el cloud de Amazon se dan a través de la consola web de AWS.
Sin embargo, la verdadera potencia de AWS es que todas las acciones que se realizan a través de la consola se pueden ejecutar desde la línea de comandos.
Y si pueden ejecutarse desde la línea de comandos, pueden automatizarse.
Ahí es donde empieza lo interesante…
Pero antes necesitamos instalar aws-cli
(o simplemente aws
), la herramienta de línea de comandos para interaccionar con la API de AWS.
En las metodologías ágiles, se habla de pivotar cuando se cambia el modelo de negocio de una empresa -normalmente una start up- para adaptarse a las necesidades de los usuarios y potenciales clientes.
En la entrada AWS Instance Scheduler indicaba cómo configurar AWS Instance Scheduler en una cuenta. Sin embargo, una de las capacidades más interesantes de esta solución de Amazon es la posibilidad de programar el encendido (y/o apagado) de instancias en diferentes cuentas.