En el mundo de AWS, la capacidad de automatizar y gestionar tus recursos es fundamental.
En este post, hablaremos sobre cómo usar Boto3, el SDK de AWS para Python, que te permite crear, configurar y administrar servicios de AWS directamente desde tus scripts Python.
Para hacer todo esto con boto3 necesitamos tener instalado y configurado AWS CLI en la máquina, ya que nos facilitará la gestión de credenciales para acceder a diferentes cuentas de AWS desde nuestro código.

Instalación y configuración de boto3 y AWS CLI
AWS CLI es una herramienta unificada que da el control sobre los servicios de AWS directamente desde la línea de comandos.
Antes de instalar aws cli nos aseguramos de tener las credenciales de nuestro usuario de AWS.
Puedes instalar AWS CLI con el comando: pip install awscli
Para configurar awscli usaremos el comando: aws configure
Nos pedirá los datos el usuario: “AWS Access key ID”, la clave: “AWS Secret Access Key”, la región “eu-south-2” o “eu-west-3” y por último el output format, yo selecciono “json”
Estos detalles se almacenarán en el archivo de configuración y credenciales, ubicados en ~/.aws/credentials y ~/.aws/config, respectivamente.

Para instalar boto3 usaremos el comando: pip install boto3

Uso de Varias Cuentas de AWS
Es común necesitar acceder a recursos en varias cuentas de AWS dentro de un mismo proyecto. AWS CLI y Boto3 facilitan esta tarea mediante perfiles nombrados. Cada perfil contiene un conjunto de credenciales y, opcionalmente, configuraciones específicas como la región por defecto.

Para configurar varios perfiles, editamos el archivo ~/.aws/credentials y añadimos nuestras cuentas de la siguiente manera:

[default]
aws_access_key_id = TU_ACCESS_KEY_ID_DEFAULT
aws_secret_access_key = TU_SECRET_ACCESS_KEY_DEFAULT
[cuenta1]
aws_access_key_id = TU_ACCESS_KEY_ID_CUENTA1
aws_secret_access_key = TU_SECRET_ACCESS_KEY_CUENTA1
[cuenta2]
aws_access_key_id = TU_ACCESS_KEY_ID_CUENTA2
aws_secret_access_key = TU_SECRET_ACCESS_KEY_CUENTA2

**Reemplaza TU_ACCESS_KEY_xx, TU_SECRET_ACCESS_KEY_xx, etc., con tus propias credenciales.

Uso de Boto3 con Varias Cuentas en python
¿Cómo utilizamos estas cuentas en nuestros scripts Python con Boto3? La clave está en la creación de sesiones separadas para cada perfil de cuenta. Aquí te muestro cómo:

import boto3

# Configuración de la sesión y cliente S3 para la cuenta1
session1 = boto3.Session(region_name='region_origen', profile_name='cuenta1')
s3 = session1.client('s3')

# Operaciones usando la cuenta1...

# Configuración de la sesión y cliente S3 para la cuenta2
session2 = boto3.Session(region_name='region_destino', profile_name='cuenta2')
s3_dest = session2.client('s3')

# Operaciones usando la cuenta2...

De esta manera permite realizar operaciones en servicios de AWS específicos de cada cuenta, simplemente cambiando la sesión con la que inicializas el cliente de servicio de Boto3.

La combinación de AWS CLI y Boto3 nos ayuda a gestionar los recursos de AWS de manera eficiente y automatizada. Configurando múltiples perfiles de credenciales, puedes fácilmente alternar entre cuentas de AWS en tus scripts Python.

Y esto es todo amigos. Espero que os sea de ayuda!
Para mantener la web y seguir compartiendo conocimiento, considera invitarme a un café. Siempre se alegra uno 😉

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *