Ricerca nel sito web

Gestisci AWS VPC utilizzando aws-cli


Su questa pagina

  1. Prerequisiti
  2. Cosa faremo?
  3. Controlla aws cli ed esporta aws access & secret key sul tuo computer locale.
  4. Gestisci VPC utilizzando aws-cli
  5. Conclusione

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 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 è presentarti i comandi utilizzati per gestire VPC dal terminale.

Si consiglia innanzitutto di comprendere molto bene il VPC, l'obiettivo di questo articolo non è spiegare il 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. Comprensione di base di VPC (qui per imparare a creare un VPC dalla console AWS).
  3. Utente AWS IAM con crea un utente IAM).
  4. AWS CLI installato sul tuo computer locale.
  5. Comprensione di base dell'istanza EC2 (fai clic qui per imparare a creare un'istanza Ubuntu EC2)

Che cosa faremo?

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

Controlla aws cli ed esporta aws access & secret key sul tuo computer locale.

Se non hai l'utilità aws-cli installata sul tuo computer, fai riferimento alla documentazione ufficiale qui per installarla sul tuo computer locale e quindi verificane la versione utilizzando il seguente comando.

aws --version

Se esegui il seguente comando, riceverai un errore poiché 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 utilizzando aws-cli

Crea un VPC utilizzando il seguente comando, 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 il tuo 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 passaggi successivi.

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

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. In questo caso, 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, è necessario creare un gateway Internet

aws ec2 create-internet-gateway

Collega l'Internet Gateway 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 instradamento.

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

Associa la tabella di instradamento a 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 al gateway Internet 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 disponiamo di un VPC con 2 sottoreti, 1 tabella di instradamento e un instradamento dalla tabella di instradamento al 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 Ubuntu EC2. Durante la creazione di un'istanza, specifica il VPC 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 

Conclusione

In questo articolo, abbiamo visto i passaggi per creare un VPC con 2 sottoreti, 1 tabella di instradamento,  Internet Gateway e un instradamento verso l'Internet Gateway 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.