Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



24.05.2019

Konferencja IT Manager of...

W dniach 12–14 czerwca w Sopocie odbędzie się konferencja IT Manager of Tomorrow 2019. To...
24.05.2019

Ochrona sieci

Fortinet FortiOS 6.2
24.05.2019

Mniejsza złożoność

Rittal VX25 Ri4Power
24.05.2019

All-in-one NAS

QNAP TDS-16489U R2
24.05.2019

Układy SoC

AMD Ryzen Embedded R1000
23.05.2019

Wzmocniony model

Panasonic Toughbook FZ-N1
23.05.2019

Szybsze sieci

D-Link Smart Mesh Wi-Fi AC1900/AC2600/AC3000
23.05.2019

Curved 4K

Samsung LU32R590
14.05.2019

Bezpłatna konferencja OSEC...

Jako patron medialny serdecznie zapraszamy na bezpłatną konferencję OSEC Forum 2019, któa...

Automatyzacja tworzenia infrastruktury w AWS

Data publikacji: 20-12-2018 Autor: Grzegorz Adamowicz

Największym błędem popełnianym przez organizacje migrujące do chmur publicznych jest używanie tych serwisów jak zwykłego centrum danych, co skutkuje podwyższonymi kosztami obsługi i awariami. Amazon Web Services, jako pierwsza i największa chmura publiczna, zachęca nas do uruchamiania i konfigurowania serwerów ręcznie – przy użyciu ich konsoli WWW. To również nie pomaga uświadomić użytkownikom, w jaki sposób najefektywniej zarządzać swoją wirtualną infrastrukturą w chmurze.

 

Administratorzy systemów, przyzwyczajeni do wykonywania wielu operacji manualnie, próbują wprowadzać dokładnie te same procedury w chmurze. To z kolei powoduje spowolnienie pracy, którą przecież użycie chmury miało usprawnić. Ale skoro nie powinniśmy tworzyć serwerów przez konsolę WWW ani wykonywać prac serwisowych na maszynach manualnie, to jak możemy zapewnić sobie ciągłość działania z tymi restrykcjami?

> NARZĘDZIA AWS

W AWS istnieje serwis CloudFormation służący właśnie do automatyzowania tworzenia infrastruktury, zarządzania zmianami, udzielaniem dostępów i innymi zadaniami, które również da się wykonać ręcznie. Jednak dzięki poprawnie napisanym manifestom w CloudFormation cała infrastruktura może utworzyć się automatycznie, a proces jest powtarzalny. Dzięki temu będziemy w stanie odtwarzać dokładnie taką samą konfigurację na innym koncie lub w innej strefie w obrębie AWS.

To samo zadanie spełnia Terraform firmy HashiCorp. Dostajemy w nim możliwość zarządzania również innymi serwisami (IaaS, PaaS i SaaS) czy chmurami publicznymi Google Cloud Platform lub Azure.

Fundament działania narzędzia Terraform różni się od CloudFormation tym, że ten pierwszy ma plik stanu, w którym znajduje się informacja o zapisanej konfiguracji naszej chmury podczas ostatniego uruchomienia. Jeśli ktoś dokona manualnych zmian konfiguracji, Terraform natychmiast je zidentyfikuje i spróbuje zmienić na te, które wymuszamy w naszym kodzie. Porównywanie stanu aktualnego chmury z plikiem stanu powoduje również podwyższoną liczbę zapytań API, co z czasem może skutkować długim wykonywaniem się kodu.

Kod CloudFormation w formie JSON oraz YAML jest bardzo obszerny i może zawierać wiele linii. Kod Terraforma jest czytelniejszy i będzie miał taki sam efekt:

resource "aws_security_group" "allow_ssh" {
name = "allow_ssh"
description = "Allow inbound SSH and all outbound traffic"
vpc_id = "ID_VPC"
ingress {
from_port = 22  to_port = 22  protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}
resource "aws_instance" "ssh_host" {
ami = "ami-0bdf93799014acdc4"
instance_type = "t2.micro"
key_name = "ssh_key"
subnet_id = "SUBNET_ID"
vpc_security_group_ids = [
"${aws_security_group.allow_ssh.id}", ] }

Inne narzędzia, których da się użyć do zarządzania infrastrukturą, możemy wybrać z bibliotek języków programowania, np. libcloud (Python) czy lono (Ruby). Popularne narzędzia do zarządzania konfiguracją również doczekały się bibliotek obsługujących chmurę publiczną, zatem możemy też użyć Ansible, Puppet lub Chef, w zależności od tego, które rozwiązanie bardziej nam odpowiada.

W dalszej części skupimy się jednak na omówieniu tylko oprogramowania firmy HashiCorp – Terraform.

> JAK ZACZĄĆ?

Zamiast starać się zrozumieć całość wszechstronnych możliwości Terraforma skupmy się na jego małym wycinku. Używając HCL, czyli języka opisu infrastruktury, utworzymy w AWS prostą architekturę złożoną z jednej maszyny wirtualnej z publicznym IP i dostępem przez SSH.

 

[...]

 

Doświadczony inżynier systemów. Specjalizuje się w automatyzacji procesów i monitoringu aplikacji rozproszonych. Propagator ruchu open source. Organizator wydarzeń związanych z IT. Freelancer. W wolnych chwilach twórca fantastyki i fantastyki naukowej. 

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"