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


08.07.2019

Narzędzie EDR

ESET Enterprise Inspector
08.07.2019

Usuwanie skutków awarii

Veeam Availability Orchestrator v2
08.07.2019

Indywidualna konfiguracja

baramundi Management Suite 2019
05.07.2019

Technologia Ceph

SUSE Enterprise Storage 6
05.07.2019

Szybkie i bezpieczne...

Konica Minolta bizhub i-Series
05.07.2019

Edge computing

Atos BullSequana Edge
04.07.2019

Terabitowa ochrona

Check Point 16000 i 26000
04.07.2019

Obsługa wideokonferencji

Poly G7500
04.07.2019

Laptop biznesowy

Fujitsu LIFEBOOK U939X

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. 

Artykuł pochodzi z miesięcznika: IT Professional

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"