Avvio e terminazione delle istanze EC2 utilizzando l'interfaccia della riga di comando AWS è la parte principale dell'applicazione dell'automazione per il ridimensionamento orizzontale dell'infrastruttura su AWS. Le risorse di infrastruttura AWS vengono continuamente monitorate e una nuova istanza EC2 viene lanciata o terminata a seconda delle risorse fornite e del carico. L'interfaccia della riga di comando AWS consente di monitorare e eseguire il monitoraggio dell'infrastruttura su AWS utilizzando alcuni script di automazione. Questo blog discuterà di come un'istanza EC2 può essere lanciata utilizzando l'interfaccia della riga di comando su AWS.
Configurare le credenziali di AWS CLI
Per utilizzare l'interfaccia della riga di comando AWS, prima generare e configurare le credenziali dell'interfaccia della riga di comando AWS sul sistema. Il seguente comando può essere utilizzato per configurare le credenziali dell'interfaccia della riga di comando AWS sul sistema locale.
ubuntu@ubuntu: ~ $ aws configura
Crea VPC
La prima cosa prima di avviare un'istanza EC2 è impostare un VPC (cloud privato virtuale) in cui verrà lanciata l'istanza EC2. Innanzitutto, elenca tutti i VPC disponibili in una regione specifica.
ubuntu@ubuntu: ~ $ AWS EC2 Descrivi-vpcs \
--Regione US-East-1
Dall'output, è chiaro che esiste un solo VPC predefinito nella regione USA-East-1. Ora usa il comando Create-VPC del servizio EC2 per creare un VPC.
ubuntu@ubuntu: ~ $ aws ec2 create-vpc \
--Cidr-Block 192.168.0.0/16 \
--Regione US-East-1
Il comando sopra creerà un VPC con un blocco CIDR specificato e genererà il seguente output.
Nota l'ID del VPC in quanto verrà utilizzato per creare qualsiasi altra risorsa all'interno del VPC.
Crea sottorete
Dopo aver creato il VPC, ora crea una sottorete all'interno del VPC precedentemente creato. La sottorete può essere creata utilizzando il comando create-subnet fornito dall'interfaccia della riga di comando AWS.
ubuntu@ubuntu: ~ $ aws ec2 create-sobnet \
--VPC-ID\
--Cidr-Block 192.168.0.0/24 \
--Regione US-East-1
Ora modifica la sottorete per assegnare automaticamente l'IP pubblico alle istanze EC2 lanciate all'interno della sottorete. Eseguire questo passaggio solo sulle sottoreti che si desidera rendere pubblico.
ubuntu@ubuntu: ~ $ AWS EC2 Modify-Subnet-attribute \
--sottorete-id\
--map-public-ip-on-launch \
--Regione US-East-1
Crea e allega il gateway Internet a VPC
Il gateway Internet consente la connettività Internet da e verso il VPC su AWS. Ora usa il comando create-internet-gateway del servizio EC2 per creare un gateway Internet.
ubuntu@ubuntu: ~ $ aws ec2 create-internet-gateway \
--Regione US-East-1
Ora allega il gateway Internet al VPC precedentemente creato utilizzando il comando Attack-Internet-Gateway del servizio EC2.
ubuntu@ubuntu: ~ $ AWS EC2 ANCACK-INTERNET-GATEWAY \
--VPC-ID\
--Internet-gateway-id\
--Regione US-East-1
Crea e associare la tabella di rotte con la sottorete
Il gateway Internet è allegato al VPC e ora possiamo instradare il traffico dalla nostra sottorete al gateway Internet utilizzando il tavolo del percorso. In questo modo, renderemo la nostra sottorete una sottorete pubblica. Crea la tabella di rotte utilizzando il comando Crea-Route-Table del servizio EC2.
ubuntu@ubuntu: ~ $ aws ec2 create-route table \
--VPC-ID\
--Regione US-East-1
Creerà una tabella di percorso con il percorso predefinito che instrada tutto il traffico all'interno della sottorete. Ora crea un nuovo percorso che inserirà tutto il traffico verso Internet Gateway che consente la connettività Internet.
ubuntu@ubuntu: ~ $ aws ec2 create-route \
--percorso-id-id\
--Destination-Cidr 0.0.0.0/0 \
--Gateway-id\
--Regione US-East-1
Dopo aver creato la tabella del percorso e il percorso, ora usa il comando del tavolo da rotta associato per associare la tabella del percorso alla sottorete.
ubuntu@ubuntu: ~ $ AWS EC2 Associate-Route Table \
--sottorete-id\
--percorso-id-id\
--Regione US-East-1
Crea gruppo di sicurezza
Dopo aver creato la tabella VPC, Subnet e Route, ora è il momento di creare un gruppo di sicurezza per l'istanza EC2. Il gruppo di sicurezza è un firewall virtuale fornito da AWS e utilizzato per controllare il traffico in arrivo e in uscita dalle istanze EC2. L'interfaccia della riga di comando AWS fornisce comando creatura-security-group dal servizio EC2 per creare il gruppo di sicurezza.
ubuntu@ubuntu: ~ $ aws ec2 create-security-group \
--DEMO-SG di gruppo di gruppo \
--Descrizione "Gruppo di sicurezza per l'istanza demo" \
--VPC-ID\
--Regione US-East-1
Il comando sopra creerà un gruppo di sicurezza nel VPC specificato e restituirà l'ID gruppo di sicurezza in risposta.
Dopo aver creato il gruppo di sicurezza, configurare il gruppo di sicurezza per consentire o bloccare il traffico in entrata e in uscita. Per questo gruppo di sicurezza, apriremo la porta 22 per la connessione SSH e la porta 80 per il traffico HTTP.
ubuntu@ubuntu: ~ $ AWS EC2 Authorize-Security-Group-Ingress \
--Gruppo-id\
--protocollo tcp \
--Porta 80 \
--CIDR 0.0.0.0/0 \
--Regione US-East-1
ubuntu@ubuntu: ~ $ AWS EC2 Authorize-Security-Group-Ingress \
--Gruppo-id\
--protocollo tcp \
--Porta 22 \
--CIDR 0.0.0.0/0 \
--Regione US-East-1
I due comandi sopra creeranno due regole di ingresso per il gruppo di sicurezza per consentire il traffico in entrata dalle porte 22 e 80.
Genera la chiave SSH
Prima di avviare un'istanza EC2 utilizzando l'interfaccia della riga di comando AWS, crea una chiave SSH. Una chiave SSH viene utilizzata per l'autenticazione ed è più sicuro del nome utente e della password convenzionali di autenticazione. L'interfaccia della riga di comando AWS fornisce il comando Create-Ke-Key-Pair dal servizio EC2 per creare una coppia di tasti SSH.
ubuntu@ubuntu: ~ $ AWS EC2 Crea-Key-Pair \
--Chiave-name Demo-Key-Pair \
--Testo di output \
--query "keymaterial" \
--Regione US-EAST-1> ./Demo-Key-Pair.PEM
Il comando Create-Key-Pair prende il nome chiave e il tipo di output come opzioni e l'output standard di questo comando è stato reindirizzato a un file denominato Demo-Key-Pair.PEM. Utilizzare il comando Cat per verificare se la chiave viene generata localmente o no.
ubuntu@ubuntu: ~ $ cat demo-key-pair.PEM
Dopo aver generato il tasto SSH, ora elenca la chiave SSH utilizzando il comando descrivite-key-pople del servizio EC2 per confermare se viene creato su AWS o no.
ubuntu@ubuntu: ~ $ aws ec2 descrivi-ket-copie \
--Chiave-name Demo-Key-Pair \
--Regione US-East-1
Avvia l'istanza EC2 usando la CLI
Finora abbiamo creato tutte le risorse utilizzate per avviare l'istanza EC2; Ora è il momento di avviare un'istanza EC2 utilizzando l'interfaccia della riga di comando. L'interfaccia della riga di comando AWS fornisce il comando Run-Istances per avviare l'istanza EC2.
ubuntu@ubuntu: ~ $ AWS EC2 Run-isstance \
--ID immagine\
--Contare 1 \
--T2 di tipo istanza.nano \
--Chiave-name Demo-Key-Pair \
--ID-Group-Group\
--sottorete-id\
--Regione US-East-1
Il comando sopra restituirà un lungo output che include le informazioni dettagliate dell'istanza EC2. Ora copia l'ID istanza e usa il comando seguente per verificare se l'istanza viene creata o meno.
ubuntu@ubuntu: ~ $ AWS EC2 Descrivi-isstance \
--ID istanza\
--Regione US-East-1
Conclusione
L'interfaccia della riga di comando AWS è un potente strumento per automatizzare il provisioning e la risoluzione delle istanze EC2. L'interfaccia della linea di comando AWS fornisce comandi diversi per creare risorse diverse sul cloud AWS. Questo blog ha utilizzato l'interfaccia della riga di comando per creare diverse risorse come VPC, Gateway Internet, Subnet, Route Table, Key SSH, Gruppo di sicurezza, Route Table Route e EC2. Dopo aver letto questo blog, sarai in grado di creare un'istanza EC2 utilizzando l'interfaccia della riga di comando.