目次
1. 結論
Amazon MSK (Managed Streaming for Apache Kafka) は、「AWSが管理してくれるApache Kafka」です。Kinesisと同様にストリーミングデータを扱いますが、最大の違いは「オープンソースのKafkaと100%の互換性がある」ことです。既存のKafka資産を活用したい場合や、Kinesisよりもさらに高い柔軟性・カスタマイズ性が求められる大規模環境で利用されます。
2. SAAで出やすいポイント
- 100% 互換: 既存のKafkaクライアントやツールがそのまま使える。コードの書き換えなしで移行可能。
- 高可用性: 自動的に3つのAZにブローカー(Kafkaサーバー)を分散配置し、可用性を確保。
- セキュリティ: IAM、TLS暗号化、VPC内配置など、AWSのセキュリティ機能と統合。
- マネージド: ブローカーの構築、パッチ適用、障害時の自動復旧などはAWSが担当。
- MSK Connect: Kafka Connect(外部システムとのデータ連携ツール)を簡単にデプロイ・運用できる機能。
3. キーワードでの判断
| 問題文のキーワード | 疑うべきサービス/機能 | 判断理由 |
|---|---|---|
| 「Apache KafkaをAWSで運用したい」 | MSK | 専用のマネージドサービス |
| 「オープンソースの互換性を維持したままストリーミング処理」 | MSK | KinesisはAWS独自仕様のため |
| 「既存のKafkaアプリを最小限の変更でクラウドへ」 | MSK | 高い互換性 |
4. ひっかけポイント
- Kinesis Data Streamsとの使い分け:
- Kinesis: AWSのスタンダード。設定が簡単、従量課金。迷ったらこちら。
- MSK: Kafkaを使いたい、非常に細かい設定をしたい、大量のデータを安定して安く流したい(大規模ならこちらが安くなる場合がある)。
- 管理の負担: Kinesisよりも管理すべき項目(インスタンスタイプ、ストレージ量など)が多く、少し上級者向け。
- サーバーレス: 「MSK Serverless」という、Kinesisのようにキャパシティ管理が不要なオプションも登場している。
5. 覚え方
- 「プロ仕様の巨大なベルトコンベア」。
- Kinesisが「誰でも使える簡単コンベア」なら、MSKは「自分でギア(設定)をいじって最大性能を引き出せるプロ用のコンベア」のイメージ。
6. 関連サービス
| サービス名 | 関連する理由 |
|---|---|
| Kinesis Data Streams | ストリーミング処理のもう一つの選択肢。 |
| Lambda | MSKからデータを受け取って処理を実行するトリガー。 |
| AWS Glue | KafkaからのデータをETL処理してS3やRedshiftへ運ぶ。 |
7. Obsidian管理メモ
- 復習ポイント: 「Apache Kafka」という名詞が出た瞬間にMSKを選ぶ。それ以外はKinesisの方が正解になりやすい。
- 関連ノート: メッセージ・ストリーミングサービス比較
8. HTMLファイル名
amazon-msk-managed-apache-kafka.html