Amazon MSK
Messaging Cloud Practitioner Solutions Architect Associate

Amazon MSK

Amazon Managed Streaming for Apache Kafka

W pełni zarządzany Apache Kafka w chmurze AWS. Buduj aplikacje streamingowe w czasie rzeczywistym bez zarządzania klastrem Kafka - z pełną kompatybilnością open-source.

Amazon MSK (Managed Streaming for Apache Kafka) to w pełni zarządzany serwis Apache Kafka, który pozwala budować i uruchamiać aplikacje przetwarzające dane w czasie rzeczywistym. MSK automatyzuje provisioning, konfigurację i utrzymanie klastrów Kafka.

MSK jest w 100% kompatybilny z open-source Apache Kafka, co oznacza, że istniejące aplikacje Kafka działają bez zmian. Serwis oferuje też MSK Serverless (bez zarządzania pojemnością) i MSK Connect (zarządzane konektory do integracji z innymi systemami).

Czy wiesz, ze...

Apache Kafka został pierwotnie stworzony w LinkedIn w 2011 roku do przetwarzania strumieni aktywności użytkowników. Nazwa pochodzi od Franza Kafki - twórcy uważali, że system zoptymalizowany do pisania danych powinien nosić imię pisarza. Amazon MSK przetwarza biliony wiadomości dziennie dla tysięcy klientów!

Pro Tip

Jeśli dopiero zaczynasz z Kafka na AWS, zacznij od MSK Serverless - nie musisz planować pojemności brokerów. Gdy potrzebujesz pełnej kontroli nad konfiguracją (np. custom partycje, replikacja), przejdź na MSK Provisioned. Używaj MSK Connect zamiast pisania własnych konsumentów do typowych integracji (S3, RDS).

Amazon MSK (Managed Streaming for Apache Kafka) to w pelni zarzadzany serwis Apache Kafka. Obsluguje provisionowanie brokerow, replikacje, patchowanie i monitorowanie, pozwalajac skupic sie na budowaniu aplikacji streamingowych.

1

Tworzenie klastra MSK

Wybierasz wersje Apache Kafka, typ instancji brokerow (kafka.m5.large dla typowych workloadow), liczbe brokerow per AZ (min. 1, zalecane 3 AZ) i pojemnosc EBS. MSK automatycznie rozmieszcza brokery w wybranych AZ dla wysokiej dostepnosci. Klaster jest deployowany w Twoim VPC.

2

Konfiguracja topikow i partycji

Tworzysz topiki (tematy) z konfiguracja: liczba partycji (determinuje paralelizm), replication factor (zazwyczaj 3), retention period (jak dlugo przechowywac dane). Producenci wysylaja wiadomosci do topikow, konsumenci odczytuja. Kazda partycja to uporzdkowany, niezmienny log.

3

Podlaczenie producentow i konsumentow

Aplikacje lacz sie z MSK przez standardowe klienty Kafka (Java, Python, Go, .NET). MSK udostepnia bootstrap servers endpoint. Autentykacja: IAM Access Control (zalecane), SASL/SCRAM, TLS mutual auth. Szyfrowanie in-transit (TLS) i at-rest (KMS) domyslnie wlaczone.

4

MSK Connect - managed connectors

MSK Connect uzywa Kafka Connect do integracji z zewnetrznymi systemami bez pisania kodu. Source connectors importuja dane (np. z bazy danych CDC z Debezium), sink connectors eksportuja (np. do S3, OpenSearch, Redshift). Connectors skaluja sie automatycznie i sa w pelni zarzadzane.

5

Monitorowanie i operacje

MSK automatycznie wysyla metryki do CloudWatch: BytesInPerSec, BytesOutPerSec, UnderReplicatedPartitions, OfflinePartitionsCount. Open Monitoring z Prometheus pozwala na bardziej szczegolowy monitoring. MSK obsluguje automatyczny storage scaling - dodaje dysk gdy zajete miejsce przekroczy prog.

6

MSK Serverless - bez zarzadzania brokerami

MSK Serverless automatycznie provisionuje i skaluje zasoby Kafka. Nie konfigurujesz instancji ani dyskow. Platisz za cluster-godzine ($0.75/godz), per partycja-godzine ($0.0015/partycja-godz, ok. $1.10/mies za stala partycje) oraz per GB przeslanych danych. Idealny dla zmiennego obciazenia. Ograniczenia: maks. 200 MB/s throughput, IAM-only auth.

Praktyczne wskazowki z wdrazania i operowania Amazon MSK w srodowiskach produkcyjnych.

Wybor miedzy MSK Provisioned a Serverless

MSK Serverless jest prostszy i tanszy dla < 200 MB/s throughput. MSK Provisioned daje pelna kontrole: wiecej typow autentykacji, Schema Registry, wiekszy throughput, tiered storage. Dla produkcji z przewidywalnym obciazeniem Provisioned czesto wychodzi taniej. Serverless jest idealny dla dev/test i nieprzewidywalnych workloadow.

Poczatkujacy

Partycje - ile i jak zarzadzac

Liczba partycji determinuje maksymalny paralelizm konsumentow. Regula: partycje >= liczba konsumentow w grupie. Zbyt wiele partycji (>1000 per broker) zwieksza latency i czas recovery. Nie mozna zmniejszyc liczby partycji - planuj z zapasem, ale nie przesadzaj. Uzyj key-based partitioning dla zachowania kolejnosci per entity.

Zaawansowany

IAM Access Control zamiast SASL

IAM Access Control to najprostszy i najbezpieczniejszy sposob autentykacji w MSK. Uzywa standardowych IAM policies i roles - nie musisz zarzadzac credentials w Secrets Manager. Producenci i konsumenci uwierzytelniaja sie IAM role (np. z ECS task role lub EC2 instance profile). Lacz z VPC endpoints dla zero-trust.

Poczatkujacy

Tiered storage dla dlugiej retencji

MSK Tiered Storage przenosi stare segmenty logow z EBS na S3 automatycznie. Konfiguracja: remote.storage.enable=true i local.retention.ms (np. 24h lokalnie). Pozwala przechowywac dane tygodniami lub miesiacami bez kosztownych dyskow EBS. Odczyt starych danych jest wolniejszy, ale koszt drastycznie nizszy.

Zaawansowany

Dead Letter Queue dla blednych wiadomosci

Konfiguruj Dead Letter Topic (DLT) dla wiadomosci, ktorych konsument nie moze przetworzyc. Po N probach (max.retries) wiadomosc trafia na DLT zamiast blokowac partycje. Monitoruj DLT z alertem CloudWatch. Zbuduj osobny konsument do analizy i re-processingu blednych wiadomosci.

Poczatkujacy

Screenshoty z AWS Console

Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon MSK bezposrednio w konsoli AWS.

Do czego sluzy Amazon MSK?

01

Streaming danych w czasie rzeczywistym

Przetwarzaj strumienie zdarzeń z aplikacji, IoT, logów i clickstreamów z milisekundowym opóźnieniem.

02

Architektura event-driven

Buduj mikroserwisy komunikujące się przez zdarzenia Kafka - z gwarancją kolejności i trwałości wiadomości.

03

Pipeline danych do analityki

Strumieniuj dane z systemów źródłowych do S3, Redshift lub Elasticsearch za pomocą MSK Connect bez pisania kodu.

04

Agregacja logów i metryk

Centralizuj logi z setek mikroserwisów przez Kafka topics i przetwarzaj je w czasie rzeczywistym lub zapisuj do S3.

Co musisz wiedziec?

Klaster MSK

Zestaw brokerów Kafka zarządzanych przez AWS. Rozłożony na wiele Availability Zones dla wysokiej dostępności.

Broker

Serwer Kafka w klastrze, który przechowuje dane i obsługuje producentów i konsumentów. Typy: kafka.m5.large, kafka.m5.xlarge itp.

MSK Serverless

Tryb bezserwerowy Kafka - nie musisz zarządzać brokerami ani pojemnością. Płacisz za przepustowość i storage.

MSK Connect

Zarządzane konektory Kafka Connect do integracji z bazami danych, S3, Elasticsearch i innymi systemami bez pisania kodu.

Topic

Kanał, do którego producenci publikują wiadomości, a konsumenci je odczytują. Topic jest podzielony na partycje dla skalowalności.

Schema Registry

Rejestr schematów (Avro, JSON Schema, Protobuf) zapewniający spójność formatu danych między producentami i konsumentami.

Architektura: Event streaming z Amazon MSK

Architektura platformy event streaming z MSK jako centralnym hubem danych laczacym producentow z konsumentami w real-time.

Producenci (Mikroserwisy) ECS/EKS serwisy produkujace eventy biznesowe
CDC events
MSK Connect (Debezium)
MSK Connect (Debezium) CDC connector przechwytujacy zmiany z baz danych
Produce
Amazon MSK
Amazon MSK Klaster Kafka multi-AZ, IAM auth, szyfrowanie TLS
Consume
Konsumenci (Stream Processing) Flink, Lambda lub ECS przetwarzajace eventy w real-time
Sink
MSK Connect (S3 Sink)
MSK Connect (S3 Sink) Archiwizacja eventow do S3 w formacie Parquet
Parquet files
Amazon S3 (Data Lake)
Amazon S3 (Data Lake) Dlugoterminowe przechowywanie eventow do analityki
MSK automatycznie replikuje dane miedzy brokerami w 3 AZ (replication factor 3)
MSK Connect eliminuje potrzebe zarzadzania Kafka Connect cluster osobno
Tiered storage na S3 redukuje koszty dlugiej retencji danych o 60-80%

Ile kosztuje Amazon MSK?

MSK Provisioned - instancje brokerów

Płacisz za godzinę działania każdego brokera. Cena zależy od typu instancji.

kafka.m5.large: ~$0.21/godz. za brokera (~$153/mies.)

MSK Provisioned - storage

Opłata za GB przechowywanych danych na brokerach. Auto-scaling storage dostępny.

$0.10/GB/mies. (EBS storage)

MSK Serverless

Płacisz za przepustowość (cluster hours), storage i partycje. Bez kosztów za brokery.

$0.75/godz. za cluster + $0.10/GB storage + $0.0015/partycja-godz.

MSK Connect

Opłata za godzinę działania workerów konektora (MCU - MSK Connect Units).

$0.11/MCU-godz. (worker)

Przyklady AWS CLI

Utwórz klaster MSK

Tworzy klaster Kafka z 3 brokerami w 3 Availability Zones

aws kafka create-cluster \
 --cluster-name moj-kafka \
 --kafka-version "3.6.0" \
 --number-of-broker-nodes 3 \
 --broker-node-group-info '{"InstanceType":"kafka.m5.large","ClientSubnets":["subnet-aaa","subnet-bbb","subnet-ccc"],"StorageInfo":{"EbsStorageInfo":{"VolumeSize":100}}}'

Lista klastrów MSK

Wyświetla wszystkie klastry Kafka z ich statusami

aws kafka list-clusters-v2 \
 --query "ClusterInfoList[].{Name:ClusterName,State:State,Type:ClusterType}" \
 --output table

Pobierz bootstrap brokers

Zwraca adresy brokerów potrzebne do połączenia producentów i konsumentów

aws kafka get-bootstrap-brokers \
 --cluster-arn arn:aws:kafka:eu-west-1:123456789012:cluster/moj-kafka/uuid

Utwórz klaster MSK Serverless

Tworzy bezserwerowy klaster Kafka bez zarządzania brokerami

aws kafka create-cluster-v2 \
 --cluster-name moj-kafka-serverless \
 --serverless '{"ClientAuthentication":{"Sasl":{"Iam":{"Enabled":true}}},"VpcConfigs":[{"SubnetIds":["subnet-aaa","subnet-bbb"],"SecurityGroupIds":["sg-123"]}]}'

Quiz: Amazon MSK

Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.

Twoj wynik: 0 / 4

1. Czym jest Amazon MSK?

2. Co oferuje MSK Serverless?

3. Do czego służy MSK Connect?

4. Ile minimalnie brokerów powinien mieć produkcyjny klaster MSK?

Chcesz poznac Amazon MSK w praktyce?

Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon MSK krok po kroku. Teoria + praktyka od zera.

Zacznij darmowy kurs Wszystkie serwisy