Lecciones

Modos de acceso a los recursos de AWS

Escrito por David Silva y Daniel Agudelo | 23 de diciembre de 2019

Seguramente en algún momento te has hecho la siguiente pregunta: ¿De qué formas puedo visualizar y administrar los recursos y servicios de Amazon Web Services?.

A continuación te presentamos cuáles son estas formas y cómo puedes configurarlas en tu equipo, ya sea que requieras trabajar directamente con los recursos o simplemente desees conocer y experimentar.

Consola de administración

La Consola de administración de AWS es una aplicación web que engloba y hace referencia a un amplio conjunto de consolas de servicios para la administración de Amazon Web Services. 

Se trata de una Consola gráfica donde luego de acceder puedes encontrar todos los servicios que ofrece Amazon Web Services. La siguiente imagen presenta la pantalla de inicio de sesión en la consola de administración.

  • El recuadro azul es para indicar el id o “alias” de la cuenta a la que se quiere acceder.
  • El recuadro rojo corresponde al nombre de usuario que poseas o se te haya asignado para el acceso.
  • El recuadro verde es para la contraseña (Se recomienda tener una contraseña con alto grado de seguridad debido al tipo de interacciones que pueden hacerse con la consola y al sobrecosto que pueden causar)

Cabe aclarar que si la cuenta no es de tu propiedad y es tu empresa la titular, el administrador de infraestructura es la persona encargada de aprovisionar tanto el nombre de usuario como la contraseña segura.

Luego de ingresar le das click en la lista desplegable de servicios y allí encontrarás todo lo necesario en cuanto a productos de Amazon Web Services.

 

CLI

La interfaz de la línea de comandos de AWS (CLI de AWS) es una herramienta unificada que ofrece una interfaz lógica para interactuar con todas las partes de AWS.

Esta herramienta de interacción es comúnmente usada por los desarrolladores y las aplicaciones o servicios que requieran de comandos textuales para su interacción.

Instalación de AWS CLI en Windows

Prerrequisitos:

  • Python
  • Tener acceso a internet
  • Contar con credenciales usuario de AWS con permiso para AWS CLI
  • Tener permisos para modificar el path de usuario en Windows

Instalación Python (Windows)

Descargue el instalador de Python para Windows x86-64 desde la página de descargas de Python.org. 

Ejecute el instalador y elija Add Python 3.7 to PATH

Seleccione Install Now (instalar ahora)

Si se desea se puede deshabilitar el límite del tamaño del PATH. De lo contrario dar en close.

Nota: En muchas de estas utilidades es necesario modificar las variables de entorno del usuario (PATH) del usuario para poder acceder a estas utilidades más fácil. Esto lo podemos hacer de la siguiente manera:

En el explorador de windows, damos clic derecho sobre “Este equipo” y le damos en la opción “Propiedades”

Posterior a esto damos clic en “Configuración avanzada del sistema”

Luego en “Opciones avanzadas damos click en “Variables de entorno”

Luego seleccionamos la variable “path” y damos click en “Editar”

Allí encontraremos las rutas asignadas a la variable “PATH” y en ella debemos ir adicionando los ejecutables que lo requieran.

 

Instalación AWS CLI (Windows)

Primero debemos abrir una sesión de cmd o powershell y validamos la instalación de python de la siguiente manera:

Luego debemos ejecutar la instalación por medio de pip3 con el comando “pip3 install awscli”

Nota: PIP es un gestor de paquetes de Python para la instalación de componentes

Una vez finaliza la instalación de AWS CLI podemos hacer la validación de funcionamiento de la aplicación por medio del comando “aws --version”

Es recomendable instalar la versión más reciente. También en el momento que deseemos actualizar la versión de AWS CLI lo podemos hacer de la siguiente manera:

pip3 install --user --upgrade awscli

Para validar si AWS CLI quedó configurado en las variables de entorno (PATH) correctamente lo hacemos por medio del comando “where aws”. Abrimos una sesión de línea de comandos de Windows “cmd” en el menú ejecutar presionando las teclas “Windows + r” y escribiendo “cmd”, presionamos enter y nos abre la ventana de línea de comandos. Ahí ejecutamos el comando “where aws”

Para poder conectarnos a AWS debemos configurar las credenciales con las que vamos a implementar y administrar nuestros componentes y servicios. Las credenciales de AWS se componen de un Access Key Id y un Secret Access Key. El usuario debe poseer permisos en IAM de conexión por medio de CLI o SDK.

Configuración de credenciales y perfiles (Windows)

Una vez tengamos esas credenciales debemos ejecutar el comando “aws configure”.

Este comando nos va a solicitar 4 componentes que son:

  • AWS Access Key ID [None]:
  • AWS Secret Access Key [None]:
  • Default region name [None]:
  • Default output format [None]:


Para el ejemplo lo hicimos de la siguiente manera:



Estas credenciales quedan configuradas en el directorio raíz del perfil del usuario en el que se está trabajando. Para nuestro caso en C:\Users\user\.aws. Al ejecutar este comando se crea un directorio llamado “.aws” y dentro de este “credentials” y “config”.

En credentials podemos configurar los diferentes perfiles de conexión. Esto es muy útil cuando tenemos usuarios con diferentes permisos por el concepto de seguridad de nube de “Least privilege”. También es útil cuando trabajamos con diferentes cuentas y necesitamos cambiar rápidamente entre ellas.

Para configurar más permisos podemos hacerlo adicionando “--profile” al final del comando. Por ejemplo:

En el archivo “credentials” podemos ver estos perfiles con cualquier editor de texto y tiene la siguiente estructura:

En el archivo “config” podemos ver las configuraciones de región y el formato en el cual se van a interpretar las entradas.

Nota: Para trabajar con servicios como EKS (Kubernetes) es necesario configurar el aws_iam_authenticator, kubectl y otros componentes que interactuan con estas infraestructuras por lo que es necesario apoyarse en herramientas o gestores de paquetes tales como PIP y Chocolatey (choco) los cuales de una manera muy rápida podemos instalar estos componentes de una manera más ágil.

También es importante tener en cuenta que ya en las últimas versiones de windows tenemos mucha más interacción por medio de línea de comandos (tipo linux) y que incluso en windows 10 ya tenemos la posibilidad de tener un subsistema linux sin necesidad de tener otra partición o reiniciar nuestro equipo y pasarnos a otro sistema operativo.

Instalación de AWS CLI en Linux (Ubuntu)

La interfaz de la línea de comandos de AWS (CLI de AWS) es una herramienta unificada que ofrece una interfaz lógica para interactuar con todas las partes de AWS.

Prerrequisitos:

  • Python
  • Gestor de paquetes (pip)
  • Tener acceso a internet
  • Tener permisos para la instalación y ejecución de paquetes
  • Contar con credenciales usuario de AWS con permiso para AWS CLI

Para instalar los componentes anteriores debemos abrir una terminal y seguir los siguientes pasos:


Instalación Python (Linux)

sudo apt-get update

Luego de actualizar procedemos a instalar el siguiente paquete:

sudo apt install software-properties-common

Añadimos el repositorio necesario para descargar las librerías de Python

sudo add-apt-repository ppa:deadsnakes/ppa

Realizamos la instalación de python con el siguiente comando:

sudo apt-get install python3.7

Podemos comprobar la versión y correcta instalación de python con el siguiente comando:

python3.7 --version

Instalación Gestor de paquetes pip (Linux)

sudo apt install python3-pip

 

Instalación AWS CLI (Linux)

La instalación se hará con el usuario del sistema operativo con el que ejecute los comandos en el momento.

pip3 install awscli --upgrade --user

Para verificar la correcta instalación de AWS CLI lo hacemos con el siguiente comando

aws --version

Podemos utilizar el siguiente comando para comprobar qué paquetes están obsoletos

pip3 list -o

Configuración de credenciales y perfiles (Linux)

Al igual que en windows podemos configurar las credenciales con perfiles para posibilitar una mejor interacción con Amazon Web Services mediante CLI.

Para ingresar unas credenciales de manera predeterminada usaremos el comando:

aws configure

Escribimos los datos correspondientes según se soliciten

Las credenciales configuradas anteriormente serán nombradas automáticamente con el perfil “default”, éstas se tomarán como predeterminadas en caso de lanzar algún comando o instrucción de en aws cli sin previamente haber indicado en este un nombre de perfil.

Estas credenciales quedarán configuradas en el directorio raíz de la carpeta del usuario en el que se está trabajando. Para este caso es: ~/.aws/credentials. Al ejecutar este comando se crea un directorio llamado “.aws” y dentro de este los archivos “credentials” y “config” los cuales almacenarán la información de credenciales, región y formato de salida.

Para configurar los perfiles basta con ejecutar el siguiente comando:

aws configure --profile nombreperfil

Ejemplo
aws configure --profile user1

Esto grabará automáticamente las credenciales en el archivo ~/.aws/credentials con el nombre de perfil que hayas asignado, sin sobreescribir las credenciales indicadas como default o predeterminadas.

Para usar un perfil con nombre, añadimos la opción --profile nombreperfil a nuestro comando.

En el siguiente ejemplo se muestran la descripción de las instancias EC2 con las credenciales y la configuración definidas en el perfil user1 del ejemplo anterior.

aws ec2 describe-instances --profile user1