Ansible dla AWS - łatwe zarządzanie chmurą



Ten blog Ansible dla AWS mówi o tym, jak mieć przewagę w używaniu Ansibe z AWS, demonstrując automatyzację tworzenia i udostępniania instancji EC2.

Firmy zainwestowały dużo czasu i pieniędzy, opracowując i instalując oprogramowanie w celu usprawnienia swojej działalności. Wprowadzenie do przetwarzania w chmurze umożliwiło ich firmom uzyskanie dostępu do oprogramowania w Internecie jako usługi, która okazała się bardziej wydajna i bezpieczna. Zintegrowanie narzędzia do automatyzacji IT, takiego jak Ansible, które z łatwością zapewni infrastrukturę chmury i zarządza nią, takie jak AWS, jest jak zdobycie nagrody głównej. I o tym będziemy rozmawiać w tym blogu Ansible for AWS.

Dziennik:





Jeśli chcesz opanować DevOps, ' Oczywiście byłaby twoją opcją.

Dlaczego firmy migrują do chmury?

Jak wspomniano wcześniej, Could Computing umożliwia firmom dostęp do serwerów, takich jak oprogramowanie, przez Internet. Aby było jasne, przetwarzanie w chmurze jest jak podłączenie do centralnej sieci energetycznej zamiast generowania własnej energii. Chmura stała się nową normą, co w efekcie pozwala zaoszczędzić dużo czasu i pieniędzy. Przyjrzyjmy się kilku zaletom, dlaczego firmy migrują do chmury.



1. Elastyczność:

Rozwój firmy nigdy nie jest statyczny. Usługi w chmurze są odpowiednie dla rosnących i zmieniających się potrzeb biznesowych. Funkcja skalowania w górę i w dół wdrożenia na podstawie wymagań sprawia, że ​​jest ono bardzo elastyczne.

2. Odzyskiwanie po awarii:

Każda firma powinna była zainwestować w odzyskiwanie po awarii. Każda firma fortuna inwestuje dużo pieniędzy w usuwanie skutków awarii. Startupom i firmom niskobudżetowym brakuje pieniędzy i umiejętności wymaganych do tego celu i nie są one w stanie zapewnić odpowiedniej funkcji przywracania sprawności po awarii. Chmura zapewnia klientom rozwiązania do odtwarzania po awarii w celu opracowania solidnych i opłacalnych planów.

3. Automatyczne aktualizacje oprogramowania:

Jak już wiesz, chmura to usługa świadczona przez internet, dlatego wszystkie serwery są poza Twoim zasięgiem, a raczej nie ból głowy. Dostawcy dbają o to, co obejmuje aktualizację w razie potrzeby i regularne kontrole bezpieczeństwa. To znowu kończy się zaoszczędzeniem czasu i pieniędzy.



4. Obniżone koszty:

Utworzenie centrum danych od podstaw może być kosztowne. Prowadzenie i utrzymanie sumuje się z wydatkami. Potrzebujesz odpowiedniej technologii, odpowiedniego sprzętu, odpowiedniego personelu z odpowiednią wiedzą i doświadczeniem, co po prostu brzmi dla mnie jak dużo pracy. Co więcej, niezbyt obiecujące, jest milion sposobów, w jakie może się to nie udać. Migracja do chmury daje ten plus.

5. Skalowalność:

Tradycyjnym sposobem planowania nieoczekiwanego wzrostu jest zakup i utrzymanie dodatkowych serwerów, pamięci masowej i licencji. Może minąć lata, zanim faktycznie ich użyjesz. Platformy w chmurze umożliwiają skalowanie tych zasobów w razie potrzeby. To dynamiczne skalowanie doskonale sprawdza się w przypadku nieprzewidywalnego wzrostu.

6. Bezpieczeństwo danych:

W większości przypadków lepiej jest przechowywać dane w chmurze, a nie na fizycznym urządzeniu, takim jak laptopy czy dyski twarde. Istnieje duże prawdopodobieństwo, że te fizyczne urządzenia zostaną skradzione lub zniszczone. Chmura pozwala zdalnie usunąć dane lub przenieść je na inny serwer, zapewniając, że dane pozostaną nienaruszone i bezpieczne.

7. Zwiększona współpraca:

Korzystanie z platform chmurowych umożliwia zespołowi dostęp, edytowanie i udostępnianie dokumentów w dowolnym miejscu i czasie. Są w stanie współpracować, zwiększając tym samym wydajność. Zapewnia to również przejrzyste aktualizacje w czasie rzeczywistym.

Funkcje Ansible

Ansible ma kilka unikalnych funkcji i gdy takie funkcje współpracują z Amazon Web Services, pozostawia ślad. Rzućmy okiem na te niesamowite funkcje:

  1. Ansible opiera się na architekturze bez agentów, w przeciwieństwie do Chef and Puppet
  2. Ansible uzyskuje dostęp do swojego hosta przez SSH, co sprawia, że ​​komunikacja między serwerami a hostami przebiega błyskawicznie
  3. Nie jest potrzebna żadna niestandardowa infrastruktura zabezpieczeń
  4. Konfiguracja playbooków i modułów jest bardzo łatwa, ponieważ jest zgodna z formatem YAML
  5. Posiada szeroką gamę modułów dla swoich klientów
  6. Umożliwia pełne zarządzanie konfiguracją, orkiestrację i możliwości wdrażania
  7. Ansible Vault strzeże tajemnic

Dlaczego warto korzystać z Ansible dla AWS?

Teraz, gdy omówiliśmy już korzyści płynące z korzystania z platformy chmurowej, takiej jak AWS, i unikalnych funkcji Ansible, przyjrzyjmy się magii stworzonej przez integrację tych dwóch legend.

1. Chmura jako grupa usług

Chmura to nie tylko grupa serwerów w czyimś centrum danych, ale znacznie więcej. Zrozumiesz, kiedy już wdrożysz na nim swoje usługi. Dostępnych jest wiele usług, które umożliwiają szybkie wdrażanie i skalowanie aplikacji. Automatyzacja Ansible pomaga zarządzać środowiskiem AWS jako grupą usług, zamiast używać ich jako grupy serwerów.

2. Moduły Ansible obsługujące AWS

Ansible służy do definiowania, wdrażania i zarządzania szeroką gamą usług. Większość skomplikowanych środowisk AWS można w bardzo łatwy sposób zapewnić za pomocą podręcznika. Najlepszą funkcją jest utworzenie połączenia serwer-host, a następnie uruchomienie Playbooka tylko na jednym systemie i udostępnienie wielu innych systemów z opcją skalowania w górę i w dół zgodnie z wymaganiami.

Ansible posiada setki modułów obsługujących AWS, a niektóre z nich to:

  • Grupy autoskalowania
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Elastyczna chmura obliczeniowa (EC2)
  • Identity Access Manager (IAM)
  • lambda
  • Usługa relacyjnej bazy danych (RDS)
  • Trasa53
  • Grupy bezpieczeństwa
  • Simple Storage Service (S3)
  • Wirtualna chmura prywatna (VPC)
  • I wiele więcej

3. Dynamiczna inwentaryzacja

W środowisku programistycznym hosty ciągle się kręcą i zamykają przy różnych wymaganiach biznesowych. W takim przypadku użycie statycznych zapasów może nie być wystarczające. Takie sytuacje wymagają użycia Dynamic Inventory. Pozwala to na mapowanie hostów na podstawie grup dostarczonych przez skrypty inwentaryzacji, w przeciwieństwie do zwykłego ekwipunku, który zmusza do ręcznego mapowania hostów, co jest bardzo żmudne.

4. Bezpieczna automatyzacja

Załóżmy, że masz zespół składający się z 5 osób, a każdy z nich ma pod sobą dwóch podwładnych, którzy nie są w pełni wykwalifikowani. Nie chciałbyś dać im pełnego dostępu do całego procesu wdrażania. Wtedy zdajesz sobie sprawę z potrzeby ograniczenia autoryzacji.

Ansible Tower udostępnia tę funkcję w celu ograniczenia uprawnień. Zasadniczo to Ty wybierasz, kto może co robić, co ułatwia moderowanie.Ansible Tower szyfruje również dane uwierzytelniające i inne wrażliwe dane, a Ty dajesz podwładnym dostęp tylko do odpowiednich zasobów, jednocześnie ograniczając ich dostęp do nieistotnych.

Demo: zautomatyzuj udostępnianie instancji EC2 za pomocą Ansible

W tej sekcji Demo pokażę, jak Ansible obsługuje AWS, pokazując, jak zautomatyzować uruchamianie i udostępnianie instancji EC2. Zacznijmy.

Krok 1 :

Zainstaluj Ansible na węźle serwera i utwórz połączenie SSH między serwerem a węzłami klienckimi w AWS. W tym przypadku utworzyłem dwie instancje EC2, jeden serwer, na którym jest zainstalowany Ansible, a drugi jest klientem.

Krok 2:

Teraz upewnij się, że masz zainstalowane wszystkie wymagania. Zgodnie z dokumentacją są to następujące wymagania:

  • Python> = 2.6
  • głosować

Zainstaluj Pythona za pomocą następującego polecenia:

$ sudo apt install python

Zainstaluj boto za pomocą następującego polecenia:

$ sudo apt install python-pip
$ pip install boto

program c ++ do sortowania tablicy w porządku rosnącym

Boto to interfejs Pythona do korzystania z usług internetowych Amazon. Będziesz musiał go zaimportować za pomocą następującego polecenia:

$ python
Przycisk importu $
$ exit ()

boto - Ansible For AWS - Edureka

Krok 3:

Musisz skonfigurować swoje AWS. Użyj następującego polecenia do tego samego:

$ aws configure

Dodaj identyfikator klucza dostępu AWS, tajny klucz i domyślny region (który jest opcjonalny).

Krok 4:

Napisz podręcznik, aby uruchomić i udostępnić instancję EC2.

$ sudo vi /etc/ansible/launch.yml

--- - name: Utwórz instancję ec2 hosts: web collect_facts: false vars: region: us-east-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 keypair: priyajdm zadania: - name: Utwórz instancję ec2 ec2: aws_access_key : '********************' aws_secret_key: '************************ **************** 'key_name:' {{keypair}} 'group: launch-wizard-26 instance_type:' {{instance_type}} 'image:' {{ami}} 'czekaj: prawdziwy region:' {{region}} 'liczba: 1 vpc_subnet_id: subnet-02f498e16fd56c277 przypisać_publiczny_ip: tak rejestr: ec2

Warto wiedzieć, co robi kod przed jego wykonaniem. Pozwólcie, że wyjaśnię ten poradnik dla lepszego zrozumienia.

Nazwa: Może to być dosłownie wszystko. Dobrą praktyką jest zachowanie nazwy, która zawiera podstawowy opis wykonywanego zadania.

Gospodarz: Wymienia nazwę listy hostów, dla której ma zostać wykonany podręcznik. W moim przypadku tak Sieć .

zbieraj_fakty: Ten parametr nakazuje Ansible zebrać wszystkie istotne fakty, zmienne i inne dane do wykorzystania w przyszłości. W naszym przypadku ustawiliśmy to na fałsz, ponieważ nie mamy po co zbierać faktów (adres IP, nazwa hosta itp.).

którego: Ta sekcja definiuje i inicjalizuje wszystkie zmienne, których będziemy używać w tym poradniku. Mamy tutaj cztery zmienne:

  • region określa region, w którym musi pojawić się instancja EC2
  • typ_instancji określa typ wystąpienia, które próbujemy wywołać. W naszym przypadku używamy t2.micro
  • który definiuje AMI instancji, którą próbujemy wywołać

  • keypair definiuje parę kluczy, której będziemy używać do wywoływania instancji

ec2: Jest to moduł dostarczany przez Ansible, używany do uruchamiania lub kończenia instancji EC2.

Ten moduł zawiera pewne parametry, których będziemy używać do określenia innych funkcji instancji EC2, którą próbujemy uruchomić.

  • Zaczynamy od podania identyfikatora klucza dostępu AWS i tajnego klucza przy użyciu parametrów aws_access_key i aws-secret_key .
  • nazwa_klucza: przekazać zmienną, która definiuje używaną tutaj parę kluczy
  • Grupa: podaj nazwę grupy bezpieczeństwa. To określa zasady bezpieczeństwa instancji EC2, którą próbujemy przywołać
  • typ_instancji: przekazać zmienną definiującą typ instancji, którego tutaj używamy
  • wizerunek: przekazać zmienną definiującą AMI obrazu, który próbujemy uruchomić
  • czekać: Ma wartość logiczną true lub false. Jeśli prawda, czeka, aż instancja osiągnie żądany stan przed powrotem
  • region: przekazać zmienną definiującą region, w którym ma zostać utworzona instancja EC2.
  • liczyć: Ten parametr określa liczbę instancji, które należy utworzyć. W tym przypadku wspomniałem tylko o jednym, ale to zależy od Twoich wymagań.
  • vpc_subnet_id: przekazać identyfikator podsieci, w której chcesz utworzyć instancję
  • przypisać_public_ip: Ten parametr ma wartość logiczną. Jeśli tak, jak w naszym przypadku, publiczny adres IP zostanie przypisany do instancji podczas obsługi administracyjnej w VPC.

Krok 5:

Teraz, gdy już zrozumiałeś każdy wiersz w poradniku, przejdźmy dalej i wykonajmy go. Użyj następującego polecenia:

$ ansible-playbook /etc/ansible/launch.yml


Po wykonaniu poradnika zobaczysz tworzenie instancji.


I TADA! Pomyślnie zautomatyzowałeś obsługę instancji EC2. W ten sam sposób możesz napisać playbook, aby zatrzymać instancję EC2.

To prowadzi nas do końca bloga Ansible For AWS. Jeśli uznasz ten artykuł za pomocny, zapoznaj się z ' oferowane przez Edureka. Obejmuje wszystkie narzędzia, które uczyniły branżę IT wydajną.