Gestisci AWS VPC utilizzando aws-cli
Su questa pagina
- Prerequisiti
- Cosa faremo?
- Controlla aws cli ed esporta aws access & secret key sul tuo computer locale.
- Gestisci VPC utilizzando aws-cli
- 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
- Account AWS (crealo se non ne hai uno).
- Comprensione di base di VPC (qui per imparare a creare un VPC dalla console AWS).
- Utente AWS IAM con crea un utente IAM).
- AWS CLI installato sul tuo computer locale.
- Comprensione di base dell'istanza EC2 (fai clic qui per imparare a creare un'istanza Ubuntu EC2)
Che cosa faremo?
- Controlla aws cli ed esporta l'accesso AWS e la chiave segreta sul tuo computer locale.
- 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.