Wraz ze wzrostem technologii przetwarzania w chmurze więcej branż migruje swoje obciążenia do infrastruktury w chmurze. W wyniku tego wzorca technolodzy odczuwali potrzebę zautomatyzowania procesu wdrażania instancji (i innych zasobów chmurowych). Terraform jest jednym z takich narzędzie open source, które ułatwia ten postęp.
Co obejmiemy
W tym artykule pokaże, w jaki sposób możemy utworzyć instancję EC2 na AWS za pomocą Terraform. Zobaczymy przykład instalacji prostego serwera WWW w tej instancji. Porozmawiajmy najpierw o instalacji Terraform.
Jak możesz zainstalować Terraform
Oficjalne pakiety TerraForm dla różnych systemów operacyjnych, takich jak Dystrybuty Windows, Mac i Linux, takie jak Ubuntu/Debian, Centos/Rhel itp., są dostępne. Ponadto Terraform utrzymuje również skompilowany binarny i można go również opracować ze źródła. Możesz sprawdzić różne procedury instalacyjne na stronie internetowej Terraform. Aby zweryfikować instalację Terraform, uruchom następujące polecenie:
1 | $ terraform -version |
Tworzenie instancji AWS EC2 za pomocą Terraform
Po zainstalowaniu Terraform w systemie, kontynuuj tworzenie instancji EC2 na AWS. Istnieje kilka plików, które skutecznie zarządzają wdrożeniem Terraform. Chociaż możemy utworzyć pojedynczy plik i zadeklarować wszystkie rzeczy, takie podejście sprawi, że cały scenariusz będzie niezdarny. Najpierw stwórzmy działający katalog, jak widać następująco:
Krok 1. Zacznij od folderu, który pomieści wszystkie pliki konfiguracyjne. Utwórz folder i przesuń w nim, jak pokazano następująco:
1 | $ mkdir linuxhint-terraform && cd Linuxhint-Terraform |
Krok 2. Utwórzmy nasz pierwszy plik konfiguracyjny: „Zmienne.TF ”, który zawiera informacje o naszym regionie AWS i rodzaju instancji, której chcemy użyć, jak pokazano następująco:
1 | $ nano zmienne.tf |
Teraz umieść poniższy tekst w nim i zapisz plik, jak pokazano następująco:
1 2 3 4 5 6 7 8 9 10 | Zmienna „AWS_REGION” |
Krok 3. Domyślnie, gdy Terraform tworzy nową instancję, domyślna grupa bezpieczeństwa powiązana z instancją zaprzecza całego ruchu. Dlatego utworzymy nowy plik „SECGRP.TF ”, aby utworzyć grupę bezpieczeństwa„ Web-SG ”, która pozwoli na przychodzący ruch„ SSH ”i„ HTTP ”, a także cały ruch wychodzący, jak pokazano następująco:
1 | $ nano secgrp.tf |
Teraz umieść w nim następujący kod, jak pokazano następująco:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Zasób „aws_security_group” „Web-Sg” |
Krok 4. Utwórz „główny.plik tf ”, który zdefiniuje pożądaną infrastrukturę, jak pokazano następująco:
1 | $ nano main.tf |
Teraz umieść w nim następującą konfigurację:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | Terraform |
W poprzednim kodzie nie zapomnij zmienić „nazwy użytkownika” na nazwę użytkownika systemu i „EC2-KeyPair-name” na nazwę pary kluczowej w twoim przypadku. Zobaczmy trochę o parametrach używanych w powyższych plikach:
AWS_INSTANCE: To tworzy zasób instancji EC2. Instancje można tworzyć, zmienić i zniszczyć
JESTEM: Podaj identyfikator AMI, który ma być używany z instancją EC2
instance_type: Ta opcja służy do deklarowania rodzaju instancji do użycia
Nazwa_key: Określa nazwę pary kluczowej do użycia z instancją EC2
VPC_Security_group_ids: Argument za listą grupy bezpieczeństwa do załączania
associate_public_ip_address: Określ, czy dołączyć publiczne IP do instancji w VPC
dane użytkownika: Używane do przekazywania poleceń/danych w instancji podczas jej uruchamiania
Teraz zainicjuj Terraform, uruchamiając następujące polecenie:
1 | $ Terraform init |
Teraz zastosuj zmiany za pomocą następującego polecenia:
1 | $ Terraform Zastosuj |
Weryfikacja procedury
Teraz sprawdźmy, czy utworzono pożądaną instancję EC2. Udaj się do konsoli EC2 i sprawdź instancje bieżące, jak pokazano na poniższym obrazku:
Ponieważ nasza instancja została pomyślnie utworzona, zobaczymy teraz, czy wdrożona przez nas strona internetowa działa poprawnie, czy nie. Skopiuj nazwę DNS lub publiczne IP instancji i wprowadź ją w przeglądarce internetowej, jak pokazano następująco:
Dobrze zrobiony! Nasz serwer WWW działa ładnie.
Oczyszczanie zasobów
Podczas testowania infrastruktury lub gdy jej nie wymaga, wyczyść zasoby, uruchamiając następujące polecenie:
1 | $ Terraform niszczy |
Wniosek
Ten przewodnik nauczył nas o stworzeniu instancji EC2 na AWS za pomocą Terraform. Wykazaliśmy również, jak zapewnić prosty serwer WWW AWS za pomocą Terraform.