Czy można stworzyć instancje EC2?

Czy można stworzyć instancje EC2?
Są szanse, że jeśli patrzysz na ten samouczek, nie potrzebujesz wprowadzenia do Ansible. Jednak nie boli szybkiego podsumowania.

Ansible to najpopularniejsze i prawdopodobnie potężne narzędzie do zarządzania konfiguracją. Jest zbudowany w celu ułatwienia zarządzania i konfiguracji zdalnych hostów za pomocą zestawu poleceń zdefiniowanych jako zadania.

Działa przy użyciu modułów opracowanych do określonych zadań, takich jak zarządzanie użytkownikami, zarządzanie plikami, instalowanie i usuwanie pakietów oprogramowania oraz wiele innych.

W tym przewodniku użyje modułu Ansible AWS do zapewnienia i zarządzania instancją EC2. Zaczniemy od podstaw konfigurowania konta AWS, instalowania Ansible, a na koniec omówić, jak pracować z modułem Ansible AWS.

Co to jest instancja EC2?

Pierwsze pytanie do rozwiązania brzmi: co to jest EC2? Jeśli jesteś nowy w Cloud Computing i AWS, może to zabrzmieć dla Ciebie.

Amazon Elastic Compute Cloud lub Amazon EC2 to usługa świadczona przez Amazon Web Services (AWS), aby umożliwić tworzenie instancji serwera w chmurze AWS w chmurze AWS.

Możliwość kręcenia zdalnych serwerów skonfigurowanych z takimi funkcjami, jak procesor, pamięć, dysk, sieci, system operacyjny i więcej przy kilku kliknięciach jest bardzo korzystna. Usuwa potrzebę inwestowania w sprzęt i eliminuje martwienie się o okablowanie urządzeń.

Instancje Amazon EC2 są jednym z najbardziej fundamentalnych bloków składowych AWS Cloud Computing.

Nie będziemy głęboko zagłębić się w to, jak to działa lub modele cen i konfiguracji dla AWS. Sprawdź stronę AWS, aby dowiedzieć się więcej.

Konfiguracja środowiska

Pierwszym krokiem jest skonfigurowanie naszych środowisk. Do tego przewodnika potrzebujemy konta AWS, Ansible i Python.

Zalecamy użycie najnowszej wersji Ansible i Python.

Zainstaluj ansible

Ten samouczek pokaże instalację i konfigurację Ansible w systemie opartym na debian. Sprawdź nasze inne samouczki, aby dowiedzieć się, jak go zainstalować w innych dystrybucjach.

Otwórz terminal i edytuj repozytoria oprogramowania.

sudo vim/etc/apt/źródła.lista

Dodaj następujący wpis do pliku:

deb http: // pPA.wyrzutnia.net/ansible/ansible/ubuntu focal Main

Następnie uruchom polecenia, jak pokazano poniżej:

sudo apt-get install gnupg
sudo apt-key adv-keyserver Keyserver.Ubuntu.COM--RECV-KEYS 93C4A3FD7BB9C367
Sudo apt-get Aktualizacja
sudo apt-get instal instaluje

Po zainstalowaniu Ansible możemy ustawić i skonfigurować Python.

Zainstaluj Python3, Python3-Pip

Aby zainstalować Python3 i PIP na Debian 11, uruchom polecenia, jak pokazano:

Sudo apt-get Aktualizacja
sudo apt-get instal Python3.9 Python3 -Pip -y

Powyższe polecenia zainstalują Python wersja 3.9 i PIP3 w twoim systemie.

Zainstaluj boto

Następnym krokiem jest zainstalowanie Boto. Boto to potężny pakiet Python, który zapewnia interfejs do interakcji z usługami AWS za pomocą Pythona.

Aby zainstalować najnowszą wersję pakietu Boto za pomocą PIP, jak pokazano w poniższym poleceniu:

sudo pip3 instaluj boto3

Po pomyślnym zainstalowaniu wszystkich narzędzi i pakietów możemy utworzyć ANSible Playbooks, aby zainicjować instancję EC2.

Utwórz poradnik Ansible EC2

Otwórz terminal i stwórz Ansible Playbook kończące się .rozszerzenie YML. Edytuj plik z ulubionym edytorem tekstu i dodaj podręcznik, jak pokazano poniżej:

---
- Nazwa: Ansible Utwórz instancję EC2
Gospodarze: Localhost
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Zapewnienie instancji EC2
EC2:
Region: US-East-2
Nazwa klucza: Ansible-EC2-SSH-Key
Instance_type: T2.mikro
Zdjęcie: AM1-123456
Czekaj: tak
Liczba: 1
Grupa: próbka_servers
Assign_Public_IP: Tak
Zarejestruj się: Amazon_EC2
deleGate_to: LocalHost

Utwórz parę kluczy SSH

Po skonfigurowaniu podręcznika utwórz parę klucza SSH, aby zalogować się do instancji EC2. Upewnij się, aby utworzyć klawisz o podobnej nazwie jak ten zdefiniowany w parametrze nazwy klucza w powyższym podręczniku.

ssh -keygen -t rsa -b 4096 -f ~/.ssh/ansible-ec2-ssh-key

Dodawanie dostępu AWS i tajnego klucza

Następnym krokiem jest dodanie naszych poświadczeń AWS do naszego podręcznika. Dla uproszczenia dodamy poświadczenia do podręcznika w zwykłym formacie.

Uwaga: nie ujawniaj swojego dostępu AWS i tajnego klucza w podręczniku w prawdziwym życiu. Rozważ użycie zmiennych środowiskowych lub narzędzi, takich jak ansible vault.

---
- Nazwa: Ansible Utwórz instancję EC2
Gospodarze: Localhost
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Zapewnienie instancji EC2
EC2:
Region: US-East-2
Nazwa klucza: Ansible-EC2-SSH-Key
Instance_type: T2.mikro
Zdjęcie: AM1-123456
Czekaj: tak
Liczba: 1
Grupa: próbka_servers
Assign_Public_IP: Tak
VPC_SUBNET_ID: Domyślnie
aws_access_key: ************* xxxx
AWS_SECRET_KEY: *****************
Zarejestruj się: Amazon_EC2
deleGate_to: LocalHost

Powyższe pokazuje nowy podręcznik z odsłoniętymi poświadczonymi AWS. Unikaj tego!!

Po uzyskaniu całej konfiguracji podręcznika wykonaj go za pomocą polecenia:

ansible-playbook create-ec2.yml

Powyższe polecenie powinno uruchomić powyższy podręcznik i utworzyć instancję EC2.

Zrozumienie podręcznika

Zrozumiemy teraz podręcznik podany w powyższych przykładach. Uwaga, skupimy się tylko na części EC2 w podręczniku.

  1. Region - Ten parametr określa region AWS podczas tworzenia instancji. Możesz sprawdzić dostępne regiony, które należy użyć w następującym zasobie.
  2. Nazwa klucza definiuje parę klucza SSH do użycia w instancji utworzonej. Upewnij się, że klucz już istnieje.
  3. Instance_type - definiuje rodzaj instancji do utworzenia. Sprawdź następujące zasoby, aby dowiedzieć się więcej.
  4. Obraz - ustawia ID AMI do użycia podczas tworzenia instancji.
  5. Poczekaj - wartość logiczna do ustalenia, czy Ansible powinien poczekać, aż instancja będzie w pożądanym stanie przed powrotem.
  6. Liczba - całkowita liczba instancji do utworzenia.
  7. Grupa - Ustawia grupy bezpieczeństwa dla instancji EC2.
  8. Assess_public_ip - wartość logiczna do zdefiniowania, czy instancje należy przypisać publiczny adres IP w VPC.
  9. Vpc_subnet_id - definiuje identyfikator podsieci, na którym należy uruchomić instancję EC2.

Korzystając z modułu Ansible AWS, możesz użyć powyższych argumentów, aby utworzyć instancję EC2.

Zamknięcie

Ten przewodnik zawiera samouczek na temat tworzenia instancji Amazon EC2 za pomocą modułu Ansible AWS.