GNU/Linux >> Tutoriales Linux >  >> Linux

Administre AWS VPC usando aws-cli

Administrar una VPC y otros recursos como la subred, la tabla de rutas, la puerta de enlace de Internet desde la terminal mediante aws-cli puede resultar un poco confuso si no se le da bien la VPC. En este artículo, crearemos una VPC con 2 subredes, una tabla de rutas y una puerta de enlace de Internet; estas subredes serán subredes públicas. Después de crear la VPC, intentaremos conectarnos a la instancia EC2 creada en esta VPC. El objetivo de este artículo es presentarle los comandos utilizados para administrar VPC desde la terminal.

Se recomienda primero comprender muy bien la VPC, el enfoque de este artículo no es explicar la VPC. Para conocer las operaciones que se pueden realizar en VPC, visite la documentación oficial aquí.

Requisitos previos

  1. Cuenta de AWS  (cree si no tiene una).
  2. Comprensión básica de VPC (haga clic aquí para aprender a crear una VPC desde la consola de AWS).
  3. Usuario de IAM de AWS con la política AmazonVPCFullAccess adjunta y sus claves secretas y de acceso (haga clic aquí para obtener información sobre cómo crear un usuario de IAM).
  4. AWS CLI instalado en su máquina local.
  5. Comprensión básica de la instancia EC2 (haga clic aquí para aprender a crear una instancia Ubuntu EC2)

¿Qué haremos?

  1. Compruebe aws cli y exporte la clave secreta y de acceso de AWS en su máquina local.
  2. Administrar VPC mediante aws cli.

Verifique aws cli y exporte aws access &secret key en su máquina local.

Si no tiene la utilidad aws-cli instalada en su máquina, consulte la documentación oficial aquí para instalarla en su máquina local y luego verifique la versión con el siguiente comando.

aws --version

Si ejecuta el siguiente comando, obtendrá un error porque no ha configurado el acceso a su cuenta de AWS en la terminal.

aws sts get-caller-identity

Exporte el acceso de usuario de AWS IAM y las claves secretas en su terminal mediante los siguientes comandos.

export AWS_ACCESS_KEY_ID=<aws-user-access-key>
export AWS_SECRET_ACCESS_KEY=<aws-user-secret-key>

Esta vez, puedes verificar tu identidad ejecutando el siguiente comando

aws sts get-caller-identity

Administrar VPC mediante aws-cli

Cree una VPC con el siguiente comando; no creará una VPC predeterminada. 10.0.0.0/16 será el CIDR para la VPC que se creará. Puede especificar un CIDR válido según su elección y requisito.

aws ec2 create-vpc --cidr-block 10.0.0.0/16

Observe el VpcId en la captura de pantalla anterior. Verá un VpcId diferente en su salida. Tome nota del VpcId, lo necesitaremos en los próximos pasos.

Para describir todas las VPC de su región actual, ejecute el siguiente comando.

aws ec2 describe-vpcs

Al especificar el VpcId, puede describir la VPC específica

aws ec2 describe-vpcs --vpc-ids vpc-03c4278f3b75efd77

Ahora, creemos 2 subredes en la VPC que creamos. Aquí, ambas subredes deben tener bloques CIDR únicos en la VPC.

aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.1.0/24
aws ec2 create-subnet --vpc-id vpc-03c4278f3b75efd77 --cidr-block 10.0.2.0/24

Para hacer públicas las subredes, necesitamos crear una puerta de enlace de Internet

aws ec2 create-internet-gateway

Adjunte Internet Gateway con la VPC que creamos anteriormente.

aws ec2 attach-internet-gateway --internet-gateway-id igw-04f1e4f13f92599c3 --vpc-id vpc-03c4278f3b75efd77

Ahora, vamos a crear una tabla de rutas.

aws ec2 create-route-table --vpc-id vpc-03c4278f3b75efd77

Asocie la tabla de rutas con ambas subredes

aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0748ef7a26aefc7cc
aws ec2 associate-route-table --route-table-id rtb-0878d652f460dbf50 --subnet-id subnet-0375b656eb64962e8

La creación de una ruta desde la tabla de rutas hasta la puerta de enlace de Internet hará que las subredes asociadas con la tabla de rutas sean públicas

aws ec2 create-route --route-table-id rtb-0878d652f460dbf50 --destination-cidr-block 0.0.0.0/0 --gateway-id igw-04f1e4f13f92599c3

Ahora tenemos una VPC con 2 subredes, 1 tabla de rutas y una ruta desde la tabla de rutas hasta la puerta de enlace de Internet.

Si creamos una instancia EC2 en esta VPC y cualquiera de las subredes, la instancia será accesible públicamente desde Internet. Consulte el documento mencionado en el requisito previo para aprender a crear una instancia EC2 de Ubuntu. Al crear una instancia, especifique la VPC que acabamos de crear.

aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep VpcId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep SubnetId
aws ec2 describe-instances --instance-ids i-079acfea39b6ad2c9 | grep PublicIpAddress
ssh -i ~/Downloads/aws-cli.pem [email protected]

Conclusión

En este artículo, vimos los pasos para crear una VPC con 2 subredes, 1 tabla de rutas, una puerta de enlace de Internet y una ruta a la puerta de enlace de Internet desde la tabla de rutas. También vimos que la instancia creada en cualquiera de las subredes hace que la instancia sea pública disponible ya que ambas subredes son subredes públicas.


Linux
  1. Administrar el inicio usando systemd

  2. Guía de Ansible:Administrar archivos usando Ansible

  3. Cree una nube privada virtual (VPC) en AWS con Terraform

  4. Cree una instancia EC2 en AWS usando Terraform

  5. Cómo crear un rol de IAM en AWS usando Terraform

Cree un depósito S3 en AWS con Terraform

Cómo crear un depósito S3 usando Python Boto3 en AWS

Cómo administrar el estado de Terraform en un depósito de AWS S3

Administra tus juegos usando Lutris en Linux

Uso de Docker Desktop para administrar un contenedor

Cómo instalar AWS-CLI en Ubuntu