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.
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.