Rozpoczęcie przygody z AWS może wydawać się skomplikowane. Ten artykuł ma za zadanie ułatwić Ci wejście w świat tej technologii, przedstawiając najważniejsze pojęcia i pomagając w dalszym rozwoju umiejętności związanych z AWS.
AWS to obecnie najpopularniejszy i największy dostawca usług chmurowych na całym świecie. Jego infrastruktura obejmuje 84 Strefy Dostępności, rozmieszczone w 26 regionach geograficznych. W planach jest rozszerzenie tej sieci o kolejne 24 Strefy w 8 regionach. Dzięki takim cechom, jak wysoka dostępność, skalowalność, szeroka sieć regionów i elastyczne modele płatności, AWS jest doskonałym wyborem jako dostawca usług chmurowych.
Wraz ze wzrostem popularności AWS, rośnie też zapotrzebowanie na specjalistów i architektów z umiejętnościami w tej dziedzinie. To idealny moment, aby zdobyć praktyczne doświadczenie z technologiami chmurowymi, takimi jak AWS, które mogą pomóc w rozwoju kariery zawodowej. Jednak początki w nowej technologii nie są łatwe. AWS oferuje ponad 200 różnorodnych usług, co na początku może przytłaczać.
Ten artykuł jest skierowany zarówno do osób początkujących w AWS, jak i do specjalistów z branży IT, którzy chcą uporządkować wiedzę i zrozumieć kluczową terminologię AWS. Omówimy podstawowe pojęcia, które pomogą Ci rozpocząć przygodę z chmurą AWS.
Kluczowe pojęcia AWS: Usługi AWS
Poniżej znajdziesz listę najczęściej wykorzystywanych usług AWS:
Amazon API Gateway: To w pełni zarządzana usługa AWS, która upraszcza proces tworzenia, publikowania, utrzymywania, monitorowania i zabezpieczania interfejsów API, niezależnie od ich skali. Typowym scenariuszem użycia jest udostępnianie usług AWS aplikacjom spoza ekosystemu AWS za pośrednictwem interfejsu API.
Amazon Aurora: Jest to w pełni zarządzana relacyjna usługa bazodanowa, oparta na silnikach MySQL i PostgreSQL. Jest zoptymalizowana do pracy w chmurze AWS, wykorzystując jej pełny potencjał.
Amazon CloudFront: To usługa sieci dostarczania treści AWS. Jej podstawowym zadaniem jest redukcja opóźnień w aplikacjach poprzez przechowywanie danych statycznych w ponad 300 lokalizacjach (tzw. lokalizacjach brzegowych) na całym świecie.
Amazon CloudWatch: To wbudowana usługa monitorowania i obserwacji zasobów AWS. Dostarcza informacji i danych, które pozwalają na monitorowanie aplikacji i reagowanie na określone sytuacje.
Amazon DynamoDB: Bezserwerowa baza danych NoSQL, która zapewnia dostęp do danych w czasie liczonym w pojedynczych milisekundach.
Amazon EC2: To jedna z najczęściej używanych usług AWS. Umożliwia uruchamianie bezpiecznych i skalowalnych serwerów wirtualnych (instancji EC2) dostosowanych do różnorodnych potrzeb.
Amazon EC2 Auto Scaling: Usługa odpowiedzialna za automatyczne uruchamianie i wyłączanie instancji EC2 w zależności od zdefiniowanych reguł i kontroli stanu.
Amazon Elastic Block Store: Usługa przechowywania blokowego od AWS. Umożliwia korzystanie z urządzeń blokowych pamięci masowej, zwanych woluminami EBS.
Amazon Elastic Container Registry: Rejestr kontenerów do przechowywania, zarządzania i wdrażania obrazów kontenerów Docker.
Amazon Elastic Container Service: Skalowalny i szybki system zarządzania kontenerami, rozwijany i dostarczany przez AWS.
Amazon Elastic File System: Usługa pozwalająca na konfigurację i tworzenie systemów plików. Dostęp do tych systemów można uzyskać z instancji EC2 oraz serwerów lokalnych.
Amazon Elastic Kubernetes Service: Zarządzana usługa upraszczająca wdrażanie Kubernetes w AWS, eliminująca konieczność konfigurowania i utrzymywania własnych klastrów.
Amazon IAM: Usługa służąca do zarządzania użytkownikami i ich uprawnieniami w ramach konta AWS.
AWS Key Management Service: Proste rozwiązanie AWS do tworzenia kluczy szyfrowania i zarządzania nimi.
Amazon Lightsail: Usługa umożliwiająca programistom szybkie wdrażanie i utrzymywanie serwerów internetowych. Nadaje się do prostych zastosowań, które nie wymagają złożonej konfiguracji. Oferuje gotowe pakiety, np. WordPress Lightsail, który umożliwia szybkie uruchamianie stron opartych na WordPress.
Amazon Relational Database Service: Usługa, która pomaga w konfiguracji, obsłudze i skalowaniu relacyjnych baz danych w chmurze AWS. Obsługuje wiele typów baz danych:
- PostgreSQL
- Oracle
- MySQL
- MSSQL
- MariaDB
Amazon Route 53: Usługa, która pozwala na tworzenie systemów DNS dla domen. Pełni też rolę rejestratora domen, umożliwiając zakup nowych i przenoszenie istniejących domen do AWS.
Amazon S3: Najpopularniejsza usługa przechowywania danych w AWS. Wysoce trwała i skalowalna, umożliwia przechowywanie plików jako obiektów w kontenerach zwanych „bucketami” S3. Dostęp do tych plików można uzyskać w każdej chwili za pośrednictwem konsoli lub internetu. S3 oferuje praktycznie nieograniczoną pojemność, a opłaty naliczane są jedynie za wykorzystane miejsce.
Amazon S3 Glacier: Niedroga i trwała usługa do przechowywania kopii zapasowych i archiwów. Zaprojektowana do przechowywania rzadko używanych danych, gdzie czas odzyskiwania danych może wynosić kilka godzin.
Amazon Simple Email Service: Łatwe w użyciu i ekonomiczne rozwiązanie do obsługi poczty e-mail w aplikacjach.
Amazon Simple Notification Service: Usługa do natychmiastowego wysyłania i odbierania powiadomień w chmurze AWS. Jest zintegrowana z wieloma innymi usługami AWS i często wykorzystywana do komunikacji między nimi.
Amazon Simple Queue Service: Usługa, która umożliwia hosting kolejek w chmurze do przechowywania komunikatów. Może być zintegrowana z innymi usługami AWS, które wysyłają i odbierają komunikaty z tych kolejek.
Amazon Virtual Private Cloud: Służy do tworzenia logicznie odizolowanych sieci w chmurze. Daje pełną kontrolę nad routingiem, bezpieczeństwem i konfiguracją sieci.
AWS CloudFormation: Infrastruktura jako kod od AWS, pozwalająca na tworzenie, modyfikację i usuwanie zasobów AWS za pomocą kodu YAML lub JSON.
AWS Cloud Development Kit (CDK): Platforma programistyczna typu open source do definiowania i udostępniania infrastruktury chmurowej przy użyciu popularnych języków programowania, takich jak C++, Java czy Python. AWS CDK konwertuje kod na szablony CloudFormation, wykorzystywane następnie do udostępniania infrastruktury chmurowej.
AWS CodePipeline: Usługa ciągłego dostarczania, umożliwiająca szybkie i niezawodne wdrożenia aplikacji.
AWS CodeBuild: Bezserwerowa usługa ciągłej integracji. Pozwala na pobieranie kodu z repozytoriów, uruchamianie testów i zadań budowania oraz tworzenie pakietów gotowych do wdrożenia.
AWS CodeDeploy: Automatyczne narzędzie do wdrażania aplikacji na serwerach AWS lub w lokalnych centrach danych. Wykorzystuje pakiety gotowe do wdrożenia.
AWS CodeCommit: Usługa, która umożliwia hosting prywatnych repozytoriów Git, podobnie jak BitBucket czy GitHub.
AWS CloudTrail: Rejestruje wszystkie wywołania API na koncie. Umożliwia monitorowanie, które działania zostały wykonane na koncie, przez jakich użytkowników, o jakiej godzinie, z jakiego adresu IP oraz ewentualne odpowiedzi zwrócone przez AWS.
AWS Elastic Beanstalk: Usługa webowa do szybkiego wdrażania i zarządzania aplikacjami w chmurze AWS bez konieczności manualnej konfiguracji infrastruktury.
AWS Lambda: Bezserwerowa usługa obliczeniowa, która umożliwia uruchamianie kodu bez konieczności utrzymywania serwerów. Jest często integrowana z innymi usługami AWS.
AWS Secrets Manager: Usługa AWS do przechowywania, rotacji i szyfrowania danych uwierzytelniających, np. nazw użytkowników i haseł do baz danych.
AWS Snowball: Usługa do migracji danych na dużą skalę. Pozwala na przesyłanie terabajtów danych do AWS za pomocą specjalnych dysków twardych.
Kluczowe pojęcia AWS: Ogólne
Poniżej znajduje się lista ogólnych terminów AWS, które warto znać:
Lista kontroli dostępu (ACL): Dokument definiujący dostęp do danych w zasobniku S3. Każdy zasobnik posiada listę ACL, która określa, jakie operacje może wykonywać użytkownik na danych w tym zasobniku. Na przykład, można zablokować dostęp do plików „.json”, pozwalając jednocześnie na dostęp do innych plików w zasobniku.
Alarm: W kontekście AWS, termin ten odnosi się do alarmów AWS CloudWatch. Alarm CloudWatch monitoruje określoną metrykę i uruchamia się, gdy ta metryka przekroczy ustawiony próg. Po wyzwoleniu alarmu, wysyła wiadomość do SNS lub wykonuje określoną akcję.
Polityka: W AWS, termin „polityka” odnosi się do polityki uprawnień lub polityki autoskalowania EC2.
- Polityka uprawnień: Dokument definiujący uprawnienia, które można przypisać użytkownikowi, roli lub grupie uprawnień. Określa, które działania są dozwolone lub zabronione w odniesieniu do zasobów, do których polityka jest przypisana.
- Polityka autoskalowania EC2: Polityka, która jest dołączona do grupy autoskalowania i definiuje warunki, kiedy AWS powinien uruchomić nową instancję w grupie lub wyłączyć istniejącą. Na przykład, można zdefiniować zasadę, która doda instancję EC2, gdy obciążenie aplikacji osiągnie określony poziom.
Zasady zarządzane przez klienta: Polityki uprawnień tworzone i zarządzane przez użytkowników AWS.
Zarządzane zasady AWS: Polityki uprawnień tworzone i utrzymywane przez AWS. Każde konto posiada kilka domyślnych zasad zarządzanych przez AWS, które można wykorzystywać bez dodatkowych opłat.
Kontrole stanu: System sprawdzania stanu instancji EC2 lub aplikacji działającej na tej instancji. Na przykład można stworzyć kontrolę, która co 10 sekund wysyła żądanie do aplikacji internetowej uruchomionej w EC2. Jeżeli żądanie nie powiedzie się, kontrola stanu zakończy się niepowodzeniem. Taka kontrola może być połączona z alarmem CloudWatch, który podejmie działanie naprawcze w przypadku problemów.
Lokalizacje brzegowe: Centra danych, w których usługi AWS mogą wykonywać określone operacje. CloudFront wykorzystuje lokalizacje brzegowe do przechowywania danych statycznych, aby zredukować opóźnienia w aplikacjach.
Wolumen: W kontekście AWS, termin ten odnosi się zazwyczaj do woluminów EBS, czyli wirtualnych blokowych urządzeń pamięci masowej udostępnianych przez usługę EBS.
Pulpit nawigacyjny kondycji usług: Strona internetowa, która wyświetla aktualne informacje o dostępności usług AWS. Możesz sprawdzić na niej, czy występują awarie w regionach AWS.
Amazon Machine Image (AMI): Szablon urządzenia głównego komputera, który zawiera system operacyjny i inne oprogramowanie, które ma być zainstalowane w instancjach EC2 po ich uruchomieniu.
Nazwa zasobu Amazon (ARN): Standardowy sposób odwoływania się do zasobu w AWS. Każdy zasób AWS ma swój unikalny ARN.
Strefa dostępności (AZ): Odrębne centrum danych w regionie. Każda strefa AZ jest izolowana od awarii w innych AZ w danym regionie. W przypadku wymagań dotyczących wysokiej dostępności, zaleca się umieszczanie serwerów aplikacji w różnych strefach AZ.
Grupa autoskalowania (ASG): Logiczna grupa instancji EC2 o podobnych cechach, które obsługują tę samą aplikację. ASG automatycznie skalują się w górę lub w dół na podstawie polityk autoskalowania EC2.
Interfejs wiersza poleceń AWS (AWS CLI): Narzędzie, które umożliwia kontrolę, udostępnianie i utrzymywanie zasobów w chmurze za pomocą poleceń. Jest ono dostępne do pobrania i konfigurowalne.
AWS Software Development Kit (AWS SDK): Pakiet oprogramowania, który dostarcza API do łączenia aplikacji z usługami AWS. Na przykład, aby aplikacja JAVA mogła komunikować się z kolejką SQS, potrzebne będzie AWS SQS SDK dla JAVA.
Urządzenie blokowe: Urządzenie pamięci masowej, które umożliwia odczyt i zapis danych w blokach o stałym rozmiarze.
Bucket: Logiczna jednostka (podobna do folderu), w której przechowywane są obiekty (pliki) podczas korzystania z usługi Amazon S3. Bucket można tworzyć za pomocą konsoli AWS S3.
Właściciel bucket: Organizacja lub osoba, która jest właścicielem zasobnika S3. Nazwy zasobników są unikalne na całym świecie, nie można stworzyć dwóch zasobników o tej samej nazwie, nawet w różnych kontach AWS. Na przykład, jeśli posiadasz zasobnik o nazwie „my-wdzzwdz-bucket”, jesteś jego właścicielem, i nikt inny nie może stworzyć zasobnika o tej samej nazwie.
Blok CIDR: Grupa adresów IP o wspólnym prefiksie. Na przykład 10.0.0.0/8 to blok CIDR zawierający adresy od 10.0.0.0 do 10.255.255.255.
Ciągłe dostarczanie: Praktyka DevOps polegająca na automatycznym budowaniu, testowaniu i przygotowywaniu zmian w kodzie do wdrożenia produkcyjnego.
Ciągła integracja: Praktyka DevOps, która ma na celu regularne łączenie zmian w kodzie z centralnym repozytorium.
Dostęp między kontami: Proces umożliwienia użytkownikom z innego konta AWS korzystania z zasobów na Twoim koncie. Na przykład, możesz udostępnić dane z zasobnika S3 użytkownikowi z innego konta, przyznając mu dostęp międzykontowy.
Replikacja międzyregionalna: Funkcja AWS S3, która umożliwia asynchroniczną replikację zmian z zasobnika w jednym regionie do innego zasobnika w innym regionie. Termin ten może być także używany ogólnie do określenia udostępniania danych w różnych regionach AWS.
Klucz główny klienta (CMK): Klucze szyfrowania zarządzane przez usługę zarządzania kluczami AWS.
Migawka bazy danych: Kopia zapasowa bazy danych zrobiona w danym momencie, zazwyczaj przechowywana w S3.
Dedykowany host: Fizyczny serwer przeznaczony do wyłącznego użytku. Daje pełną kontrolę i wgląd w sposób umieszczania instancji na serwerze.
Dedykowana instancja: Instancja uruchomiona na fizycznym hoście, który jest wykorzystywany tylko przez Ciebie. Nie masz kontroli ani wglądu w umieszczanie instancji. AWS zapewnia, że instancje dedykowane są fizycznie izolowane na poziomie sprzętowym.
Odszyfrowanie: Proces użycia kluczy szyfrowania, aby zaszyfrowane dane stały się zrozumiałe.
Szyfrowanie: Proces wykorzystania algorytmów matematycznych, aby dane stały się niezrozumiałe dla osób nieupoważnionych. Nawet jeśli nieuprawniona osoba zdobędzie zaszyfrowane dane, nie będzie w stanie ich odczytać bez wcześniejszego odszyfrowania.
Grupa IAM: Logiczna grupa użytkowników uprawnień. Umożliwia uproszczenie zarządzania zasadami dostępu. Na przykład, można przypisać politykę „programista” do grupy „deweloperzy” i automatycznie przypisać ją wszystkim użytkownikom w tej grupie.
Symulator zasad uprawnień: Narzędzie w IAM, które pozwala testować i rozwiązywać problemy z zasadami uprawnień.
Rola IAM: Jednostka używana do udzielania dostępu do usług AWS. Na przykład, można utworzyć rolę z uprawnieniami do odczytu S3 i przypisać tę rolę do usługi AWS, np. EC2 lub Lambda, aby umożliwić jej odczyt danych z S3.
Użytkownik IAM: Użytkownik, któremu chcesz przyznać dostęp do usług AWS. Na przykład, jeśli chcesz, aby kolega z zespołu miał dostęp do konta AWS, możesz utworzyć dla niego użytkownika IAM z odpowiednimi uprawnieniami. Po przekazaniu mu nazwy użytkownika i hasła, będzie mógł on zalogować się do AWS jako użytkownik IAM.
Magazyn instancji: Pamięć dyskowa, która jest fizycznie dołączona do hosta instancji EC2. Inne usługi pamięci masowej, jak EBS, łączą się z EC2 przez sieć. Niektóre instancje EC2 posiadają magazyny instancji, aby zapewnić szybki dostęp do danych.
Brama internetowa: Wirtualne urządzenie, które można podłączyć do VPC, aby umożliwić dostęp do internetu zasobom w ramach VPC.
Load Balancer: Urządzenie/maszyna wirtualna używana do dystrybucji zapytań do wielu punktów końcowych, np. baz danych, instancji EC2 czy serwerów lokalnych.
Obiekt: Pliki przechowywane w AWS S3 nazywane są obiektami.
Instancja na żądanie: Instancje EC2 udostępniane bez długoterminowego zobowiązania.
Instancje zarezerwowane: Instancje EC2 udostępniane z długoterminowym zobowiązaniem. Zapewniają dużą zniżkę w porównaniu do instancji na żądanie (do 70%). Klienci płacą za cały okres rezerwacji, niezależnie od tego, czy korzystają z instancji, czy nie.
Zleceniodawca: Jednostka, której dotyczy polityka. W przypadku nadawania użytkownikowi uprawnień do odczytu w zasobniku S3, użytkownik IAM jest zleceniodawcą. Zleceniodawcą może być użytkownik, usługa lub inne konto AWS.
Region: Fizyczna lokalizacja geograficzna, w której AWS ma swoje centra danych.
Podsieć: Logiczna część bloku CIDR VPC, w której można uruchamiać zasoby AWS. Umożliwia grupowanie zasobów ze względu na potrzeby bezpieczeństwa i sieci.
Tablica tras: Zbiór reguł routingu, które kontrolują ruch wychodzący z podsieci.
Podsieci publiczne: Podsieci z wpisem w tablicy tras do bramy internetowej. Zasoby w podsieciach publicznych są dostępne przez internet. Aplikacje i zasoby dla klientów powinny być umieszczane w podsieciach publicznych.
Podsieci prywatne: Podsieci bez wpisu do bramy internetowej. Dostęp do zasobów w prywatnych podsieciach można uzyskać tylko z innych zasobów w ramach VPC. Aplikacje zaplecza i bazy danych powinny być umieszczane w podsieciach prywatnych.
Skalowanie w dół: Zmniejszanie wydajności usługi, np. przez wyłączanie instancji w grupie autoskalowania.
Skalowanie w górę: Zwiększanie wydajności usługi, np. przez uruchamianie instancji w grupie autoskalowania.
Skalowanie pionowe: Zmiana rozmiaru instancji lub zasobów, np. zmiana instancji 1 GB RAM na 5 GB RAM.
Skalowanie poziome: Zmiana liczby instancji lub zasobów. Uruchamianie i wyłączanie instancji w grupie autoskalowania to przykłady skalowania poziomego.
Grupa zabezpieczeń: Logiczny zbiór reguł przychodzących i wychodzących, które kontrolują ruch do i z zasobów AWS. Na przykład można przypisać grupę zabezpieczeń do instancji EC2 i utworzyć regułę zezwalającą na połączenia HTTP przez port 80. Umożliwi to instancji obsługę ruchu internetowego.
Trwała sesja: Funkcja systemów równoważenia obciążenia, która kieruje wszystkie żądania z jednej sesji użytkownika do konkretnej instancji EC2.
Szyfrowanie po stronie serwera (SSE): Szyfrowanie danych, które jest wykonywane przez AWS, a nie na serwerach lokalnych. Zazwyczaj używane w kontekście szyfrowania danych w S3 za pomocą kluczy z AWS KMS lub kluczy dostarczonych przez użytkownika.
Szyfrowanie po stronie klienta: Szyfrowanie danych na serwerach lokalnych przed wysłaniem ich do AWS.
Tagi: Pary klucz-wartość metadanych przypisane do większości usług AWS.
Transport Layer Security (TLS): Protokół kryptograficzny, który zapewnia bezpieczeństwo komunikacji w internecie.
Punkt końcowy VPC: Funkcja, która pozwala utworzyć prywatne połączenie między VPC a inną usługą AWS bez dostępu przez internet. Na przykład, zasobniki S3 nie są tworzone w ramach VPC, więc dostęp do nich z instancji w VPC wymaga połączenia internetowego. Punkt końcowy VPC pozwala na utworzenie prywatnego połączenia dla instancji z VPC, aby uzyskać dostęp do zasobników S3.
To były najważniejsze terminy dotyczące AWS. Mam nadzieję, że ten artykuł pomoże Ci zrozumieć podstawowe usługi AWS i ich kluczowe funkcje.
Poniżej znajduje się lista skrótów i akronimów AWS.