AWS-CLI. Un recurso esencial para programadores.
La popularidad de Amazon Web Services (AWS) ha crecido exponencialmente en los últimos años debido a su confiabilidad, escalabilidad y facilidad de uso. Con un amplio abanico de servicios que cubren casi todos los aspectos de la tecnología de la información, AWS se ha convertido en un recurso fundamental para empresas y desarrolladores por igual. Como programador, es esencial dominar la interfaz de línea de comandos de AWS (AWS-CLI) para aprovechar al máximo todos los servicios que ofrece. Pero es muy importante dejar claro que para un entorno de producción o integración, esta función recae en las manos de los SRE, que garantizarán el correcto funcionamiento, optimización de costes y recursos así como asegurar toda la infraestructura.
En este artículo, exploraremos cómo utilizar AWS-CLI para simplificar tareas comunes, automatizar procesos y mejorar la eficiencia en el desarrollo. Al final de este artículo, tendrás una comprensión sólida de AWS-CLI y cómo aplicarlo en tus proyectos.
¿Qué es AWS-CLI?.
AWS-CLI es una herramienta de línea de comandos unificada que te permite interactuar con los servicios de AWS directamente desde tu terminal. Con AWS-CLI, puedes administrar tus recursos, invocar funciones Lambda, administrar instancias EC2, desplegar aplicaciones y más, todo desde la comodidad de tu línea de comando.
Instalación y configuración de AWS-CLI.
Antes de comenzar, necesitarás instalar AWS-CLI en tu sistema. AWS-CLI es compatible con Windows, macOS y Linux. La instalación es sencilla y se detalla en la documentación oficial: https://aws.amazon.com/cli/
Una vez instalado AWS-CLI, es necesario configurarlo con tus credenciales de AWS. Ejecuta el siguiente comando:
aws configure
Se te pedirá que ingreses tu clave de acceso y clave secreta de AWS, la región predeterminada y el formato de salida. Si no tienes una cuenta de AWS, deberás crear una y generar tus claves de acceso desde el panel de control IAM (Identity and Access Management).
Uso básico de AWS-CLI.
Ahora que tienes AWS-CLI instalado y configurado, es hora de explorar algunos comandos básicos. Aquí hay una lista de algunos comandos comunes que podrías encontrar útiles:
Para enumerar todos los servicios de AWS disponibles:
aws help
Para obtener información sobre un servicio específico:
aws <servicio> help
Para listar todos los comandos disponibles para un servicio:
aws <servicio> help commands
Administración de instancias EC2.
Amazon EC2 (Elastic Compute Cloud) es uno de los servicios más populares de AWS, que te permite lanzar instancias de servidores virtuales con diferentes configuraciones de hardware y software. A continuación, se presentan algunos comandos útiles de AWS-CLI para administrar instancias EC2:
Para listar todas las instancias EC2 en ejecución:
aws ec2 describe-instances --query 'Reservations[*].Instances[*].[InstanceId, State.Name, InstanceType, LaunchTime]' --output table
Para detener una instancia EC2:
aws ec2 stop-instances --instance-ids i-1234567890abcdef0xxxx
Para iniciar una instancia EC2:
aws ec2 start-instances --instance-ids i-1234567890abcdef0xxx
Trabajando con S3.
Anazin S3 (Simple Storage Service) es otro servicio ampliamente utilizado de AWS, que permite almacenar y recuperar archivos en la nube. Aquí hay algunos comandos útiles de AWS-CLI para trabajar con S3:
Para enumerar todos los buckets S3:
aws s3 ls
Para crear un nuevo bucket S3:
aws s3api create-bucket --bucket my-new-bucket --region us-west-2
Para listar el contenido de un bucket:
aws s3 ls s3://my-bucket
Para subir un archivo a un bucket:
aws s3 cp local-file.txt s3://my-bucket/remote-file.txt
Para descargar un archivo desde un bucket:
aws s3 cp s3://my-bucket/remote-file.txt local-file.txt
Automatización con AWS Lambda.
AWS Lambda es un servicio de computación sin servidor que te permite ejecutar código en respuesta a eventos sin necesidad de administrar la infraestructura. AWS-CLI facilita la creación y administración de funciones Lambda:
Para crear una función Lambda:
aws lambda create-function --function-name my-function --runtime python3.8 --role arn:aws:iam::123456789012:role/service-role/MyLambdaRole --handler my_function.lambda_handler --zip-file fileb://my-function.zip
Para actualizar el código de una función Lambda existente:
aws lambda update-function-code --function-name my-function --zip-file fileb://my-function.zip
Para invocar una función Lambda:
aws lambda invoke --function-name my-function --payload '{"key": "value"}' response.json
Uso de Amazon RDS
Amazon RDS (Relational Database Service) es un servicio que permite crear, administrar y escalar fácilmente bases de datos relacionales en la nube. A continuación, se presentan algunos comandos de AWS-CLI para trabajar con RDS:
Para listar todas las instancias de base de datos:
aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceIdentifier, Engine, DBInstanceStatus]' --output table
Para crear una instancia de base de datos:
aws rds create-db-instance --db-instance-identifier my-db --db-instance-class db.t2.micro --engine MySQL --master-username myuser --master-user-password mypassword --allocated-storage 20
Para eliminar una instancia de base de datos:
aws rds delete-db-instance --db-instance-identifier my-db --skip-final-snapshot
AWS-CLI es una herramienta poderosa y flexible que permite a los programadores interactuar con los servicios de AWS de manera rápida y eficiente. Con una amplia gama de comandos disponibles para administrar recursos, automatizar tareas y simplificar el desarrollo, AWS-CLI es una habilidad esencial para cualquier programador que trabaje con AWS.
En este artículo, hemos cubierto cómo instalar y configurar AWS-CLI, y hemos explorado algunos comandos útiles para administrar instancias EC2, trabajar con S3, automatizar con Lambda y usar Amazon RDS. A medida que continúes trabajando con AWS-CLI, descubrirás que hay aún más posibilidades y funciones para aprovechar al máximo los servicios de AWS.