Pytania rekrutacyjne o AWS

Razem z zespołem przeprowadzałem rekrutację na stanowisko DevOps Engineer w naszej firmie. Potrzebowaliśmy specjalisty z dość szerokim wachlarzem technologii, w tym oczywiście chmurowe AWS. Moim zdaniem właśnie było zweryfikowanie wiedzy kandydatów w zakresie usług z których głównie korzystamy. 

Poniżej zamieszam pytania i odpowiedzi, z których korzystałem. Drogi czytelniku, śmiało możesz wykorzystać je w  swoim procesie rekrutacji na stanowisko, które dotyczy chmury Amazona. 

Amazon EC2

  1. Pytanie: Jakie są różnice między instancjami typu On-Demand, Reserved Instances i Spot Instances?
    Odpowiedź:
    • On-Demand: Płacisz za czas użycia, elastyczne, bez zobowiązań.
    • Reserved Instances: Tańsze niż On-Demand, wymaga wcześniejszej rezerwacji na określony okres (1 lub 3 lata).
    • Spot Instances: Najtańsze, wykorzystujesz niewykorzystane moce obliczeniowe AWS, możliwość przerwania instancji.
  2. Pytanie: Co to jest Security Group i jak działa w Amazon EC2?
    Odpowiedź: Security Group to wirtualna zapora sieciowa dla instancji EC2, która kontroluje ruch przychodzący i wychodzący. Jest przypisywana na poziomie instancji i działa w oparciu o reguły pozwalające lub blokujące ruch na określonych portach i IP.
  3. Pytanie: Jak zapewnić wysoką dostępność dla aplikacji uruchomionej na EC2?
    Odpowiedź:
    • Użycie Auto Scaling Groups do dynamicznego skalowania.
    • Rozmieszczenie instancji w wielu Availability Zones.
    • Użycie Elastic Load Balancer (ELB) do rozdzielania ruchu.

Amazon S3

  1. Pytanie: Wyjaśnij różnicę między klasami przechowywania w S3 (np. Standard, Intelligent-Tiering, Glacier).
    Odpowiedź:
    • Standard: Niska latencja, wysoka dostępność, przechowywanie często używanych danych.
    • Intelligent-Tiering: Automatyczne przenoszenie danych między klasami w zależności od ich użycia.
    • Glacier: Niska cena, przechowywanie archiwalne z dłuższym czasem dostępu.
  2. Pytanie: Jak działa mechanizm wersjonowania w S3?
    Odpowiedź: Wersjonowanie pozwala przechowywać wiele wersji obiektów w S3. Po włączeniu, nowe wersje obiektu nie nadpisują istniejących, co umożliwia odzyskanie wcześniejszych wersji.
  3. Pytanie: Jak zabezpieczyć dane w S3 przed nieautoryzowanym dostępem?
    Odpowiedź:
    • Stosowanie polityk IAM i polityk bucketów.
    • Użycie szyfrowania danych (np. SSE-S3, SSE-KMS).
    • Włączanie kontroli dostępu publicznego (Block Public Access).

AWS Lambda

  1. Pytanie: Jakie są ograniczenia AWS Lambda (np. czas wykonania, pamięć)?
    Odpowiedź:
    • Maksymalny czas wykonania do 15 minut.
    • Pamięć – od 128 MB do 10 GB.
    • Tymczasowe przechowywanie danych – 512 MB (/tmp).
  2. Pytanie: Jakie są wyzwalacze dla AWS Lambda? Podaj kilka przykładów.
    Odpowiedź: Lambda może być wyzwalana przez:
    • S3 (np. przesłanie pliku do bucketu).
    • DynamoDB Streams.
    • EventBridge/Scheduler.
    • API Gateway (REST/HTTP API).
  3. Pytanie: Co to jest cold start w AWS Lambda? Jak można go zminimalizować?
    Odpowiedź: Cold start to opóźnienie związane z uruchomieniem funkcji, gdy nie ma aktywnej instancji. Można je minimalizować, np. poprzez:
    • Użycie mniejszych runtimes.
    • Utrzymywanie funkcji w provisioned concurrency.

AWS CloudFormation

  1. Pytanie: Co to jest CloudFormation Stack i jak się go używa?
    Odpowiedź: Stack to kolekcja zasobów AWS zarządzana jako jedna jednostka. Używany jest do automatycznego tworzenia i zarządzania infrastrukturą zgodnie z definicją w pliku szablonu (JSON/YAML).
  2. Pytanie: Jak CloudFormation radzi sobie z błędami podczas tworzenia stosu?
    Odpowiedź: Jeśli wystąpi błąd, CloudFormation domyślnie wycofa zmiany (rollback), przywracając stan sprzed tworzenia stosu. Można to wyłączyć (opcja Disable Rollback).
  3. Pytanie: Jakie korzyści daje użycie parametrów w szablonach CloudFormation?
    Odpowiedź: Parametry pozwalają na tworzenie bardziej dynamicznych i wielokrotnego użytku szablonów, umożliwiając użytkownikom wprowadzanie danych podczas wdrażania stosu.