Uruchamianie i zakończenie instancji EC2 za pomocą interfejsu wiersza polecenia AWS jest główną częścią stosowania automatyzacji do poziomej skalowania infrastruktury na AWS. Zasoby infrastruktury AWS są stale monitorowane, a nowa instancja EC2 jest uruchamiana lub zakończona w zależności od dostarczonych zasobów i obciążenia. Interfejs linii poleceń AWS umożliwia monitorowanie infrastruktury AWS za pomocą niektórych skryptów automatycznych. Ten blog omówi, w jaki sposób można uruchomić instancję EC2 za pomocą interfejsu wiersza poleceń na AWS.
Skonfiguruj poświadczenia AWS CLI
Aby użyć interfejsu linii poleceń AWS, najpierw generuj i skonfiguruj poświadczenia interfejsu wiersza polecenia AWS w systemie. Do konfigurowania poświadczeń interfejsu linii poleceń AWS można użyć do konfiguracji poświadczeń interfejsu linii poleceń w systemie lokalnym.
Ubuntu@ubuntu: ~ $ AWS konfiguruj
Utwórz VPC
Pierwszą rzeczą przed uruchomieniem instancji EC2 jest skonfigurowanie VPC (Virtual Private Cloud), w której zostanie uruchomiona instancja EC2. Najpierw wymień wszystkie VPC dostępne w określonym regionie.
Ubuntu@ubuntu: ~ $ AWS ec2 Opis-vpcs \
--Region US-East-1
Z wyjścia jasno wynika, że w regionie US-East-1 jest tylko jeden domyślny VPC. Teraz użyj polecenia Create-VPC usługi EC2, aby utworzyć VPC.
Ubuntu@ubuntu: ~ $ AWS ec2 create-vpc \
--CIDR-BLOCK 192.168.0.0/16 \
--Region US-East-1
Powyższe polecenie utworzy VPC z określonym blokiem CIDR i wygeneruje następujące dane wyjściowe.
Zwróć uwagę na identyfikator VPC, ponieważ zostanie użyty do tworzenia innych zasobów wewnątrz VPC.
Utwórz podsieć
Po utworzeniu VPC, teraz utwórz podsieć wewnątrz wcześniej utworzonego VPC. Podsieć można tworzyć za pomocą polecenia Create-Subnet dostarczone przez interfejs linii polecenia AWS.
Ubuntu@ubuntu: ~ $ AWS ec2 create-subnet \
--VPC-ID\
--CIDR-BLOCK 192.168.0.0/24 \
--Region US-East-1
Teraz zmodyfikuj podsieć, aby automatycznie przypisywać publiczne IP do instancji EC2 uruchomionych w podsieci. Wykonaj ten krok tylko na podsieci, które chcesz upublicznić.
Ubuntu@ubuntu: ~ $ AWS ec2 modyfif-subnet-attribute \
--podsieć-id\
--Map-Public-Ip-on-Launch \
--Region US-East-1
Utwórz i dołącz bramę internetową do VPC
Internet Gateway umożliwia łączność internetową z VPC na AWS. Teraz użyj polecenia Create-Internet-Gateway usługi EC2, aby utworzyć bramę internetową.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-Internet-Gateway \
--Region US-East-1
Teraz dołącz bramę internetową do wcześniej utworzonego VPC za pomocą polecenia Atcap-Internet-Gateway usługi EC2.
Ubuntu@ubuntu: ~ $ AWS EC2 Attternet-Gateway \
--VPC-ID\
--Internet-Gateway-Id\
--Region US-East-1
Utwórz i powiązaj tabelę tras z podsiecią
Brama internetowa jest dołączona do VPC, a teraz możemy kierować ruch z naszej podsieci do bramy internetowej za pomocą tabeli tras. W ten sposób uczynimy naszą podsieć publiczną podsiecią. Utwórz tabelę tras za pomocą polecenia Treate-Route-Table usługi EC2.
Ubuntu@ubuntu: ~ $ AWS ec2 create-route-table \
--VPC-ID\
--Region US-East-1
Utworzy tabelę tras z domyślnym trasą trasy cały ruch wewnątrz podsieci. Teraz utwórz nową trasę, która będzie kierować cały ruch w kierunku bramy internetowej, umożliwiając łączność internetową.
Ubuntu@ubuntu: ~ $ AWS ec2 create-route \
--identyfikator trasy\
--Destination-Cidr 0.0.0.0/0 \
--Gateway-ID\
--Region US-East-1
Po utworzeniu tabeli trasy i trasy użyj teraz polecenia stowarzyszonego Table, aby powiązać tabelę trasy z podsiecią.
Ubuntu@ubuntu: ~ $ AWS EC2 Associate-Route-Table \
--podsieć-id\
--identyfikator trasy\
--Region US-East-1
Utwórz grupę bezpieczeństwa
Po utworzeniu tabeli VPC, podsieci i trasy, nadszedł czas, aby utworzyć grupę bezpieczeństwa dla instancji EC2. Security Group to wirtualna zapora dostarczona przez AWS i używana do kontrolowania przychodzącego i wychodzącego ruchu z instancji EC2. Interfejs linii poleceń AWS zapewnia polecenie Create-Security-Group z usługi EC2 w celu utworzenia grupy bezpieczeństwa.
Ubuntu@ubuntu: ~ $ AWS ec2 create-security-group \
--Demo-sg-sg-nazwa grupy \
--Opis „Grupa bezpieczeństwa instancji demo” \
--VPC-ID\
--Region US-East-1
Powyższe polecenie utworzy grupę bezpieczeństwa w określonym VPC i zwróci identyfikator grupy bezpieczeństwa w odpowiedzi.
Po utworzeniu grupy bezpieczeństwa skonfiguruj grupę bezpieczeństwa, aby umożliwić lub blokować ruch przychodzący i wychodzący. Dla tej grupy bezpieczeństwa otworzymy port 22 dla SSH Connection i Port 80 dla ruchu HTTP.
Ubuntu@ubuntu: ~ $ AWS EC2 autoryze-security-group-iningress \
--Identyfikator grupy\
--protokół tcp \
--Port 80 \
--CIDR 0.0.0.0/0 \
--Region US-East-1
Ubuntu@ubuntu: ~ $ AWS EC2 autoryze-security-group-iningress \
--Identyfikator grupy\
--protokół tcp \
--Port 22 \
--CIDR 0.0.0.0/0 \
--Region US-East-1
Powyższe dwa polecenia utworzą dwie reguły Ingress dla grupy bezpieczeństwa, aby umożliwić ruch przychodzący z portów 22 i 80.
Wygeneruj klucz SSH
Przed uruchomieniem instancji EC2 za pomocą interfejsu wiersza polecenia AWS, utwórz klucz SSH. Klucz SSH jest używany do uwierzytelniania i jest on bezpieczniejszy niż konwencjonalna nazwa użytkownika i metody uwierzytelnienia. Interfejs linii poleceń AWS zapewnia polecenie Create-Key-Pair z usługi EC2, aby utworzyć parę klucza SSH.
Ubuntu@ubuntu: ~ $ AWS EC2 Create-Key-Pair \
--Nazwa klucza Demo-Key Par \
--Tekst wyjściowy \
--Zapytanie „Keymaterial” \
--Region US-East-1> ./Par Demo-Key.pem
Polecenie Create-Key-Pair bierze nazwę klucza, a typ wyjściowy jako opcje, a standardowe wyjście tego polecenia zostało przekierowane do pliku o nazwie Par Demo-Key.pem. Użyj polecenia CAT, aby sprawdzić, czy klucz jest generowany lokalnie, czy nie.
Ubuntu@ubuntu: ~ $ cat Demo-Key Par.pem
Po wygenerowaniu klawisza SSH wymień teraz klawisz SSH za pomocą polecenia opisu usługi EC2, aby potwierdzić, czy jest on utworzony na AWS, czy nie.
Ubuntu@ubuntu: ~ $ AWS EC2
--Nazwa klucza Demo-Key Par \
--Region US-East-1
Uruchom instancję EC2 za pomocą CLI
Do tej pory stworzyliśmy wszystkie zasoby wykorzystywane do uruchomienia instancji EC2; Teraz nadszedł czas, aby uruchomić instancję EC2 za pomocą interfejsu wiersza polecenia. Interfejs linii poleceń AWS zapewnia polecenie Run-instances do uruchomienia instancji EC2.
Ubuntu@ubuntu: ~ $ AWS EC2 Run-instances \
--Image-ID\
--hrabia 1 \
--T2 typu instancji.nano \
--Nazwa klucza Demo-Key Par \
--IDS-Grupa Bezpieczeństwa\
--podsieć-id\
--Region US-East-1
Powyższe polecenie zwróci długie wyjście, które zawiera szczegółowe informacje o instancji EC2. Teraz skopiuj identyfikator instancji i użyj następującego polecenia, aby sprawdzić, czy instancja jest utworzona, czy nie.
Ubuntu@ubuntu: ~ $ AWS ec2 opisuje instancje \
--instancja-id\
--Region US-East-1
Wniosek
Interfejs linii poleceń AWS jest potężnym narzędziem do automatyzacji udostępniania i zakończenia instancji EC2. Interfejs linii poleceń AWS zapewnia różne polecenia do tworzenia różnych zasobów w chmurze AWS. W tym blogu wykorzystano interfejs wiersza polecenia, aby tworzyć różne zasoby, takie jak VPC, brama internetowa, podsieć, tabela trasy, klucz SSH, grupa bezpieczeństwa, trasy tabeli tras i instancja EC2. Po przeczytaniu tego bloga będziesz mógł utworzyć instancję EC2 za pomocą interfejsu wiersza polecenia.