GNU/Linux >> Linux Esercitazione >  >> Linux

Gestisci AWS VPC utilizzando aws-cli

La gestione di un VPC e di altre risorse come sottorete, tabella di instradamento, gateway Internet dal terminale utilizzando aws-cli può creare un po' di confusione se non sei bravo con il VPC. In questo articolo creeremo un VPC con 2 sottoreti, tabella di instradamento e gateway Internet, queste sottoreti saranno sottoreti pubbliche. Dopo aver creato il VPC, proveremo a connetterci all'istanza EC2 creata in questo VPC. Lo scopo di questo articolo è di presentarvi i comandi utilizzati per gestire il VPC dal terminale.

Si consiglia innanzitutto di comprendere molto bene il VPC, l'obiettivo di questo articolo non è la spiegazione del VPC. Per conoscere le operazioni che possono essere eseguite su VPC, visita la documentazione ufficiale qui.

Prerequisiti

  1. Account AWS (crealo se non ne hai uno).
  2. Conoscenza di base del VPC (fai clic qui per imparare a creare un VPC dalla Console AWS).
  3. Utente AWS IAM con policy AmazonVPCFullAccess allegata e relative chiavi di accesso e segrete (fai clic qui per informazioni su come creare un utente IAM).
  4. AWS CLI installata sul tuo computer locale.
  5. Conoscenza di base dell'istanza EC2 (fai clic qui per imparare a creare un'istanza EC2 di Ubuntu)

Cosa faremo?

  1. Controlla aws cli ed esporta la chiave di accesso e segreta di AWS sul tuo computer locale.
  2. Gestisci VPC usando aws cli.

Controlla aws cli ed esporta aws access e chiave segreta sul tuo computer locale.

Se non hai l'utilità aws-cli installata sulla tua macchina, fai riferimento alla documentazione ufficiale qui per installarla sulla tua macchina locale e quindi controlla la sua versione utilizzando il comando seguente.

aws --version

Se esegui il comando seguente, riceverai un errore perché non hai configurato l'accesso al tuo account AWS nel terminale.

aws sts get-caller-identity

Esporta l'accesso utente AWS IAM e le chiavi segrete sul tuo terminale utilizzando i seguenti comandi.

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

Questa volta, puoi verificare la tua identità eseguendo il seguente comando

aws sts get-caller-identity

Gestisci VPC usando aws-cli

Crea un VPC utilizzando il comando seguente, non creerà un VPC predefinito. 10.0.0.0/16 sarà il CIDR per il VPC che verrà creato. Puoi specificare un CIDR valido secondo la tua scelta e requisito.

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

Notare il VpcId nello screenshot sopra. Vedrai un VpcId diverso nell'output. Prendi nota del VpcId, ne avremo bisogno nei prossimi passaggi.

Per descrivere tutti i VPC della tua regione attuale, esegui il comando seguente.

aws ec2 describe-vpcs

Specificando il VpcId, puoi descrivere il VPC specifico

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

Ora creiamo 2 sottoreti nel VPC che abbiamo creato. Qui, entrambe le sottoreti devono avere blocchi CIDR univoci nel 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

Per rendere pubbliche le sottoreti, dobbiamo creare un gateway Internet

aws ec2 create-internet-gateway

Collega il gateway Internet con il VPC che abbiamo creato in precedenza.

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

Ora creiamo una tabella di percorso.

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

Associa la Route Table ad entrambe le sottoreti

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 creazione di un instradamento dalla tabella di instradamento all'Internet Gateway renderà pubbliche le sottoreti associate alla tabella di instradamento

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

Ora abbiamo un VPC con 2 sottoreti, 1 tabella di instradamento e un percorso da tabella di instradamento a gateway Internet.

Se creiamo un'istanza EC2 in questo VPC e in una qualsiasi delle sottoreti, l'istanza sarà raggiungibile pubblicamente da Internet. Fare riferimento al documento menzionato nel prerequisito per imparare a creare un'istanza EC2 di Ubuntu. Durante la creazione di un'istanza, specifica il VPC che abbiamo appena creato.

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]

Conclusione

In questo articolo, abbiamo visto i passaggi per creare un VPC con 2 sottoreti, 1 tabella di instradamento,  gateway Internet e un percorso verso il gateway Internet dalla tabella di instradamento. Abbiamo anche visto che l'istanza creata in una qualsiasi delle sottoreti rende l'istanza pubblicamente disponibile poiché entrambe le sottoreti sono sottoreti pubbliche.


Linux
  1. Gestisci l'avvio usando systemd

  2. Guida di Ansible:gestisci i file utilizzando Ansible

  3. Crea un Virtual Private Cloud (VPC) su AWS utilizzando Terraform

  4. Crea un'istanza EC2 su AWS utilizzando Terraform

  5. Come creare un ruolo IAM in AWS utilizzando Terraform

Crea un bucket S3 su AWS utilizzando Terraform

Come creare un bucket S3 utilizzando Python Boto3 su AWS

Come gestire lo stato di terraform in un bucket AWS S3

Gestisci i tuoi giochi usando Lutris in Linux

Utilizzo di Docker Desktop per gestire un container

Come installare AWS-CLI su Ubuntu