Slide 1

Slide 1 text

AWSにおけるストリーム データ処理サービス概要 Amazon MSK / Amazon KDS 2024/02/26 (株)セゾン情報システムズ 吉田 慎弥

Slide 2

Slide 2 text

自己紹介 氏名:吉田 慎弥 所属:(株)セゾン情報システムズ 経歴:Webアプリケーション開発(2022.01~2023.03) • リアルタイムデータ活用エンジン開発(2023.04~) 直近の目標: AWS Certified SysOps Administrator – Associate取得 1

Slide 3

Slide 3 text

アジェンダ ストリームデータ ストリームデータ処理サービス Amazon MSK Amazon Kinesis Data Streams 相違点 Amazon MSK ハンズオン 所感 まとめ 2

Slide 4

Slide 4 text

ストリームデータ 低レイテンシー処理を目的とした (多数のデータソースから)継続して 大量に送信されるデータ ✓リアルタイムデータ分析 ✓IoT アプリケーション ✓金融分析 ✓リアルタイムレコメンデーション 3

Slide 5

Slide 5 text

ストリームデータ処理サービス 処理の全体像 データの流れ ✓データの保持 ✓他サービスへのデータ連携 etc 4 データ発生 取込 変換 分析 アクション 保存 Producer Consumer

Slide 6

Slide 6 text

Amazon MSK 5 Amazon Kinesis Data Streams

Slide 7

Slide 7 text

Amazon MSK 6 特徴 説明 Apache Kafkaベース オープンソースのストリーム処理プラット フォームであるApache Kafkaを基盤にしている セットアップ・運用の柔軟性 カスタマイズが可能で、Apache Kafkaに精通 しているユーザーには適している Kafkaエコシステムの利用 Kafka StreamsやKafka Connectなど、 Kafkaのエコシステムを活用できる 開発者がネットワークや ストレージを設定 クラスタを作成する際に、ネットワークや ストレージを手動で設定が必要 フルマネージドで可用性が高く、セキュアなApache Kafka サービス

Slide 8

Slide 8 text

Amazon Kinesis Data Streams 7 特徴 説明 AWSネイティブ AWSが独自に提供するストリーム処理プラット フォーム より簡単なセットアップ・運用 AWSの管理が詳細に及び、セットアップや運用が 容易 AWSサービスとの連携 AWS Lambda, Amazon S3, Amazon Redshiftなど、 他のAWSサービスとの親和性が高い 完全マネージド型サービス ネットワークやストレージなど、設定や運用が自 動化され、ユーザーの手間を省ける AWSネイティブなサーバーレスストリーミングデータサービス

Slide 9

Slide 9 text

相違点 8 Amazon MSK Amazon Kinesis Data Streams Apache Kafkaベース AWSネイティブ セットアップ・運用の柔軟性 より簡単なセットアップ・運用 Kafkaエコシステムの利用 AWSサービスとの連携 開発者がネットワークや ストレージを設定 完全マネージド型サービス

Slide 10

Slide 10 text

Amazon MSK ハンズオン アーキテクチャ(右図) 構築の手間 ✓VPC(マルチAZ構成) ✓セキュリティグループ 運用の手間 ✓手動スケーリング ⇒サーバレスの優位性 9

Slide 11

Slide 11 text

所感 MSKの役割 ✓システム間のハブとして共通機能を提供するプラットフォーム PJでMSKが採用された理由 ✓ストリーム処理を実施するフレームワークがサポートしている ✓利用実績、運用負荷、構築期間が優秀 今後の展望 ✓他の技術要素も、特徴や役割・採用理由をPJナレッジとしてまとめる ✓お客様がシステムにより実現したいことに適う提案や開発活動を目指す 10

Slide 12

Slide 12 text

まとめ お客様のニーズや目的に応じて 最適なストリームサービスを選ぶことが重要 ✓運用コストも大きな検討要素のひとつ 参画するPJの技術要素を題材に学ぶススメ ✓直接的に業務に活かせ、生きた知識となる ✓お客様と会話する際に説得力が高まる 11

Slide 13

Slide 13 text

ご清聴ありがとうございました 12

Slide 14

Slide 14 text

参考資料 ストリーミングデータとは - AWS https://aws.amazon.com/jp/what-is/streaming-data/ 【AWS Black Belt Online Seminar】Amazon Managed Streaming for Apache Kafka (Amazon MSK) – YouTube https://www.youtube.com/watch?v=q5loJWz-uiY&t=618s 「疎結合」を実現するメッセージングサービスの選択と利用 - AWS DevAx::Connect On-demand https://pages.awscloud.com/rs/112-TZM- 766/images/DevAx_connect_season1_Day2_MessagingService_%E9%85%8D %E5%B8%83.pdf AWSのストリーム処理向けメッセージングサービスKDS(Kinesis)・ MSK(Kafka)・SQSの特徴 – Qiita https://qiita.com/sigmalist/items/1a65b0b0456516e2056b 13

Slide 15

Slide 15 text

メッセージングサービス メリット ✓ パフォーマンス向上 ✓ 信頼性向上 ✓ 精度の高い(独立的な)拡張性 ✓ 分散したシステム構築 モデル ✓ キュー(SQS) ✓ ストリーム(MSK / Kinesis) ✓ トピック(SNS) ✓ バス(EventBridge) • 有する機能 ✓ メッセージの永続化 ✓ キューの冗長化 ✓ 分散処理 ✓ メッセージの管理 ✓ ルーティング ✓ セキュリティ ✓ 認証など 14

Slide 16

Slide 16 text

Apache Kafka 全体図: データの流れ ✓Zookeeper:トピック・パーテーション(分散キュー)のメタ情報を管理 ✓Broker(ブローカー):Message(メッセージ)の受信・配信 ✓トピック:メッセージを種別で管理 ✓パーテーション:ブローカー上に配置され、トピックのメッセージを格納する 運用負担の大きさが課題 ✓Kafkaクラスターの環境構築 ✓ブローカーやZookeeperの運用、スケールの管理・監視など 15 Producer Kafka Cluster Consumer Message Message Broker Broker Broker Zookeeper

Slide 17

Slide 17 text

Amazon MSK(サーバレス) Kafkaクラスターのスケーリングを自動で最適化 ✓ストレージ(=垂直) ✓ブローカー数(=水平) ✓ブローカーサイズ(=垂直) ※プロビジョンドでは手動で設定する必要があり、ブローカーサイズを除き拡張のみ可能。 ※水平スケーリング時に、パーテーションの再割り当てが必要。 ⇒運用負担を最小限にすることが可能 16