Wszystko, co musisz wiedzieć o AWS CloudFormation

Opublikowany: 2021-12-28

Encap - Blog (ciąg dalszy)


AWS CloudFormation to dedykowana usługa świadczona przez Amazon w celu pomocy użytkownikom w konfiguracji i modelowaniu zasobów AWS. Pozwala poświęcić więcej czasu na ważne rzeczy, takie jak skupienie się na zarządzaniu zasobami AWS i skierowanie uwagi na aplikacje działające w ramach AWS.

Możesz utworzyć szablon, który oferuje opis żądanych zasobów w AWS, takich jak instancje Amazon RDS DB i instancje Amazon EC2. CloudFormation zamierza optymalnie zadbać o konfigurację i udostępnienie tych zasobów AWS dla użytkowników. Nie ma już potrzeby tworzenia lub konfigurowania tych zasobów indywidualnie, ponieważ AWS CloudFormation zajmuje się tym całkowicie.

Na tym blogu postaramy się zrozumieć wszystko, co musisz wiedzieć o konfiguracji AWS.

Działanie AWS CloudFormation


AWS CloudFormation to koncepcja działająca na zasadzie stosu. Daje możliwość wspólnego tworzenia i usuwania zasobów AWS w odniesieniu do jednostki. Użytkownicy mogą definiować cechy związane z odwzorowaniami, parametrami stosu, wartościami wyjściowymi i właściwościami zasobów. Odbywa się to za pomocą szablonu, który jest plikiem zgodnym z JSON.

Możesz napisać i stworzyć szablon od początku lub skorzystać z jednego z przykładowych szablonów oferowanych przez AWS. Oprócz tego użytkownicy mogą w pełni wykorzystać wiele produktów AWS w ramach CloudFormation, takich jak Amazon EC2, Amazon RDS, Amazon Elastic Beanstalk.

Podczas tworzenia stosu AWS CloudFormation wykonuje określone wywołania usług na AWS. Pomaga to w konfiguracji i udostępnianiu zasobów AWS. CloudFormation wykonuje tylko te akcje, do których masz uprawnienia. Na przykład, jeśli chcesz utworzyć Amazon EC2 z AWS CloudFormation, będziesz potrzebować do tego specjalnych uprawnień. Wraz z tym zaistnieje również potrzeba usunięcia stosów i zakończenia instancji.

Aby zarządzać uprawnieniami, poszczególne osoby mogą korzystać z AWS Identity and Access Management. Następnie wywołania procesów AWS CloudFormation są deklarowane przez szablony. Aby upewnić się, że tworzysz i modyfikujesz szablon CloudFormation w YAML lub JSON, konieczne jest użycie AWS CloudFormation Designer. Możesz założyć konto i od razu zacząć projektować.

Ponadto możesz również preferować inne edytory tekstu, aby robiły to samo, ale projektant AWS jest odpowiednią platformą do uzyskiwania skuteczności. Szablon CloudFormation szczegółowo opisuje zasoby, z których chcesz korzystać, oraz powiązane z nimi ustawienia. Na przykład, jeśli chcesz utworzyć jedną instancję EC2, Twój szablon zadeklaruje to samo i odpowiednio opisze właściwości.

Po utworzeniu szablonu zapisujesz go w zasobniku S3 lub lokalnie. Musisz również upewnić się, że zapisujesz go z rozszerzeniem, takim jak .yaml, .txt lub .json. Utwórz stos CloudFormation, określając adres URL Amazon S3 lub lokalizację pliku szablonu na komputerze lokalnym. Jeśli uważasz, że szablon zawiera jakieś parametry, możesz podać wartości wejściowe dla tego samego, po czym możesz przejść w kierunku tworzenia stosu. Parametry pozwalają na wprowadzenie wartości dla szablonu CloudFormation, a dzięki niemu możesz dostosować zasoby za każdym razem, gdy chcesz utworzyć stos.

Pamiętaj, że w przypadku, gdy po prostu określasz lub wywołujesz szablon, który jest przechowywany lokalnie, CloudFormation automatycznie prześle go do zasobnika S3 na koncie AWS. AWS CloudFormation jest przeznaczony do tworzenia zasobników dla wszystkich regionów, w których możesz przesłać plik szablonu. Zasobniki w CloudFormation są dostępne dla każdego, kto ma na koncie włączone uprawnienia Amazon S3.

Koncepcje AWS CloudFormation


Za każdym razem, gdy używasz AWS CloudFormation, możesz pracować z szablonami i stosami. Możesz stworzyć szablony opisujące zasoby AWS i ich właściwości. Za każdym razem, gdy tworzysz stos, CloudFormation udostępnia zasoby opisane w szablonie.

1. Szablony


Szablon AWS CloudFormation to plik tekstowy w formacie JSON lub YAML. Pliki te można łatwo zapisać z dowolnym rozszerzeniem, takim jak .yaml, .template, .txt lub .json. AWS CloudFormation używa tych szablonów jako planów do budowania zasobów AWS.

Na przykład, możesz opisać instancję Amazon EC2 w szablonie jako typ instancji, identyfikator AMI, mapowanie urządzeń blokowych i nazwę pary kluczy Amazon EC2. Za każdym razem, gdy tworzysz stos, możesz również wspomnieć o szablonie, którego CloudFormation używa do tworzenia wszystkiego, co opisałeś w szablonie.

2. Stosy

Korzystając z AWS CloudFormation , możesz zarządzać powiązanymi zasobami jako pojedynczą jednostką zwaną stosem. Tworzenie, aktualizowanie, a nawet usuwanie kolekcji zasobów staje się łatwe, po prostu tworząc, aktualizując i usuwając stosy. Wszystkie zasoby obecne w stosie są zdefiniowane przez szablon CloudFormation stosu.

Załóżmy, że utworzono szablon, który zawiera grupę automatycznego skalowania, instancję bazy danych usługi relacyjnej bazy danych Amazon oraz moduł równoważenia obciążenia elastycznego równoważenia obciążenia. Aby utworzyć te zasoby, możesz utworzyć stos, przesyłając utworzony szablon, a CloudFormation udostępnia wszystkie te zasoby za Ciebie. Możesz pracować ze stosami za pomocą konsoli CloudFormation, AWS CLI i API.

3. Zmień zestawy

Jeśli uważasz, że należy to zmienić na działające zasoby w stosie, możesz zaktualizować stos. Przed dokonaniem jakichkolwiek zmian w zasobach można wygenerować zestaw zmian, który jest w zasadzie podsumowaniem wszystkich proponowanych zmian. Zestawy zmian pozwalają zobaczyć, jak zmiany wpływają na działające zasoby, w szczególności na zasoby krytyczne, przed ich wdrożeniem.

Na przykład, w przypadku zmiany nazwy instancji bazy danych Amazon RDS, AWS CloudFormation utworzy nową bazę danych i usunie starą. Nie możesz ryzykować utraty danych w starej bazie danych, chyba że masz już kopię zapasową. Jeśli utworzysz zestaw zmian, zobaczysz, że zmiana spowoduje zastąpienie bazy danych i poczujesz, że odpowiednio planujesz przed aktualizacją stosu.

Dlaczego potrzebne jest AWS CloudFormation?

Aby stworzyć architekturę obsługującą środowiska akceptacyjne, produkcyjne i testowe, istnieje potrzeba AWS CloudFormation, która może pomóc w wykonaniu niektórych czynności w tym samym celu. Typowe czynności wykonywane przez CloudFormation przy budowaniu tej architektury to uruchomienie instancji, tworzenie load balancerów, wykonanie wymaganych instalacji, podpięcie instancji do load balancerów, tworzenie RDS i konfiguracja grupy bezpieczeństwa EC2, tworzenie i konfiguracja grup bezpieczeństwa oraz tworzenie auto -skalowanie grup.

Szablon AWS CloudFormation do automatyzacji infrastruktury to plik JSON, który zasadniczo ma być potężnym narzędziem, które może zarządzać wszystkimi ważnymi rzeczami. Zasadniczo pomaga w określeniu konieczności zasobów, podczas gdy CloudFormation umożliwia Ci udostępnianie zasobów w przewidywalnej stycznej.

Sytuacje, w których można wykorzystać AWS CloudFormation

AWS CloudFormation pomaga we wdrażaniu lub aktualizowaniu szablonu i jego kolekcji zasobów za pomocą AWS Management Console, AWS Command Line Interface i API. Jego przypadki użycia nie są dodatkowo płatne, ponieważ musisz płacić tylko za zasoby AWS, które są ważne do uruchamiania dedykowanych aplikacji.

Stąd można wywnioskować, że AWS CloudFormation to Infrastructure as Code , co w rzeczywistości oznacza, że ​​można go używać do czytania, ponownego wykorzystywania i przeglądania rzeczy. Poniżej zobaczymy kilka sytuacji, w których używana jest AWS CloudFormation. Pomoże to uzyskać znacznie lepszą przejrzystość.

AWS Cloud Formation pomaga w wykonywaniu następujących rzeczy:

1. Prostota zarządzania infrastrukturą

Aby stworzyć skalowalną aplikację internetową, która zawiera również bazę danych zaplecza, możesz użyć grupy automatycznego skalowania, wystąpienia bazy danych usługi relacyjnej bazy danych Amazon oraz modułu równoważenia obciążenia elastycznego równoważenia obciążenia.

Usługi te są używane indywidualnie do udostępniania zasobów, a po ich utworzeniu można je skonfigurować do wzajemnej współpracy. Te zadania zwiększają złożoność i czas przed uruchomieniem aplikacji. Tworzysz szablon AWS CloudFormation i modyfikujesz również istniejący.

Szablon może opisywać wszystkie zasoby i właściwości. Gdy używasz szablonu do tworzenia stosu CloudFormation, grupa automatycznego skalowania, system równoważenia obciążenia i baza danych są udostępniane dla Ciebie. Po pomyślnym utworzeniu stosu zasoby AWS są gotowe do pracy. Stos można usunąć równie łatwo, a także zasoby. Dzięki CloudFormation zbiór zasobów może być łatwo zarządzany jako pojedyncza jednostka.

2. Replikuj swoją infrastrukturę

Jeśli aplikacja wymaga większej dostępności, oznacza to, że istnieje potrzeba jej replikacji w wielu regionach. Dzieje się tak, ponieważ gdy jeden region staje się niedostępny, użytkownicy mogą korzystać z aplikacji z innego regionu.

Istnieje naturalne wyzwanie, z którym musisz się zmierzyć podczas replikacji aplikacji, a mianowicie, że musisz również zreplikować zasoby. Dlatego ważne jest, aby rejestrować wszystkie zasoby na podstawie wymagań aplikacji. Jednak wraz z tym musisz również skonfigurować i udostępnić wszystkie zasoby w każdym regionie.

Szablon AWS CloudFormation można ponownie wykorzystać do tworzenia zasobów w spójny i powtarzalny sposób. Umożliwia ponowne wykorzystanie szablonów i można to zrobić, opisując zasoby raz i udostępniając je w wielu regionach. W ten sposób infrastruktura może być z łatwością replikowana do wielu regionów.

3. Kontrolowanie zmian wprowadzanych w infrastrukturze

W niektórych przypadkach czasami może zajść potrzeba uaktualnienia. Przykładem może być potrzeba lub chęć uaktualnienia instancji o wysokiej wydajności w konfiguracji uruchamiania autoskalowania. Dzięki temu można zmniejszyć całkowitą liczbę instancji w grupie.

Ręczne sterowanie, śledzenie zmian i dokonywanie aktualizacji może być złożonym przedsięwzięciem, a we wszystkich tych przypadkach istnieje potrzeba zapamiętania miejsca, w którym znajdują się zmienione zasoby. Wykorzystanie AWS CloudFormation umożliwia szablonowi opisanie udostępnianych zasobów i opracowanie ustawień. Śledzenie zmian infrastruktury między szablonami plików tekstowych staje się łatwe.

Możesz również łatwo zintegrować system kontroli wersji wraz z szablonami, aby uzyskać wyobrażenie o zmianach wprowadzonych w infrastrukturze. Oprócz tego możesz również śledzić, kto i kiedy dokonał zmiany. Jeśli chcesz cofnąć zmiany w infrastrukturze, możesz również cofnąć poprzednią wersję szablonu. Dlatego kontrolowanie i śledzenie zmian w infrastrukturze staje się łatwe dzięki AWS CloudFormation .

Wniosek

Powyższe szczegóły są powszechnie kojarzone z AWS CloudFormation. Są to spostrzeżenia, które koncentrują się na funkcjonalności CloudFormation i wygodzie użytkowników podczas uruchamiania aplikacji.

AWS CloudFormation automatyzuje najlepsze praktyki, a także skaluje infrastrukturę na poziomie globalnym. Najlepsze jest to, że umożliwia integrację CloudFormation z innymi usługami AWS. Możesz także być wystarczająco zdolny do zarządzania zasobami prywatnymi i zewnętrznymi.

Jeśli chcesz korzystać z AWS CloudFormation, musisz skorzystać z usług konsultingowych AWS, które mogą pomóc w zrozumieniu większej ilości szczegółów, wiedzy o tym, co zamierzasz zintegrować, i zapewnieniu bezproblemowego wykonywania aplikacji. Skontaktuj się, aby dowiedzieć się więcej.