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



26.03.2019

Zabezpieczenie danych...

Kaspersky Password Manager
26.03.2019

Backup partycji i obrazów

Xopero 3.9.7
26.03.2019

Zarządzanie tożsamością

One Identity Authentication Services 4.2
25.03.2019

Automatyczne bezpieczeństwo

VMware Service-defined Firewall
25.03.2019

Dane organizacji pod kontrolą

Konica Minolta Workplace Hub
25.03.2019

Wygoda dla oczu

Philips 252B9
22.03.2019

Pożegnanie z systemem Windows...

System operacyjny Windows 7 wciąż cieszy się dużą popularnością wśród użytkowników...
22.03.2019

Segmentacja sieci

Fortinet FortiGate 3600E, 3400E, 600E i 400E
22.03.2019

Monitoring IP

TP-Link TL-SL1218MP

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"