Jak zarządzać instancjami AWS EC2 za pomocą interfejsu wiersza poleceń AWS

AWS udostępnia wygodny interfejs internetowy o nazwie AWS Management Console. Za pomocą tej konsoli można wykonywać wszystkie niezbędne operacje w chmurze AWS. Jednak wielokrotne wykonywanie tych samych czynności w interfejsie internetowym może być monotonne i czasochłonne. W takim przypadku można skorzystać z AWS CLI, aby zautomatyzować zadania związane z zarządzaniem usługami AWS i wykonywać operacje zbiorcze. W tym wpisie na blogu omówiono instalację AWS CLI oraz podstawy korzystania z tego narzędzia. Wpis skupia się również na poleceniach AWS CLI dotyczących EC2, zilustrowanych przykładami.

NAKIVO do wykonywania kopii zapasowych AWS EC2

NAKIVO do wykonywania kopii zapasowych AWS EC2

Wykonać kopię zapasową instancji Amazon EC2 na platformie EC2, w usłudze AWS S3 oraz na miejscu. Ochrona przed oprogramowaniem wymuszającym okup. Szybkie odzyskiwanie instancji i obiektów aplikacji.

Czym jest AWS CLI

Amazon Web Services Command Line Interface (AWS CLI) to narzędzie typu open source z wierszem poleceń, służące do zarządzania środowiskami w chmurze Amazon. Narzędzie to działa poprzez integrację z powłoką wiersza poleceń systemu operacyjnego, na którym jest zainstalowane. Możesz zarządzać instancjami AWS EC2 za pomocą poleceń AWS EC2, a także zarządzać woluminami EBS, zasobnikami S3 i innymi usługami Amazon.

AWS CLI działa w powłoce wiersza poleceń systemu Linux, terminalu macOS, wierszu poleceń systemu Windows (CMD) oraz PowerShell. To CLI pozwala tworzyć skrypty i automatyzować zadania.

Istnieją dwie główne wersje AWS CLI:

  • AWS CLI wersja 1 to stara wersja dostępna w celu zapewnienia kompatybilności wstecznej. Ta wersja jest obsługiwana, ale nowe funkcje mogą być niedostępne.
  • AWS CLI wersja 2 to najnowsza wersja, która obsługuje wszystkie dostępne funkcje AWS. Zaleca się zainstalowanie najnowszej wersji.

Obie wersje używają tego samego aws polecenia do uruchomienia AWS CLI. Wprowadzono jednak zmiany, które mogą uniemożliwić korzystanie ze skryptów stworzonych dla AWS CLI v1 w AWS CLI v2.

Wymagania

Przyjrzyjmy się teraz wymaganiom, które należy spełnić, aby korzystać z AWS CLI.

Wymagania ogólne

  • Musisz posiadać konto AWS oraz Klucze dostępu do AWS (AWS Access Key ID i AWS Secret Access Key).
  • Należy zainstalować Python 2 w wersji 2.6.5+ lub Python 3 w wersji 3.3+. AWS CLI v2 ma wbudowaną kopię Pythona i nie trzeba ręcznie instalować Pythona, aby zainstalować AWS CLI v2.

Linux

  • Należy zainstalować narzędzie do rozpakowywania archiwów zip
  • glibc, grofforaz less

Windows

  • Windows XP lub nowszy
  • Uprawnienia administratora na komputerze z systemem Windows

macOS

  • 64-bitowa wersja macOS obsługiwana przez Apple

Instalacja

Aby móc uruchamiać polecenia do zarządzania instancjami AWS EC2 i innymi usługami Amazon, należy zainstalować AWS CLI. Przyjrzyjmy się, jak zainstalować AWS CLI w wersji 2 w różnych systemach operacyjnych.

Instalowanie AWS CLI w systemie Linux

Istnieją trzy metody instalacji AWS CLI w systemie Linux:

  • Korzystanie z instalatora pakietu (metoda oficjalna)
  • Korzystanie z repozytorium oprogramowania systemu Linux
  • Instalowanie AWS CLI jako modułu języka Python

Firma Amazon zaleca korzystanie z metody oficjalnej do instalacji AWS CLI. W tym przypadku zawsze otrzymujesz najnowszą wersję oprogramowania. W tym przewodniku korzystam z systemu Ubuntu 20.

Korzystanie z oficjalnego archiwum instalatora

Jest to zalecana metoda instalacji AWS CLI. Postępuj zgodnie z poniższymi instrukcjami:

  1. Zainstaluj curl:

apt-get install curl

  1. Pobierz archiwum instalatora AWS CLI:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

  1. Rozpakuj pliki instalatora zawarte w pobranym archiwum:

unzip awscliv2.zip

  1. Uruchom instalator z uprawnieniami administratora:

sudo ./aws/install

  1. Po zakończeniu instalacji sprawdź wersję zainstalowanego narzędzia AWS CLI, aby upewnić się, że zostało ono pomyślnie zainstalowane:

aws --version

Korzystanie z repozytoriów oprogramowania systemu Linux

AWS CLI jest dostępne w oficjalnych repozytoriach oprogramowania dla systemu Ubuntu. Postępuj zgodnie z poniższymi instrukcjami:

1. Zaktualizuj drzewo repozytorium:

sudo apt-get update

2. Zainstaluj AWS CLI za pomocą menedżera pakietów z repozytoriów oprogramowania systemu Linux:

sudo apt-get install awscli

3. Sprawdź, czy AWS CLI zostało pomyślnie zainstalowane:

aws --version

Instalacja za pomocą Python PIP

Możesz zainstalować AWS CLI jako moduł Python, używając menedżera pakietów Python PIP. Pamiętaj, że Python PIP nie jest domyślnie zainstalowany w systemie Ubuntu. Aby zainstalować moduł Python, postępuj zgodnie z poniższymi instrukcjami:

1. Najpierw musisz zainstalować Python PIP.

  • Dla Python 2.x:

sudo apt-get install python-pip

  • Dla Python 3.x:

sudo apt-get install python3-pip

2. Zainstaluj AWS CLI za pomocą Python PIP.

  • Korzystanie z Python 2.x PIP:

pip install awscli --upgrade --user

  • Korzystanie z PIP dla Pythona 3.x:

pip3 install awscli --upgrade --user

3. Sprawdź zainstalowaną wersję.

  • W Pythonie 2.x:

python -m awscli --version

  • W Pythonie 3.x:

python3 -m awscli --version

Uwaga: Jeśli korzystasz z AWS CLI zainstalowanego za pomocą PIP dla Pythona, polecenia, których należy używać, różnią się od standardowego polecenia głównego aws używanego w przypadku spakowanej wersji AWS CLI:

  • Wersja spakowana:

aws

  • Moduł dla Pythona 2:

python -m awscli

  • Moduł dla Pythona 3:

python3 -m awscli

Instalacja AWS CLI w systemie Windows

Aby zainstalować AWS CLI w systemie Windows, należy pobrać instalator, zainstalować AWS CLI i przeprowadzić konfigurację poinstalacyjną w systemie Windows.

Pobierz instalator

Pobierz 64-bitowy instalator AWS CLI, korzystając z jednego z poniższych linków, i zapisz plik w wybranej lokalizacji, na przykład: C:temp

W tym przykładzie korzystam z systemu Windows Server 2016 i pobieram plik AWSCLIV2.msi .

Plik instalatora można pobrać w PowerShell za pomocą polecenia:

Invoke-WebRequest -Uri https://awscli.amazonaws.com/AWSCLIV2.msi -OutFile "C:tempAWSCLIV2.msi"

Uruchom instalator

Uruchom pobrany AWSCLIV2.msi plik.

Jeśli korzystasz z PowerShell, zapisz lokalizację pliku .msi ( C:temp w moim przypadku) i uruchom polecenie:

C:tempAWSCLIV2.msi

Downloading the AWS CLI installer for Windows

Postępuj zgodnie z instrukcjami kreatora instalacji. Do instalacji możesz użyć ustawień domyślnych. Proces instalacji jest prosty, więc nie będę omawiać każdego kroku kreatora.

Running the AWS CLI installation wizard

Jeśli spróbujesz uruchomić polecenie aws --version w celu sprawdzenia, czy AWS CLI zostało pomyślnie zainstalowane, może pojawić się błąd. Wynika to z braku wpisu związanego z narzędziem AWS CLI w zmiennej środowiskowej PATH. Teraz możesz zmienić katalog na ten, w którym zainstalowano AWS CLI ( C:Program FilesAmazonAWSCLIV2 domyślnie) i uruchomić AWS CLI ręcznie.

cd "C:Program FilesAmazonAWSCLIV2"

.aws --version

Checking the installed version of AWS CLI after changing the directory

Skonfiguruj PATH

Dodaj wpis do zmiennej PATH , ponieważ ręczna zmiana katalogu w wierszu poleceń za każdym razem, gdy chcesz uruchomić polecenia AWS CLI, jest niewygodna.

Korzystanie z graficznego interfejsu użytkownika systemu Windows

1. Otwórz Control Panel > System > Advanced system settingsi w zakładce Advanced okna Właściwości systemu kliknij Environment Variables.

Configuring environment variables in Control Panel

2. W oknie Zmienne środowiskowe wybierz zmienną PATH i kliknij Edit. Należy pamiętać, że dostępne są opcje edycji zmiennych użytkownika dla administratora oraz zmiennych systemowych .

Editing the PATH variable

3. W oknie Edytuj zmienną środowiskową kliknij New.

Adding a new value to the PATH variable

4. Określ ścieżkę do katalogu, w którym zainstalowano AWS CLI, i naciśnij Enter. W moim przypadku jest to katalog „C:Program FilesAmazonAWSCLIV2”.

5. Naciśnij OK , aby zapisać ustawienia i zamknąć okna.

Uwaga: może być konieczne ponowne otwarcie okna konsoli (PowerShell lub CMD), aby zmiany zaczęły obowiązywać.

Korzystanie z PowerShell

Możesz również edytować zmienne środowiskowe w PowerShell. Wykonaj poniższe kroki, aby dodać wartość do zmiennej PATH w PowerShell.

1. Zapisz oryginalną wartość PATH , którą chcesz zmodyfikować:

$oldpath = (Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment' -Name PATH).path

2. Zdefiniuj nową wartość PATH dodając potrzebną wartość. W moim przypadku wartością, którą muszę dodać, jest ścieżka do katalogu AWS CLI. Jako separator między wartościami ścieżek w zmiennej PATH używa się znaku średnika (;).

$newpath = "$oldpath;C:Program FilesAmazonAWSCLIV2"

3. Zastosuj wartość w rejestrze systemu Windows, aby zmiany były trwałe:

Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment' -Name PATH -Value $newPath

4. Sprawdź, czy nowa PATH konfiguracja jest poprawna:

Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment' -Name PATH

lub

(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINESystemCurrentControlSetControlSession ManagerEnvironment' -Name PATH).path

Adding the AWS CLI installation directory to PATH in PowerShell

Korzystanie z Chocolatey

Alternatywą dla pobrania i uruchomienia pliku instalatora MSI jest instalacja AWS CLI za pomocą Chocolatey, narzędzia do zarządzania oprogramowaniem w systemie Windows działającego w środowisku PowerShell. Chocolatey obsługuje instalację aplikacji z internetowych repozytoriów systemu Windows. Uruchom to polecenie, aby zainstalować AWS CLI:

choco install awscli

Sprawdź wyniki instalacji

Teraz możesz uruchomić polecenie aws (oraz powiązane polecenia AWS EC2) z dowolnego katalogu w PowerShell.

aws --version

Checking the installed version of AWS CLI in Windows

Uwaga: Jeśli w systemie operacyjnym masz zainstalowaną wersję 1 i wersję 2 AWS CLI, system operacyjny uruchamia tę, która jest pierwsza w zmiennej PATH .

Instalowanie AWS CLI w systemie macOS

Wykonaj poniższe kroki, aby zainstalować AWS CLI w systemie macOS.

Przejdź do katalogu /tmp/ , który będzie służył do przechowywania pobranych plików:

cd /tmp

Metoda 1

  1. Pobierz plik instalatora:
    curl -o awscli.zip https://s3.amazonaws.com/aws-cli/awscli-bundle.zip
  2. Rozpakuj zawartość pobranego archiwum zip:
    unzip awscli.zip
  3. Zainstaluj AWS CLI:
    sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Metoda 2

  1. Pobierz pakiet instalatora:
    curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
  2. Uruchom instalator:
    sudo installer -pkg AWSCLIV2.pkg -target /
  3. Możesz uruchomić następujące polecenie, aby upewnić się, że AWS CLI zostało pomyślnie zainstalowane:
    aws --version

Wstępna konfiguracja AWS CLI

Teraz musisz podać dane uwierzytelniające AWS oraz skonfigurować region i parametry wyjściowe. Uruchom poniższe polecenie, aby skonfigurować AWS CLI. Składnia poleceń AWS CLI jest taka sama w systemach Linux, Windows i macOS. W moim przykładzie używam systemu Ubuntu Linux.
aws configure

Podaj cztery parametry (pierwsze dwa są wymagane):

  • Identyfikator klucza dostępu AWS , który jest 20-znakowym ciągiem alfanumerycznym. Litery są wielkie.
  • Sekretny klucz dostępu AWS , który jest 40-znakowym ciągiem alfanumerycznym przypominającym hash.
  • Domyślna nazwa regionu . Wybierz ten parametr, jeśli nie chcesz za każdym razem wyraźnie określać regionu podczas uruchamiania poleceń w AWS CLI. Jeśli chcesz skorzystać z regionu innego niż domyślny, możesz ręcznie określić żądany region w poleceniu. W tym celu użyj --region .
  • Domyślny format wyjściowy . Dostępne są trzy opcje: json, text, table, yaml, yaml-stream. Domyślnie używany jest format JSON (JavaScript Object Notation). Możesz wybrać żądany format podczas uruchamiania konkretnego polecenia, korzystając z --output .

The initial configuration of AWS CLI

Pliki konfiguracyjne AWS CLI są zapisywane w katalogu domowym. Możesz sprawdzić te pliki za pomocą polecenia:

ls -l ~/.aws

Ustawienia regionu i wyjścia są przechowywane w pliku config . Dane uwierzytelniające (AWS Access Key ID i AWS Secret Access Key) są przechowywane w pliku credentials .

Ogólne wskazówki dotyczące użytkowania

Zapoznajmy się z ogólnymi zaleceniami i wskazówkami dotyczącymi korzystania z AWS CLI, zanim przejdziemy do praktycznych przykładów AWS CLI dla EC2.

Struktura poleceń AWS CLI

Polecenie AWS CLI można skomponować na dwa sposoby: w jednej linii lub w wielu liniach.

Struktura standardowa

Standardowa struktura polecenia zakłada, że polecenie jest tworzone jako polecenie jednowierszowe.

aws [options and parameters]

Gdzie:

aws jest podstawowym poleceniem wywołującym program aws

jest poleceniem najwyższego poziomu odpowiadającym odpowiedniej usłudze AWS, na przykład EC2 lub S3.

określa operację do wykonania, taką jak pobranie obiektu, opis instancji itp.

[options and parameters] określa opcje i parametry operacji.

Struktura poleceń wielowierszowych

Czasami użycie struktury poleceń wielowierszowych może być wygodniejsze, jeśli trzeba określić wiele opcji i parametrów.

aws

[options and parameters]

[options and parameters]

Polecenie wait

Można użyć polecenia wait do wstrzymania wykonywania całego polecenia w celu wznowienia operacji, gdy będzie gotowe do uruchomienia i gdy wszystkie warunki zostaną spełnione.

aws wait [options and parameters]

Przykład:

aws ec2 wait instance-status-ok

--instance-ids i-1234567890abcdef0

Uzupełnianie poleceń

Włącz uzupełnianie poleceń. Uzupełnianie poleceń sprawia, że wprowadzanie poleceń jest szybsze i wygodniejsze. Użyj tego polecenia, aby włączyć autouzupełnianie w systemie Linux:

complete -C '/usr/local/bin/aws_completer' aws

Sprawdź, czy autouzupełnianie działa:

aws s[press Tab]

aws e[press Tab]

Jeśli autouzupełnianie działa, częściowo wpisane polecenie zostanie automatycznie uzupełnione po naciśnięciu Tab jeśli istnieje tylko jedno polecenie zaczynające się od wpisanych znaków. Jeśli istnieje wiele poleceń zaczynających się od wpisanych znaków, wszystkie te polecenia zostaną wyświetlone poniżej. Możesz przejrzeć listę dostępnych poleceń i kontynuować wpisywanie potrzebnego polecenia. Następnie użyj klucza Tab do autouzupełniania poleceń.

Filtry

Użyj filtrów, aby wyświetlić tylko potrzebne dane. Filtrowanie odbywa się po stronie serwera Amazon. Dzięki temu przez sieć przesyłanych jest mniej danych, a wyniki otrzymujesz szybciej. Skrypty zawierające polecenia AWS EC2 i filtry AWS CLI działają szybciej.

Pomoc AWS

Użyj polecenia help , aby wyświetlić dostępne polecenia i opcje.

aws help

aws help

aws help

Parsowanie JSON

Użyj jq, które jest lekkim narzędziem do przetwarzania danych JSON.

jq jest odpowiednikiem sed do przekształcania strumienia wejściowego, ale dla formatu JSON. Możesz zainstalować jq jako narzędzie do parsowania JSON za pomocą polecenia:

apt-get install jq

Domyślnie możesz użyć wbudowanej opcji --query do parsowania JSON zwróconego przez wykonane polecenie.

Zdalny dostęp

Możesz połączyć się przez SSH z komputerem z systemem Linux, na którym zainstalowano AWS CLI, i uruchamiać polecenia do zarządzania usługami w chmurze Amazon.

Polecenia AWS EC2 w AWS CLI

Teraz, gdy zainstalowałeś AWS CLI i zapoznałeś się z poradami dotyczącymi AWS CLI, możesz uruchamiać polecenia AWS CLI EC2, aby wyświetlać informacje o instancjach AWS EC2 i nimi zarządzać. Przejdźmy teraz do praktycznych przykładów korzystania z interfejsu wiersza poleceń w AWS.

Opis instancji AWS EC2

Możesz używać poleceń AWS EC2 w AWS CLI do opisywania komponentów Amazon (uzyskiwania informacji o nich) dla swojego konta bez wykonywania na nich żadnych działań. Polecenia AWS CLI do opisywania instancji pomagają sprawdzić stan instancji AWS EC2, woluminów EBS, obrazów maszyn Amazon i innych komponentów. Można również skorzystać z udostępnionej funkcji dla monitorowanie.

Przykład 1

Zacznijmy od tego prostego polecenia, aby wyświetlić informacje o istniejących instancjach Amazon EC2:

aws ec2 describe-instances

Polecenie to zwraca dane opisujące wszystkie instancje AWS EC2 w wynikach w formacie JSON (ponieważ wcześniej ustawiliśmy JSON jako format domyślny). W rezultacie otrzymujemy dużą tablicę danych, w tym metadane. Wynik ten nie jest praktyczny do odczytu przez użytkowników, ale jest przydatny do tworzenia skryptów i aplikacji.

Naciśnij klawisz down arrow , aby przewinąć dane w oknie konsoli/terminala.

Naciśnij q , aby wyjść z trybu przeglądarki (podobnie jak podczas korzystania z less ).

An example of an AWS CLI list EC2 instances command

Przykład 2

Możemy wyświetlić pełne informacje tylko dla jednej instancji, używając identyfikatora instancji w poleceniu: aws ec2 describe-instances

--instance-ids i-0201020e110607121

Przykład 3

Teraz sprawdzimy identyfikatory instancji, ich nazwy oraz stan wszystkich dostępnych instancji w naszym regionie. Dzięki opcji --query w AWS CLI możemy wyświetlić tylko potrzebne dane. Ten przykład wykorzystania filtrów AWS CLI zawiera opcję --filter , która zwraca żądane, przefiltrowane dane. Używamy opcji --output text , aby wyświetlić wynik w postaci tekstowej.

aws ec2 describe-instances --filters "Name=tag:Name,Values=server*" --query "Reservations[].Instances[].[Tags[?Key=='Name'],InstanceId,State.Name]" --output text

W porównaniu z niefiltrowanym wynikiem, który zawiera wszystkie dostępne dane dla wszystkich instancji, wynik filtrowany jest wygodniejszy i czytelny dla użytkowników.

An example of an AWS EC2 describe instances query

Przykład 4

Teraz ponownie przefiltrujmy instancje AWS EC2 i wyświetlmy tylko te instancje, które mają w nazwie „Linux” za pomocą filtra AWS CLI.

aws ec2 describe-instances --filters "Name=tag:Name,Values=*Linux*" --query "Reservations[].Instances[].[Tags[?Key=='Name'],InstanceId,State.Name]" --output text

Na poniższym zrzucie ekranu widać wynik polecenia po użyciu go z filtrem instancji EC2. Znalazłem trzy instancje Linux z zainstalowanym NAKIVO Backup & Replication Transporter . Transporter to komponent służący do przesyłania danych podczas wykonywania operacji tworzenia kopii zapasowej i Odzyskiwanie awaryjne w AWS w AWS.

An example of using the EC2 describe instances filter

Przykład 5

Można opisać instancje określonych typów instancji AWS EC2. W tym przykładzie uruchamiam polecenie, aby wyświetlić instancje typu t2.micro :

aws ec2 describe-instances

--filters Name=instance-type,Values=t2.micro

Przykład 6

Użyj filtra instancji EC2, aby wyświetlić tylko identyfikatory instancji.

aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"

AWS EC2 list instances and their instance IDs

Przykład 7

Alternatywnie można użyć widoku tabeli dla danych wyjściowych, dodając opcję --output table . Poniżej znajduje się polecenie z filtrem AWS CLI, które wyświetla identyfikator instancji, nazwę, stan i typ instancji AWS EC2 w formie tabeli.

aws ec2 describe-instances --output table --query "Reservations[].Instances[].{Name: Tags[?Key == 'Name'].Value | [0], Id: InstanceId, State: State.Name, Type: InstanceType}"

AWS list EC2 instances in a table

Przykład 8

Istnieje inne polecenie służące do wyświetlania danych wyjściowych (identyfikatora instancji, typu i nazwy) instancji AWS EC2 w wygodnym widoku:

aws ec2 describe-instances | jq -r '.Reservations[].Instances[]|.InstanceId+" "+.InstanceType+" "+(.Tags[] | select(.Key == "Name").Value)'

AWS EC2 describe instances by using AWS EC2 filters

Przykład 9

Sprawdź zewnętrzny adres IP uruchomionej instancji:

aws ec2 describe-instances --instance-ids i-0201020e110607121 --query "Reservations[].Instances[].PublicIpAddress"

The AWS EC2 describe instances command to display public IP addresses

Aby sprawdzić zewnętrzne adresy IP wielu instancji AWS EC2, zdefiniuj identyfikatory instancji, oddzielając je spacją.

Przykład 10

Sprawdź zatrzymane instancje oraz przyczynę zatrzymania każdej z nich za pomocą polecenia zawierającego filtr AWS CLI:

aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped

Istnieje alternatywny przykład:

aws ec2 describe-instances --filters Name=instance-state-name,Values=stopped --region eu-west-1 --output json | jq -r .Reservations[].Instances[].StateReason.Message

Przykład 11

Jest to polecenie służące do wyświetlenia listy uruchomionych instancji Amazon EC2 wraz z bardziej szczegółowymi informacjami, w tym nazwą instancji, prywatnym adresem IP, publicznym adresem IP, statusem, typem i identyfikatorem VPC w formie tabeli: aws ec2 describe-instances --query "Reservations[*].Instances[*].{PublicIP:PublicIpAddress,PrivateIP:PrivateIpAddress,Name:Tags[?Key=='Name'] | [0].Value,Type:InstanceType,Status:State.Name,VpcId:VpcId}" --filters Name=instance-state-name,Values=running --output table

An example of the AWS CLI describe instances command with AWS CLI filters

Uruchamianie instancji AWS EC2

Znając identyfikator instancji, można uruchomić instancję Amazon za pomocą poleceń AWS EC2.

aws ec2 start-instances --instance-ids i-1a3b5c7d9ea0c1ef0

Można uruchomić wiele instancji AWS EC2, używając polecenia AWS EC2 start instances i wpisując ich identyfikatory oddzielone spacjami.

aws ec2 start-instances --instance-ids i-1a3b5c7d9ea0c1ef0 i-1a3b5c7d9ea0c1ef1 i-1a3b5c7d9ea0c1ef2

Zatrzymywanie instancji AWS EC2

Można zatrzymać jedną lub wiele instancji AWS EC2. Składnia jest podobna do składni polecenia ec2 start-instances .

Polecenie AWS CLI stop instance dla jednej instancji znajduje się poniżej:

aws ec2 stop-instances --instance-ids i-1a3b5c7d9ea0c1ef0

Polecenie AWS CLI stop instance dla wielu (trzech) instancji jest takie samo, ale należy podać wiele identyfikatorów instancji AWS EC2, oddzielonych spacjami:

aws ec2 start-instances --instance-ids i-1a3b5c7d9ea0c1ef0 i-1a3b5c7d9ea0c1ef1 i-1a3b5c7d9ea0c1ef2

Oto lista możliwych kodów stanów i nazw stanów w wynikach:

0 – w toku

16 – uruchomiona

32 – wyłączana

48 – zakończona

64 – zatrzymywana

80 – zatrzymana

Ponowne uruchomienie instancji AWS EC2

Za pomocą aws ec2 reboot-instances można ponownie uruchomić jedną lub wiele instancji AWS EC2. Logika użycia tego polecenia jest taka sama jak w przypadku poleceń AWS CLI start instance i AWS CLI stop instance. Oto polecenie do ponownego uruchomienia jednej instancji:

aws ec2 reboot-instances --instance-ids i-1a3b5c7d9ea0c1ef0

Oto polecenie do ponownego uruchomienia trzech instancji:

aws ec2 reboot-instances --instance-ids i-1a3b5c7d9ea0c1ef0 i-1a3b5c7d9ea0c1ef1 i-1a3b5c7d9ea0c1ef2

Dodaj tagi

Tagi pozwalają klasyfikować instancje AWS EC2 oraz łatwiej je identyfikować lub wyszukiwać. Przyjrzyjmy się dwóm poleceniom AWS EC2 do pracy z tagami.

Uruchom to polecenie, aby dodać tag do instancji, definiując jej identyfikator:

aws ec2 create-tags --resources i-1a3b5c7d9ea0c1ef0 --tags Key=Department,Value=Marketing

Następnie możesz użyć polecenia, aby wyświetlić informacje o potrzebnych instancjach za pomocą tagów:

aws ec2 describe-instances --filters "Name=tag-key,Values=Name"

Opisuj woluminy EBS

Podczas pracy instancji Amazon EC2 może zaistnieć potrzeba sprawdzenia informacji o woluminach EBS, podłączenia woluminów do instancji EC2 oraz ich odłączenia. Poniżej znajdziesz kilka przykładów poleceń AWS EC2 służących do uzyskania informacji o woluminach EBS.

Przykład 1

Jest to proste polecenie służące do opisania woluminów EBS i wyświetlenia wszystkich informacji o istniejących woluminach na koncie Amazon:

aws ec2 describe-volumes

Polecenie to jest podobne do polecenia AWS EC2 describe instances, którego użyliśmy powyżej. W wynikach możemy zobaczyć szczegółowe informacje o wszystkich dostępnych woluminach. Naciśnij strzałkę w dół na klawiaturze, aby przewinąć w dół i wyświetlić wszystkie dane. Wyszukiwanie potrzebnych informacji w tej tablicy danych nie jest wygodne. Użyj filtrów AWS CLI, aby wyświetlić tylko potrzebne dane. A simple AWS CLI EC2 command to describe EBS volumes

Przykład 2

Oto przykład polecenia AWS CLI dla usługi EC2 służącego do wyświetlenia identyfikatorów wszystkich woluminów EBS:

aws ec2 describe-volumes --output table --query 'Volumes[*].VolumeId'

Przykład 3

Przefiltrujmy identyfikatory wszystkich woluminów Amazon EBS, które mają status „podłączone”:

aws ec2 describe-volumes

--query 'Volumes[*].Attachments[?State==`attached`].VolumeId[]'

Displaying information about EBS volumes using AWS EC2 filters

Tę samą logikę można zastosować do nakładania filtrów podczas uruchamiania poleceń AWS CLI w celu pracy z woluminami EBS i innymi obiektami AWS.

Przykład 4

Być może zajdzie potrzeba wyświetlenia woluminów, które nie są podłączone i mają status „dostępne”. W takim przypadku użyj polecenia:

aws ec2 describe-volumes --filters Name=status,Values=available --output table

Podłącz woluminy EBS do instancji AWS EC2

Po uzyskaniu potrzebnych informacji o instancjach AWS EC2 i woluminach EBS możesz podłączyć wolumin EBS do instancji EC2 za pomocą polecenia aws ec2 attach-volume .

Użyj opcji --device , aby określić nazwę dysku używaną przez system operacyjny gościa. W poniższym przykładzie używam polecenia do podłączenia woluminu EBS jako dysku oznaczonego jako /dev/sde w systemie gościnnym Linux.

aws ec2 attach-volume --volume-id vol-0034567890abcdef0 --instance-id i-1a3b5c7d9ea0c1ef0 --device /dev/sde

Po podłączeniu woluminu EBS do instancji EC2 stan woluminu zmienia się z „Dostępny” na „Podłączony”.

Operacje na migawkach

Migawki woluminów EBS pozwalają zachować stan woluminu i przywrócić go w razie potrzeby. Oto przykład polecenia służącego do utworzenia migawki woluminu EBS:

aws ec2 create-snapshot --volume-id --description 'Volume Snapshot for ATA Blog via the AWS CLI' --tag-specifications 'ResourceType=snapshot,Tags=[{Key=Name,Value=FileServer01},{Key=Purpose,Value=Enterprise File Storage}]'

Aby wyświetlić identyfikatory migawek, użyj tego polecenia:

ec2 describe-snapshots --owner self

Sprawdź status migawki za pomocą polecenia:

aws ec2 describe-snapshots --snapshot-id

Jeśli postęp tworzenia migawki wynosi 100%, a status to „zakończono”, oznacza to, że migawka została pomyślnie utworzona.

Informacje te pozwalają wybrać odpowiednią strategię ochrony danych. {116} aby dowiedzieć się więcej.

Opis obrazów

Podobnie jak w przypadku poleceń AWS EC2 do opisu instancji i woluminów, można użyć polecenia do opisu obrazów Amazon Machine Images. Jest to proste polecenie AWS CLI EC2 służące do wyświetlania informacji o obrazach Amazon Machine Images (AMI):

aws ec2 describe-images

Można wyświetlić informacje o konkretnym obrazie:

aws ec2 describe-images --image-ids ami-0034567890abc4140

Na podstawie wyświetlonych informacji można wybrać potrzebny obraz AMI w celu utworzenia nowej instancji Amazon EC2.

Uruchom nowe instancje EC2

Możesz utworzyć (uruchomić) nową instancję na podstawie potrzebnego obrazu, korzystając z poniższych poleceń AWS CLI EC2.

Najpierw musisz wygenerować klucze:

aws ec2 create-key-pair --key-name MyKeyPair --output text > MyKeyPair.pem

Utwórz nową instancję Amazon EC2 za pomocą polecenia AWS EC2 run instances, określając obraz AMI, typ instancji i parę kluczy:

aws ec2 run-instances

--image-id ami-0abcdef1234567890

--instance-type t2.micro

--key-name MyKeyPair

To jest prosty przykład. Podczas tworzenia nowej instancji EC2 za pomocą polecenia AWS EC2 run instances można zdefiniować dodatkowe opcje, w tym:

–subnet-id

–security-group-ids

–block-device-mappings

–tag-specifications

Usuwanie instancji EC2

Zaleca się usuwanie instancji AWS EC2, które nie były używane przez dłuższy czas, aby obniżyć koszty. Należy zachować ostrożność, ponieważ nie można przywrócić zakończonej instancji EC2. Jeśli nie masz pewności, czy zakończona instancja będzie potrzebna w przyszłości, wykonać kopię zapasową instancji EC2 za pomocą NAKIVO Backup & Replication do lokalnego repozytorium kopii zapasowych lub do usługi Amazon S3.

Możesz usunąć wiele instancji, podając ich identyfikatory za pomocą polecenia:

aws ec2 terminate-instances --instance-ids i-0abcdef1234567890 i-0abcdef123456789a i-0abcdef123456789b

Wnioski

AWS CLI to potężne narzędzie wiersza poleceń, które może pomóc w automatyzacji wykonywania dużej liczby podobnych zadań. Filtry AWS EC2 pozwalają skonfigurować dane wyjściowe i uzyskać tylko te dane, których potrzebujesz. Dostępne są polecenia służące do wyświetlania informacji o usługach Amazon oraz polecenia umożliwiające wprowadzanie zmian w tych usługach.

Aby zapobiec błędom ludzkim spowodowanym nieprawidłową konfiguracją skryptów utworzonych za pomocą AWS CLI, zdecydowanie zaleca się regularne wykonywanie Wykonać kopię zapasową AWS EC2 przy użyciu dedykowanego rozwiązania innej firmy.

< span data-sheets-value="{"1":2,"2":"

Roczny bezpłatny dostęp do usługi ochrony danych: NAKIVO Backup & Replication

Roczny bezpłatny dostęp do usługi ochrony danych: NAKIVO Backup & Replication

Wdrażanie w 2 minuty i ochrona danych w środowiskach wirtualnych, chmurowych, fizycznych oraz SaaS. Opcje tworzenia kopii zapasowych, replikacji i natychmiastowego odzyskiwania danych.

„}” data-sheets-userformat=”{„2″:17089,”3”:{„1″:0},”9″:1,”10″:1,”12″:0,”17”:1}”>

Roczny bezpłatny dostęp do usługi ochrony danych: NAKIVO Backup & Replication

Roczny bezpłatny dostęp do usługi ochrony danych: NAKIVO Backup & Replication

Wdrażanie w 2 minuty i ochrona danych wirtualnych, w chmurze, fizycznych oraz w modelu SaaS. Opcje tworzenia kopii zapasowych, replikacji i natychmiastowego odzyskiwania danych.

People also read