LinuxParty
Amazon Web Services tiene una consola web muy funcional y fácil de usar llamada la AWS Management Console. Es genial para la realización de tareas complejas en la infraestructura de AWS, aunque como administrador de sistemas Linux, es posible que desee usar algo más la "consola".
A principios de septiembre de 2013, Amazon lanzó la versión 1.0 de awscli , una potente interfaz de línea de comandos que se puede utilizar para administrar los servicios de AWS.
En esta serie de dos partes, voy a dar algunos ejemplos de trabajo de cómo utilizar awscli pra la prestación de servicios de AWS.
Vamos a trabajar con los servicios que se incluyen en la AWS "Uso gratuito de Tier". Por favor, asegúrese de comprender plenamente los precios AWS antes de proceder.
Para aquellos no familiarizados con AWS y con ganas de conocer un poco más, Amazon tiene una excelente documentación sobre temas de introducción .
Asegúrese de que tiene una versión relativamente actual de Python y una cuenta de AWS para poder utilizar awscli.
Instalación y configuración
Instale awscli usando pip. Si a usted quiere tener awscli instalado en un entorno Python aislado, verifique primero virtualenv .
$ pip install awscli
A continuación, configure awscli creando el archivo ~/.aws/config necesario.
$ aws configure
Depende de usted qué región le gustaría usar, aunque tenga en cuenta que en general cuanto más cerca de la región para su conexión a Internet, menos latencia experimentará.
Las regiones son:
- ap-northeast-1
- ap-southeast-1
- ap-southeast-2
- eu-west-1
- sa-east-1
- us-east-1
- us-west-1
- us-west-2
Por ahora, elija la tabla como el formato de salida por defecto. Proporciona una salida bonita que es muy fácil de leer y de entender, especialmente si acaba de empezar con AWS.
El formato JSON es el más adecuado para el manejo de la producción de awscli con herramientas como jq . El formato de texto funciona bien con las herramientas tradicionales de Unix como grep, sed y awk.
Si estás detrás de un proxy, awscli entiende las variables http_proxy y variables del ambiente https_proxy.
Primeros pasos
Así que seguimos adelante, vamos a realizar nuestra primera conexión con AWS.
$ aws ec2 describe-regions
Una tabla debe ser producido mostrando los campos de las regiones de AWS que soportan Ec2 Endpoint y RegionName
$ aws ec2 describe-availability-zones
La salida de describe-availability-zones debe ser la de las zonas de disponibilidad de AWS para nuestra región configurada.
awscli entiende que es posible que no sólo desee introducir una sola región.
$ aws ec2 describe-availability-zones --region us-west-2
Pasándo el argumento --region, podemos cambiar la región que awscli para las consultas predeterminadas que hemos configurado con los comandos aws y configure.
El aprovisionamiento de una instancia de EC2
Vamos a seguir adelante y empezar a construir nuestro primer servidor EC2 usando awscli.
Los servidores Ec2 permiten al administrador importar una clave SSH. Como no hay una consola física en la que podemos adjuntar a para EC2, SSH es la única opción por defecto que tenemos para acceder a un servidor.
La clave SSH pública se almacena dentro de AWS. Usted es libre de permitir a AWS generar las claves públicas y privadas o generar las claves de tu mismo.
Vamos a proceder mediante la generación de las claves nosotros mismos.
$ ssh-keygen -t rsa -f ~/.ssh/ec2 -b 4096
Después de suministrar una contraseña compleja, estamos listos para subir nuestra nueva clave pública SSH en AWS.
$ aws ec2 import-key-pair --key-name my-ec2-key \ --public-key-material "$(cat ~/.ssh/ec2.pub)"
La —public-key-material tiene la clave pública actual, no la ruta de acceso a la clave pública.
Vamos a crear un nuevo grupo de seguridad y abrir el puerto 22/tcp a la dirección IP externa de nuestro puesto de trabajo. Grupos de seguridad actúan como servidores de seguridad que podemos configurar para controlar el tráfico entrante y saliente a nuestra instancia EC2.
En general, me baso en ifconfig.me que me proporciona rápidamente mi dirección IP externa.
$ curl ifconfig.me
198.51.100.100
Ahora sabemos la dirección IP externa de nuestra estación de trabajo, podemos seguir adelante y crear el Grupo de Seguridad con la regla de entrada apropiado.
$ aws ec2 create-security-group \ --group-name MySecurityGroupSSHOnly \ --description "Inbound SSH only from my IP address" $ aws ec2 authorize-security-group-ingress \ --group-name MySecurityGroupSSHOnly \ --cidr 198.51.100.100/32 \ --protocol tcp --port 22
Necesitamos saber la Amazon Machine Image (AMI). Identificación de la máquina Linux Ec2 que tenemos para provisionar. Si usted ya tiene una image-id entonces puede saltarse el siguiente comando.
La ID de AMI para imágenes difieren entre las regiones. Podemos usar describe-images para determinar el ID de AMI. Para Amazon Linux AMI 09.02.2013 que fue lanzado el 12/12/2013.
El nombre para este AMI es amzn-ami-pv-2013.09.2.x86_64-ebs con el propietario p.ej amazon.
$ aws ec2 describe-images --owners amazon \ --filters Name=name,Values=amzn-ami-pv-2013.09.2.x86_64-ebs
Hemos combinado —owners y aplicamos el filtro de nombre que produce algunos detalles importantes sobre el AMI.
Lo que nos interesa es encontrar el valor para ImageId. Si está conectado a la región ap-southeast-2 , ese valor es ami-5ba83761.
$ aws ec2 run-instances --image-id ami-5ba83761 \ --key-name my-ec2-key --instance-type t1.micro \ --security-groups MySecurityGroupSSHOnly
run-instances crea 1 o más instancias de EC2 y debe emitir una gran cantidad de datos.
- InstanceId: Este es el ID de la instancia EC2 que vamos a utilizar para hacer referencia a esta máquina recién aprovisionada con todos los futuros comandos awscli.
- InstanceType: El tipo de la instancia representa la combinación conjunta de CPU, memoria, capacidad de almacenamiento y de red que esta instancia EC2 tiene t1.micro es el tipo de instancia pequeña disponible y para los nuevos clientes de AWS está dentro del. AWS Uso gratuito de Tier.
- PublicDnsName: El registro de DNS que se crea automáticamente por AWS cuando nos aprovisionamos de un nuevo servidor. Este registro DNS tiene por dirección IP externa que se encuentra bajo PublicIpAddress.
- GroupId bajo SecurityGroups: el Grupo de Seguridad de AWS que la instancia EC2 está asociado.
Si run-instances es exitosa, ahora deberíamos tener una instancia EC2 iniciada
$ aws ec2 describe-instances
En unos pocos segundos, se suministrará la instancia EC2 y usted debería ser capaz acceder vía ssh como el usaurio ec2-user. Desde la salida de describe-instances, el valor de PublicDnsName es el nombre de host externo para la instancia de EC2 que podemos utilizar para SSH. Una vez que la conexión SSH se ha establecido, puede utilizar el comando sudo para tener acceso de root.
$ ssh -i ~/.ssh/ec2 -l ec2-user \ ec2-203-0-113-100.ap-southeast-2.compute.amazonaws.com
Una útil característica de awscli get-console-output nos permite ver la consola de Linux de una instancia poco después de iniciar la instancia. Usted tendrá que canalizar la salida de get-console-output a través de sed para corregir los saltos de línea y retornos de carro.
$ aws ec2 get-console-output --instance-id i-0d9c2b31 \ | sed 's/\\n/\n/g' | sed 's/\\r/\r/g'
-
Comunidad
- Meta lanza el potente modelo de IA de código abierto Llama 3.1
- La Fundación que honra al creador de 'Star Trek' ofrece un premio de 1 millón de dólares para una startup de inteligencia artificial que beneficie a la humanidad
- ¿Cómo el Corrector Castellano puede mejorar tu redacción publicitaria en español?
- Los 10 mejores programas de foros de código abierto para Linux en 2023
- Madrid abre el primer burdel de muñecas sexuales
- Los creadores de Python, Java, TypeScript y SmallTalk harán una aparición conjunta con fines benéficos
- La mayoría de los 100 millones de personas que se registraron en Threads (de Facebook/Meta) dejaron de usarlo
- Elon Musk dice que el algoritmo de Twitter será de Código Abierto esta semana.
- Incluso en el metaverso, no puedes escapar del recaudador de impuestoS
- Los mejores 42 bancos de imágenes gratis.
- Una entrevista con Linus Torvalds: Linux y Git
- Comando date, trucos y opciones que puedes usar con archivos
- En las escuelas se debería enseñar solo Software Libre
- “AJAX Loading Error: error” Cuando tratas de actualizar el sitio web Joomla.
- 7 proyectos de código abierto que Amamos