[レポート]ANT398 – Amazon Managed Streaming for Kafka (Amazon MSK)入門 #reinvent
本記事はAWS re:Invent 2018のSession「ANT398 - [NEW LAUNCH!] Introducing Amazon Managed Streaming for Kafka (Amazon MSK)」のレポートです。
re:Invent 中に発表された Apache Kafka のフルマネージドサービス「Amazon Managed Streaming for Kafka (Amazon MSK)」の入門セッションです。
セッションについて
スピーカー
Damian Wylie - Principal Product Manager
概要
Discover the power of running Apache Kafka on a fully managed AWS service. In this session, we describe how Amazon Managed Streaming for Kafka (Amazon MSK) runs Apache Kafka clusters for you, demo Amazon MSK and a migration, show you how to get started, and walk through other important details about the new service.
資料
ストリーミング処理について
- モバイル・サーバー・IoTデバイスなどから、データは常に生成されている
- リアルタイムにデータ処理できるのになぜバッチで処理する必要があるのか?
- バッチ処理すると、データが処理されるまでの時間がかかり、データの価値は落ちてしまう
このようなケースに Apache Kafka は向いている
Apache Kafka はリアルタイムデータ処理のスイスアーミーナイフ
Apache Kafka クラスター管理の課題
Apache Kafka を運用できるスキルセットをもった人材の確保が難しい
Apache Kafka を AWS で運用すると、以下のような困難が伴う
- セットアップが難しい(Broker/Zookeeper)
- HA を実現するのが難しい
- コンソールやメトリクスダッシュボードがない
- スケール操作が複雑
- AWS 連携は自作
Amazon Managed Streaming for Kafka がこれらを解決
- フルマネージド
- 高可用
- セキュア(通信・ストレージ)
パブリックプレビューのため、申請なしに、利用可能
MSK を使うには?
- Apache Kafka 1.1.1 が利用可能(最新版は 2.1.0)
- 管理コンソールまたは AWS CLI から利用可能
- ブローカー数とストレージを指定
Apache Zookeeper について
Amazon Managed Streaming for Kafka のクラスターの裏では Apache Zookeeper が HA 構成で動作している。
Zookeeper は AWS 掛かん前に面倒を見てくれる上、利用費は発生しない。
GA で提供予定の機能
- スケールアップ・スケールアウト
- パーティション・リアサインメント
- ストレージの自動スケール
AWS 連携
- VPC 内に構築
- KMS による encryption at-rest
- コントロール・プレーン API は IAM 認証
- CloudWatch メトリクス
Amazon MSK の何が嬉しい?
- Apache Kafka を採用しやすくなる
- AWS 上で Apache Kafka を運用する上でのベストプラクティスを織り込んだフルマネージドサービス
- 利用者はアプリ開発に専念できる
- Apache Kafka にもフィードバックするよ
利用費
- ブローカーのインスタンスとストレージ
- Apache Zookeeper の追加費用は発生しない
Amazon Kinesis Data Streams と MSK の違い
ストリーム向けメッセージングサービスとして
- 機能は似通っている
- ユースケースも同じ
違っている点もある
項目 | Kinesis Data Streams | MSK |
---|---|---|
プロビジョニング | スループット | クラスター |
スケーリング | シームレス | クライアントにはあまりシームレスでない |
利用費 | 安い | 高い |
AWS連携 | 高い | これから |
周辺ツール | Kinesis ファミリーと仲がよい | Kafkaのエコシステムを使える |
最後に
Amazon MSK はフルマネージドサービスなだけに EC2 上での Apache Kafka に比べて運用負荷は大幅に軽減されます。
Apache Kafka すでに利用していて、AWS 移行、または、EC2 からフルマネージド移行したいユーザーにはかなり刺さるのではないかと思います。