Lanzamiento y terminación de instancias de EC2 utilizando la interfaz de línea de comandos de AWS es la parte principal de la aplicación de la automatización para la escala horizontal de la infraestructura en AWS. Los recursos de infraestructura de AWS se controlan continuamente, y se inicia o termina una nueva instancia de EC2 dependiendo de los recursos aprovisionados y la carga. La interfaz de línea de comandos de AWS permite monitorear y aprovisionar la infraestructura en AWS utilizando algunos scripts de automatización. Este blog discutirá cómo se puede iniciar una instancia de EC2 utilizando la interfaz de línea de comandos en AWS.
Configurar las credenciales de AWS CLI
Para usar la interfaz de línea de comandos de AWS, primero genere y configure las credenciales de la interfaz de la línea de comandos de AWS en su sistema. El siguiente comando se puede utilizar para configurar las credenciales de la interfaz de la línea de comandos de AWS en su sistema local.
Ubuntu@ubuntu: ~ $ AWS Configurar
Crear VPC
Lo primero que antes de iniciar una instancia de EC2 es configurar un VPC (Virtual Private Cloud) en la que se iniciará la instancia EC2. Primero, enumere todos los VPC disponibles en una región específica.
Ubuntu@ubuntu: ~ $ AWS EC2 Describe-VPCS \
--Región US-East-1
Desde la salida, está claro que solo hay un VPC predeterminado en la región estadounidense-East-1. Ahora use el comando Crear-VPC del servicio EC2 para crear un VPC.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-VPC \
--Cidr-Block 192.168.0.16/0/16 \
--Región US-East-1
El comando anterior creará un VPC con un bloque CIDR especificado y generará la siguiente salida.
Tenga en cuenta la ID del VPC, ya que se utilizará para crear cualquier otro recurso dentro de la VPC.
Crear subred
Después de crear el VPC, ahora cree una subred dentro del VPC previamente creado. La subred se puede crear utilizando el comando Create-subnet proporcionado por la interfaz de línea de comandos AWS.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-subnet \
--VPC-ID\
--Cidr-Block 192.168.0.24/04 \
--Región US-East-1
Ahora modifique la subred para asignar automáticamente la IP pública a las instancias de EC2 lanzadas dentro de la subred. Realice este paso solo en las subredes que desea hacer público.
ubuntu@ubuntu: ~ $ AWS EC2 Modify-subnet-attribute \
--ID de subred\
--mapa-público-ip-on-elunch \
--Región US-East-1
Crear y adjuntar Internet Gateway a VPC
Internet Gateway permite la conectividad a Internet hacia y desde la VPC en AWS. Ahora use el comando Crear internet-gateway del servicio EC2 para crear una puerta de enlace de Internet.
Ubuntu@ubuntu: ~ $ AWS EC2 CREATE-INTERNET-GATEWAY \
--Región US-East-1
Ahora adjunte la puerta de enlace de Internet al VPC previamente creado utilizando el comando adjuntar y gateway de la gata del servicio EC2.
Ubuntu@ubuntu: ~ $ AWS EC2 AttachinTet-Gateway \
--VPC-ID\
--Internet-Gateway-ID\
--Región US-East-1
Crear y asociar la tabla de ruta con subred
La puerta de enlace de Internet está conectada a la VPC, y ahora podemos enrutar el tráfico de nuestra subred a la puerta de enlace de Internet utilizando la tabla de ruta. Al hacerlo, haremos de nuestra subred una subred pública. Cree la tabla de ruta utilizando el comando Create-Rutee-Table del servicio EC2.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-Rute-Table \
--VPC-ID\
--Región US-East-1
Creará una tabla de ruta con la ruta predeterminada enrutar todo el tráfico dentro de la subred. Ahora cree una nueva ruta que enrutará todo el tráfico hacia la puerta de enlace de Internet que permita la conectividad a Internet.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-Route \
--ID de mesa de ruta\
--Destino-CIDR 0.0.0.0/0 \
--ID de puerta de enlace\
--Región US-East-1
Después de crear la tabla de ruta y la ruta, ahora use el comando Associate-Rutee-Table para asociar la tabla de ruta con la subred.
ubuntu@ubuntu: ~ $ AWS EC2 Associate-Rute-Table \
--ID de subred\
--ID de mesa de ruta\
--Región US-East-1
Crear grupo de seguridad
Después de crear la tabla VPC, subred y de ruta, ahora es el momento de crear un grupo de seguridad para la instancia de EC2. El grupo de seguridad es un firewall virtual proporcionado por AWS y utilizado para controlar el tráfico entrante y saliente desde las instancias de EC2. La interfaz de línea de comandos de AWS proporciona el comando Create-Security-Group desde el servicio EC2 para crear el grupo de seguridad.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-Security-Group \
--nombre de grupo Demo-sg \
--Descripción "Grupo de seguridad para instancia de demostración" \
--VPC-ID\
--Región US-East-1
El comando anterior creará un grupo de seguridad en el VPC especificado y devolverá la ID del grupo de seguridad en respuesta.
Después de crear el grupo de seguridad, configure el grupo de seguridad para permitir o bloquear el tráfico entrante y saliente. Para este grupo de seguridad, abriremos el puerto 22 para la conexión SSH y el puerto 80 para el tráfico HTTP.
Ubuntu@ubuntu: ~ $ AWS EC2 Autorize-Security-Group-Insress \
--Identificación del grupo\
--Protocolo TCP \
--puerto 80 \
--CIDR 0.0.0.0/0 \
--Región US-East-1
Ubuntu@ubuntu: ~ $ AWS EC2 Autorize-Security-Group-Insress \
--Identificación del grupo\
--Protocolo TCP \
--puerto 22 \
--CIDR 0.0.0.0/0 \
--Región US-East-1
Los dos comandos anteriores crearán dos reglas de entrada para que el grupo de seguridad permita el tráfico entrante de los puertos 22 y 80.
Generar la tecla SSH
Antes de iniciar una instancia de EC2 usando la interfaz de línea de comandos AWS, cree una tecla SSH. Se utiliza una clave SSH para la autenticación, y es más segura que los métodos de autenticación de nombre de usuario y contraseña convencionales. La interfaz de línea de comandos de AWS proporciona el comando Create-Key-Pair desde el servicio EC2 para crear un par de teclas SSH.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-Key-Pair \
--Nombre de la tecla Demo-Key-Pair \
--Texto de salida \
--consulta "kimaterial" \
--Región US-East-1> ./Pair de llave de demostración.pem
El comando Create-Key-Pair toma el nombre de tecla y el tipo de salida como opciones, y la salida estándar de este comando se ha redirigido a un archivo llamado Demo-Key-Pair.pem. Use el comando CAT para verificar si la clave se genera localmente o no.
ubuntu@ubuntu: ~ $ Cat Demo-Key-Pair.pem
Después de generar la tecla SSH, ahora enumere la tecla SSH utilizando el comando Describe-Key-Parirs del servicio EC2 para confirmar si se crea en AWS o no.
Ubuntu@ubuntu: ~ $ AWS EC2 Describe-Key-Pairs \
--Nombre de la tecla Demo-Key-Pair \
--Región US-East-1
Iniciar instancia de EC2 usando CLI
Hasta ahora, hemos creado todos los recursos utilizados para lanzar la instancia de EC2; Ahora, es hora de iniciar una instancia de EC2 usando la interfaz de línea de comandos. La interfaz de línea de comandos de AWS proporciona el comando Runstances para iniciar la instancia de EC2.
ubuntu@ubuntu: ~ $ AWS EC2 Runstances \
--ID de imagen\
--Conde 1 \
--Type T2 de instancia.nano \
--Nombre de la tecla Demo-Key-Pair \
--IDS de grupos de seguridad\
--ID de subred\
--Región US-East-1
El comando anterior devolverá una salida larga que incluye la información detallada de la instancia de EC2. Ahora copie la ID de instancia y use el siguiente comando para verificar si la instancia se crea o no.
Ubuntu@ubuntu: ~ $ AWS EC2 Describa las instancias \
--ID de instancia\
--Región US-East-1
Conclusión
La interfaz de línea de comandos de AWS es una herramienta poderosa para automatizar el aprovisionamiento y la terminación de las instancias de EC2. La interfaz de línea de comandos de AWS proporciona diferentes comandos para crear diferentes recursos en la nube de AWS. Este blog utilizó la interfaz de línea de comandos para crear diferentes recursos como VPC, puerta de enlace de Internet, subred, tabla de ruta, tecla SSH, grupo de seguridad, rutas de tabla de ruta e instancia de EC2. Después de leer este blog, podrá crear una instancia de EC2 usando la interfaz de línea de comandos.