この記事の目次
AWS Kafkaとは?
AWSのApache Kafkaと言われ、ストリーミングデータやパイプラインをリアルタイムで取り込み処理するためのデータストアです。
AWS Apache Kafka使用すると、常に生み出される流入データを処理し、順番や段階的に実行できます。
また、セキュリティ機能の高いアプリケーションを構築でき、ストレージやメッセージ機能およびストリーム処理を組み合わせて、リアルタイムデータの分析、履歴データをストレージに格納できます。
ストリーミングデータとは?
ストリーミングデータは、デバイスやウェブサイト、アプリケーションによって生み出される情報を継続的に生成または更新するデータを示します。
主に、ユーザーがウェブサイトやモバイルアプリケーションを使用して生成されるログファイルやゲーム内によるプレイヤーのアクティビティ、ソーシャルネットワークや地理空間サービス情報、登録または接続したデバイスの計測、能力データの情報等、様々なデータが該当します。
AWS Apache Kafkaのメリット
AWS Apache Kafkaには、ストリーミングデータ、パイプラインとストリーミングアプリケーションを構築でき、2つのアプリケーション間の通信処理を円滑にできます。
アプリケーションによって継続的に生み出される情報を、定義された命令で分割し、あるシステムから別のシステムにデータを処理または移動でき、継続的に生成、または更新するデータの消費、負荷を抑えます。
また、アプリケーションのセキュリティ機能が高いため、データの流失や継続的に流れるデータを監視、生成されたデータの順序を保持できます。
これらの機能を一部紹介します。各機能の詳しい詳細については、公式サイトで閲覧できます。
スケーラビリティ
スケーラビリティとは、既存のシステムに対して、外部製品(ハードウェア等)を追加、拡張できる能力です。
AWS Apache Kafkaでは、データを複数のサーバーに分散でき、単一サーバーのデータ容量が超えた場合は、スケーラビリティ化できます。
これの機能により、サーバー側で取り込まれなかったデータがエラーとなって返るのを未然に防ぎます。
通信処理が早い
AWS Apache Kafkaは、レイテンシが低く、データ処理や時間を高速にします。
データストリームを分離するため、大量のデータを取り込んでもアプリケーションがクラッシュまたはフリーズを防ぎます。
耐久性
サーバーに格納されたデータは、外部からの攻撃や何らかのシステム障害からデータを保護します。
同じデータをサーバー内で複製化させてディスクに書き込みができるため、データの損失を防げます。
プロデューサーAPI
AWS Apache Kafkaの全体管理や進捗状況を公開するAPIです。
継続的なログやデータ情報を一部のユーザーに公開し、管理する項目の制限や権限設定が行え、ユーザーごとに割り当てができます。
コンシューマーAPI
テーマや話題をサブスクライブしたAPIです。サブスクライブとは、定期購買や配信を受けることを意味します。
利用者が第三者または顧客用に向けて、まとめた情報や現在の進捗状況、管理情報などを提供できます。
Streams API
ストリームプロセッサ(並列処理)は、テーマやデータの入力ストリームから、出力ストリームに変換できるAPIです。
アプリケーションがストリームプロセッサとして実行でき、それぞれの役割を分担できます。
Connector API
データシステムの追加を自動化できるAPIです。
ユーザー側で自動化する定義を設け、既存のアプリケーションまたは別のアプリケーションにデータを追加するように指示できます。
データの生成と使用
各AWS Apache Kafka APIは、データ情報の出し入れができ、状況に合わせて使用できます。
また、ユーザー側がAmazon MSK内の操作したときに、アプリケーションコードの変更は必要ではないため、ユーザー同士の干渉を防ぎます。
Amazon MSKとは?
Amazon MSKは、ストリーミングデータ処理に使用されるAWS Apache Kafkaのアプリケーション構築と実行を簡単に行える、マネージド型サービスです。
Amazon MSKでは、AWS Apache Kafkaに関する知識がなくても、アプリケーションを簡単に実行および構築でき、ユーザー側の構築や管理時間を削減できます。
Amazon MSKは何しますか?
AWS Apache Kafkaを実行時に、オーバーヘッド(システムにかかる負荷、処理時間)を生み出さずに、AWSサービスと統合ができます。
これは、AWS側の運営がApache Kafkaのセットアップ、プロビジョニング、AWS統合、メンテナンス等のサービスを実施します。
具体的には、Amazon MSK内の異常なブローカーを変換し、データを自動的に複製化して汎用性を高め、必要に応じてハードウェアパッチを自動更新します。
ユーザー側が実行する作業は、コンソール画面で選択するとAmazon MSKをプロビジョニングできます。
Amazon MSKのメリット
Amazon MSKに含まれている機能の一部を紹介します。
これらの機能には、どのような安全性や管理機能があるのでしょうか。各機能の詳しい詳細については、公式サイトで閲覧できます。
サーバー管理が不要
Amazon MSKには、AWS Apache Kafkaクラスターの運用が自動的に設定、管理されるため、個人でサーバー管理が不要になります。
これにより、少ない操作でAWS Apache Kafkaを作成し、独自のカスタム設定を用いて、クラスターを作成できます。
AWS Apache Kafkaアップグレード
Amazon MSKクラスター内の、AWS Apache Kafkaはバージョンアップを手動でアップグレードできます。
新しくバージョンアップすると、バグ修正や既存ツールの性能向上、新機能の追加などがされます。
Apache ZooKeeperが付属
Apache ZooKeeperとは、Amazon MSK内のオープンソースサーバーを保守及び開発する集中型のサービスです。
このサービスは、構成情報および設定情報の維持、分散同期アプリケーションによる、何らかの形で一元化され使用できます。また、Apache ZooKeeperは、エンドポイントを通じて、プロデューサーAPIを使用できます。
自動的な復旧
Amazon MSK内のクラスターは常に状態を監視し、異常なブローカーを自動的に交換します。
アプリケーションによるダウンタイムがないため、個人で起動や停止、または直接アクセスしての作業は必要ありません。
プライベート接続
Amazon MSK内に管理されているAWS Apache Kafkaクラスターは、Amazon VPC接続を可能にします。
Amazon VPCとは、仮想ネットワークでAWSシリーズを起動するサービスです。独自のIPアドレスを選択、サブネットマスクの作成、基本的なルートテーブルやネットワークゲートウェイの設定、IPv4とIPv6の両方を制御できるサービスです。
このプライベート接続により、セキュリティグループを利用し、ネットワーク設定を安全に管理できます。Amazon VPCのIPアドレスはENIを使用して、Amazon MSKに接続します。
AWS Apache Kafkaの料金
AWS Apache KafkaまたはAmazon MSKでは、実際に使用したデータや転送料金のみを支払います。
料金には、金額が発生するものと発生しないものがあるため、料金をまとめた情報を提供します。各料金の詳しい詳細については、公式サイトで閲覧できます。
ブローカーインスタンスの料金
AWS Apache Kafkaブローカーインスタンスの料金は、1秒ごとの時間単位で請求が発生します。
料金は、AWS Apache Kafkaの使用量、AWS Apache Kafkaのデータサイズによって金額が異なり、1データサイズの使用量に対して、1秒あたりの金額が決まります。
ブローカーストレージの料金
Amazon MSKでは、ストレージ数に応じて料金が発生します。
これは、クラスターにプロビジョニングし、時間単位のブローカーを何GB使用したかによって異なり、月間の使用時間を1日単位で割った料金になります。
AWS Apache Kafkaを利用して、アプリケーションを軽くしよう!
AWS Apache Kafkaは、使用するのに難しい知識が必要となりますが、Amazon MSKのようなツールセットがあるため、個人のハードルがかなり下がります。
どうしても規模が大きいアプリケーションとなると、処理が重くなるため、そこを少しでも改善すると、トラブル発生の原因や作業時間が円滑になるのが魅力です。
本記事で紹介した内容以外にも、たくさんの便利な機能があります。もっと詳しく知りたいかたは、公式サイトでぜひ調べてみてください。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年12月6日キャリア・転職システムエンジニアへのキャリアチェンジで必要な資格は?
- 2023年12月6日キャリア・転職キャリアチェンジでエージェントを活用するメリット
- 2023年12月6日キャリア・転職プログラマーへのキャリアチェンジに必要な資格は?
- 2023年12月6日キャリア・転職サーバーエンジニアへのキャリアチェンジで必要な資格は?