Architektura Chmura

Najważniejsze usługi środowiska AWS. Czyli: chmura dla leniwych

Na pewno zastanawiacie się dlaczego uważam, że AWS to chmura dla leniwych tak?
Otóż, nie musicie się martwić gdzie umieścicie swoje serwery, macierze, switche.
U kogo wynajmiecie lokalizację na swoje datacenter i gdzie będziecie fizycznie przechowywać backup.

Wreszcie, gdy awarii ulegnie serwer / macierz nie będziecie musieli/musiały biec do serwerowni by gasić „pożar” 😊

W ostatnich miesiącach swój wzrok skierowałem ze środowisk on-premise na środowiska chmurowe w tym szczególnie na Amazon Web Services i muszę stwierdzić, że prostota rozwiązań i mnogość funkcjonalności powoduje, że dużo szybciej postawicie nowe DataCenter omijając cały żmudny proces ofertowania sprzętu (serwerów, macierzy switchy, routerów), lokalizacji, oprogramowania wirtualizacyjnego czy serwerowego które musisz na „dzień dobry” zakupić.

Odpalenie nowego środowiska to w uproszczeniu zwykłe „wyklikanie” które pozwoli w przeciągu godzin nie dni czy tygodni na postawienie środowiska, które jest gotowe do pracy. Oczywiście dla bardziej zaawansowanych jest AWS CLI, to jednak nie pora i czas aby o tym mówić, zatem przejdźmy do rzeczy!

Czym jest Amazon Web Services?

Amazon Web Services (w skrócie AWS) to platforma usług chmurowych z założenia bezpieczna, oferująca wirtualne serwery, sieci, storage, usługi baz danych, usługi dostarczania treści (tzw. conenct delivery) i wiele, wiele innych produktów które mają na celu pomoc w łatwych skalowaniu i wzroście biznesu.

W 2021 roku, po raz 11 z rzędu usługi AWS znalazły się jako niekwestionowany lider w kwadracie Garnera wskazując go jako usługodawcę mającego najpełniejszą kompletność wizji i najwyższą zdolność do ich wykonania pokonując innych potentatów jak Microsoft oraz Google.

Kilka podstawowych usług AWS – przydatne na start.

Na początku swojej przygody z AWS musiałem a więc i Wy musicie poznać kilka podstawowych usług które pozwolą na powołanie pierwszych środowisk i rozpocząć jakże emocjonującą przygodę z Chmurą 😊

Na początku było … Elastic Computing (EC2)

No dobra, może nie koniecznie na początku ale jednak to jedna z podstawowych usług, z którymi jako Administrator trzeba się zmierzyć.
EC2 to nic innego jak serwery wirtualne typu VPS.
Instancje EC2 to nic innego jak serwery wirtualne typu VPS. Instancje EC2 mogą być uruchamiane na współdzielonych zasobach sprzętowych lub na serwerach dedykowanych stricte pod daną firmę, jednak w tym drugim przypadku trzeba się liczyć z dużo większymi kosztami związanymi z rezerwacją całych serwerów (to mocne uproszczenie, ale niech na początek Nam to wystarczy).

Kilka suchych faktów na temat instancji EC2:

1.      General purpose – Ten typ instancji ma wypośrodkowane parametry i wykorzystujemy je, gdy nie zależy nam, aby żaden z parametrów był dominujący. Do tego typu instancji należą:

1.1. T2 – używane głównie w małych projektach lub jako środowiska testowe. Instancje tego typu korzystają z tzw. kredytów CPU, przez co nie powinny być używane w większych projektach informatycznych, ponieważ po wyczerpaniu kredytów CPU zmniejszają swoją wydajność. Przykładowo dla instancji t2.micro, kiedy CPU nie jest wykorzystywane więcej niż w 20%, to zbierane jest 6 kredytów na godzinę. Natomiast kiedy CPU jest wykorzystywane w ponad 20%, to te kredyty są zużywane. Kredyty przechowywane są do 24 godzin.

1.2. M5 i M4 – Najnowsza generacja instancji tego typu to M5. Jest dobrze zoptymalizowana pod kątem mocy obliczeniowej, pamięci i zasobów sieciowych. M5 różni się od M4 mocą procesora oraz lepiej zoptymalizowanym dyskiem EBS. Wydajność tych serwerów jest stała i nie opiera się na kredytach CPU tak jak jest to w typie instancji t2.

2.      Compute optimized to instancje zoptymalizowane pod kątem mocy obliczeniowej. Należą do nich:

2.1. C4 i C5 – Ich duża moc obliczeniowa pozwala być idealnym rozwiązaniem przy tworzeniu wydajnych serwery sieciowe, modelowanie naukowe, przetwarzanie wsadowe, analiza rozproszona.

3.      Memory optimized to typ instancji stworzony dla firm, dla których istotna jest pamięć RAM.

3.1. X1, X1e,R4 – Wykorzystywane są głównie do wysoko wydajnych baz danych. Największa instancja x1e.32xlarge posiada aż 3940 GB pamięci RAM DDR4. Jest ona certyfikowana przez SAP do współpracy z Business Suite S/4HANA, Business Suite on HANA (SoH), Business Warehouse on HANA (BW), and Data Mart Solutions on HANA w chmurze AWS.

4.      Storage optimized – instancje zoptymalizowane pod kątem wydajności dysku.

4.1. D2,I2,H1,H3 – idealne dla aplikacji z dużymi wymaganiami co do I/O i do wielkości storage’u. D2 jest zalecany do uruchamiania dużych hurtowni danych lub równoległych systemów plików.

Komentarz: Warto pamiętać, że dostępność konkretnych instancji EC2 zależna jest od regionu w którym zlokalizowane są instancje EC2

AWS VPC – czyli Virtual Private Cloud w pigułce.

Tego nie unikniemy, podstawy sieci i routingu każdy musimy znać, by wykonać nawet podstawowe konfiguracje sieciowe w AWS.

Tu będzie krótko:
Usługa VPC pozwala na korzystanie z zasobów AWS w wirtualnej sieci prywatnej.

Do naszej – czyli w większości przypadków osób z branży IT – dyspozycji została oddana pełna konfiguracja, która pozwala na tworzenie sieci, podsieci, definiowanie własnego zakresu adresów IP, ACL, routingu, IGW, NAT, VPN i … wiele innych.
Na początek niech nam to wystarczy 😊

A teraz w pigułce:
1.  Wiele opcji połączeń: do naszej dyspozycji zostały oddane różne warianty tworzonych połączeń:
1.1. Podłączenie VPC bezpośrednio do Internetu przez publiczne podsieci.
1.2. Podłączenie do Internetu za pomocą Network Address Translation (technika przesyłania ruchu sieciowego przez router, która wiąże się ze zmianą źródłowych lub docelowych adresów IP) przez prywatne podsieci

1.3. Bezpośrednie połącznie z firmowym centrum danych poprzez szyfrowane połącznie VPN.

1.4. Możliwość kombinacji połączenia VPC i centrum danych (on-premises data center – grupa prywatnych serwerów zarządzana przez firmy) dzięki odpowiedniej konfiguracji ruchu sieciowego w celu kierowania całego ruchu do miejsca docelowego.

2.      Łatwość użycia: tworzenie i konfiguracja VPC odbywa się w prostych krokach przy pomocy przygotowanego kreatora.

3.      Konfiguracja zaawansowanego routingu w oparciu o Access List.

AWS S3 – czyli podstawowa usługa storage dla każdego amatora AWS.

Tak, wiem. Napisałem amatora, bo usługa jest prosta i nie skomplikowana, przynajmniej na początku, przynajmniej w podstawowych założeniach.

Simple Storage Service – bo tak rozwija się skrót usługi S3 w AWS to usługa pamięci masowej wchodząca w skład Amazon Web Services. Głównym zadaniem jest możliwość przechowywania i łatwego dostępu do dowolnej treści danych.

Usługa S3 może działać jako samodzielna instancja lub jako kooperacja z innymi usługami Amazon Web Services bądź oprogramowaniem firm trzecich.

S3 Bucket najczęściej jest wykorzystywany do:

1.      Backup
2.      Archiwizacja
3.      Analizy typu Big Data
4.      Przechowywania i dystrybucji kontentu
5.      Disaster Recovery
6.      Hostingu statycznych plików w tym stron internetowych.

Zalety rozwiązań S3 Bucket:

1.      Natychmiastowy start – brak skomplikowanych konfiguracji startowych
2.      Nieograniczona powierzchnia – jedyne ograniczenie to max 5TB dla pojedynczego obiektu
3.      Skalowalność  – brak wstępnej deklaracji powierzchni
4.      Koszty – opłata jedynie za bieżące wykorzystanie powierzchni.
5.      Trwałość – SLA na poziomie 99,999999999%
6.      Bezpieczeństwo – transfer i dostęp jest szyfrowany z wykorzystaniem SSL.

AWS S3 Bucket Static Website

Jest to funkcjonalność dostępna w obrębie AWS S3 Bucket pozwalająca na wystawienie statycznych stron internetowych, które przetwarzane są nie po stronie serwera a klienta łączącego się do strony z wykorzystaniem różnorakich technologii dostępnych w przeglądarkach komputerów oraz urządzeń mobilnych.

AWS Cloudfront.

Na początek praktycznie, mamy sobie Bucket S3 który jest jednocześnie statyczną stroną internetową, chcemy mu nadać przyjazny adres w naszej domenie np. lubiechmureaws.pl.
Od tego jest właśnie usługa Cloudfront.

Pokrótce:

Provisioning treści.

Amazon CloudFront to usługa internetowa, która przyspiesza dystrybucję statycznych i dynamicznych treści internetowych, takich jak pliki .html, .css, .js i pliki graficzne, przez co użytkownicy końcowi szybciej widzą serwowane treści.

Amazon CloudFront dostarcza treści za pośrednictwem ogólnoświatowej sieci centrów danych zwanych lokalizacjami brzegowymi (edge locations), gdy użytkownik zgłasza żądanie dotyczące treści, które są obsługiwane przez CloudFront, żądanie jest kierowane do lokalizacji brzegowej, która zapewnia najmniejsze opóźnienie (zwłokę czasową), dzięki czemu treść jest dostarczana z najlepszą możliwą wydajnością.

Bezpieczeństwo.

Amazon CloudFront bezproblemowo integruje się z Amazon Shield Standard w celu łagodzenia skutków DDoS. Ponadto CloudFront „negocjuje” połączenia TLS przy użyciu szyfrów o najwyższym poziomie bezpieczeństwa. Można również skorzystać z zaawansowanych funkcji, takich jak Field-Level Encryption, aby chronić najbardziej wrażliwe dane w całej organizacji. Amazon CloudFront integruje się również z systemem zarządzania tożsamością i dostępem (IAM) w celu kontrolowania dostępu. 

AWS Certificate Manager – bez certyfikatu ani rusz!

W początkowej fazie nauki AWS chwilę się głowiłem jak spiąć Cloudfront’a dla S3 Bucket dla mojej wykupionej domeny tak, by cloudfront pozwolił mi z niej korzystać.
Tu z pomocą przyszedł Certificate Manager, bez niego nie dałbym rady zapiąć certyfikatu dla ruchu SSL w docelowej dla mnie domenie.

Czym konkretnie jest AWS CA?

AWS Certificate Manager jest usługą która pozwala na proste i szybkie zarządzanie oraz tworzenie certyfikatów do zabezpieczania połączeń z wykorzystaniem warstwy transportowej (SSL/TLS).
Certyfikaty są wykorzystywane do zabezpieczenia komunikacji sieciowej i nawiązania bezpiecznego połączenia z wykorzystywaniem szyfrowania.

AWS Certificate Manager usuwa czas związany z zakupem, wgrywaniem  i odnawianiem certyfikatów.
Istnieją dwa typy certyfikatów które można stworzyć z wykorzystaniem AWS Certyficate Manager:

  1. Private CA – certyfikat z dostępem do klucza prywatnego płatny do wykorzystania również poza środowiskiem AWS.
  2. Public Certicate – certyfikaty publiczne wykorzystywane w obrębie usług AWS służące do zabezpieczenia komunikacji w obrębie usług współdziałających jak i dostępu do https dla Cloudfront dla bezpiecznego serwowania np. S3 Bucket Static Website.

Autor

Jan Łokaj

Administracja szeroko pojętymi systemami to ciągłe zdobywanie wiedzy i umiejętności pozwalających rosnąć w lesie usług. W ostatnim czasie w kręgu moich zainteresowań pojawiła się chmura i wsparcie developerów w rozwoju środowisk chmurowych, które uważam że z roku na rok stają się coraz bardziej istotne w świecie IT.