Kafka をマネージドで使うとき、多くのチームが AWS MSK と Confluent のどちらを選ぶかで悩みます。両者は「Kafka を動かす」点では同じですが、運用責任の境界、セキュリティ機能、周辺サービス、そして課金モデルが大きく異なります。
本稿では、日々の運用で効く差分と、CCAAK 試験で問われやすいポイント(RBAC/ACL、接続方式、レプリケーション、監査・ガバナンス)に絞って、安定した公式仕様に基づき整理します。
MSK は AWS 上の VPC 内で Kafka ブローカーをマネージド提供するサービスです。Kafka 自体の互換性が高く、既存の Kafka ツール群をそのまま使いやすいのが強みです。一方、Schema Registry や ksqlDB などの周辺スタックは原則別途用意が必要です(自前または他サービス)。
Confluent は Kafka に加えて Schema Registry、Kafka Connect、ksqlDB、RBAC、監査、クラスタ間レプリケーション(Cluster Linking など)を統合的に提供します。Cloud 版はマルチクラウドでフルマネージド、Platform 版は自己管理型です。
| 観点 | AWS MSK | Confluent Cloud/Platform | 試験の押さえ所(CCAAK) |
|---|---|---|---|
| 運用責任 | ブローカー運用はAWS。周辺は原則自前(MSK Connectは別枠)。 | Kafka本体+周辺(SR/Connect/ksqlDB/RBAC/監査)を統合提供。 | RBAC/監査ログ/組織スコープ設定はConfluent特有の用語とAPIに注意。 |
| アイデンティティ | TLS/SCRAM/IAM(MSK IAM認証)+ Kafka ACL。 | APIキー/OAuth/mTLS + RBAC + 監査。 | ACLとRBACの違い、主体・リソース・アクションの粒度を区別。 |
| 接続/ネットワーク | VPCネイティブ。プライベート接続前提(オプションで外部公開可)。 | デフォルトは公開エンドポイント。Private Link/Peering/TGW連携可。 | プライベート接続時のDNS/証明書/エンドポイント解決を把握。 |
| スケーリング | ブローカー台数/ストレージを調整(Serverlessは自動化の度合いが高い)。 | クラスタサイズ/CKUや使用量で拡張。周辺サービスも同時に拡張。 | パーティションとスループットの上限・再割当の影響を整理。 |
| レプリケーション | MirrorMaker 2(自己運用またはコンテナ等)。 | Cluster Linking/Replicator 等のマネージド選択肢。 | 同一クラスター内の副本とクラスタ間レプリケーションの違い。 |
| 可観測性 | CloudWatch メトリクス/ログ。 | Cloud/Control Center/メトリクスAPI/監査ログ。 | レイテンシ/スループット/コンシューマラグ/拒否率の主要指標。 |
MSK(プロビジョンド)はブローカー台数とEBS容量を明示的に管理します。スケール時はリバランスやパーティション再割当の計画が必要です。Serverless では容量計画の一部が抽象化されますが、パーティション設計やスループット上限など Kafka 固有の制約は引き続き設計が必要です。
Confluent Cloud はクラスタサイズや使用量ベースで拡張し、Schema Registry や Connect、ksqlDB も同一プラットフォームで連動します。ローリングアップグレードやバージョン整合性は提供側が吸収しますが、クライアント互換性(プロデューサ/コンシューマAPI、線形化/圧縮設定)は利用者側の責任です。
MSK は TLS による暗号化、SASL/SCRAM、そして AWS 独自の IAM 認証(SASL/IAM)に対応します。認可は Kafka ACL で行い、プリンシパル(ユーザ/ロール)に対してトピックやグループ等のリソース権限を付与します。
Confluent は API キーや OAuth/OIDC、mTLS を提供し、認可は RBAC(リソース所有者/役割)で行います。監査ログや Stream Governance(スキーマ互換性/タグ付け)と合わせて、組織的なガバナンスを一体で設計できます。
Kafka クライアント設定例(MSK IAM と Confluent Cloud の比較)
# MSK(SASL/IAM)クライアントプロパティ例
bootstrap.servers=b-1.msk.example.amazonaws.com:9098,b-2.msk.example.amazonaws.com:9098
security.protocol=SASL_SSL
sasl.mechanism=AWS_MSK_IAM
sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
# Confluent Cloud(SASL/PLAIN)クライアントプロパティ例
bootstrap.servers=pkc-xxxxx.us-central1.gcp.confluent.cloud:9092
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<API_KEY>" password="<API_SECRET>";
client.dns.lookup=use_all_dns_ips
MSK 単体には Schema Registry や ksqlDB は含まれません。必要な場合は Confluent Schema Registry を自己管理でデプロイする、または別サービスを併用します。Connect は MSK Connect としてマネージド実行環境が提供されますが、利用可能なコネクタ、ライセンス、運用機能は各ベンダの提供範囲を確認してください。
Confluent は Schema Registry、マネージド Connect、ksqlDB を一体で提供し、互換モード、スキーマの進化、コネクタのバージョン管理、ストリーム処理の運用までを統合UI/APIで扱えます。
MSK は CloudWatch メトリクス/ログへの統合が基本です。マルチAZ配置がデフォルトで、リージョン間DRは MirrorMaker 2 などで構成します。ネットワークは VPC 内接続が前提で、プライベートな到達性設計(ルーティング/DNS/証明書)を厳密に行います。
Confluent はメトリクスAPIやUI、監査ログ(Cloud/Platform)を備え、DR は Cluster Linking などの選択肢があります。ネットワークは標準でインターネット経由の公開エンドポイントを持ち、必要に応じて Private Link/Peering/TGW で閉域化します。
MSK(VPC内)と Confluent Cloud(Private Link 連携)の概念図
MSK(プロビジョンド)はブローカー(インスタンスタイプ×台数×時間)とストレージ(GB/月)、データ転送、MSK Connect(使う場合)などが主要コストです。Serverless は使用量(入出力やパーティション/保存量等)に連動した課金が中心です。正確な単価はリージョンや時期で変動するため、公式料金ページでの見積りを前提にします。
Confluent Cloud は使用量課金(GB入出力、保存、パーティション等)およびプラン/サイズ(Basic/Standard/Dedicated、CKU 等)で決まります。Schema Registry、ksqlDB、Private Link 等のアドオンも併せて算入します。
CCAAK
問題 1
厳格な監査ログとロールベースのアクセス制御(RBAC)が必須で、Schema Registry と ksqlDB もフルマネージドで使いたい。接続はプライベート接続で閉域化し、クラスタ間レプリケーションも簡易に構成したい。最も適切な選択はどれか。
正解: A
RBAC・監査ログ・Schema Registry・ksqlDB を統合的にマネージド提供し、Private Link や Cluster Linking の選択肢を持つのは Confluent Cloud。B は運用責任が増え、C は RBAC/ksqlDB/監査要件を満たしにくい。D はマネージド要件を外れる。
MSK と Confluent Cloud、どちらが安いですか?
ワークロードと要件に依存します。MSK はブローカー台数固定で長時間稼働の高スループットに向く一方、周辺機能は自前運用コストが乗ります。Confluent Cloud は使用量課金で小さく始めやすく、Schema Registry/Connect/ksqlDB/RBAC/監査の運用を内包します。データ転送(AZ/リージョン/インターネット)を含めて総所有コストで比較してください。
MSK Serverless はスパイクに強いですか?
容量計画の一部が抽象化されるため、平常時〜中規模の変動には適していますが、Kafka 固有の制約(パーティションあたりのスループットやレイテンシ、同時接続数など)は依然として影響します。急激なスパイクや極端な高スループットでは、パーティション設計とクォータ/上限の事前確認が重要です。
MSK で Confluent Schema Registry を使えますか?
はい。Schema Registry は Kafka と独立したコンポーネントなので、VPC 内で自己管理(または別環境)し、クライアントから到達できれば利用できます。互換モードや認証方式、可用性(冗長化/スケール)はご自身で設計・運用する必要があります。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Kafka Topic と Partition の基礎: 分散とスケーラビリティの要
CCDAK 対策と実務の両立を意識し、Topic/Partition/Replica/Consumer Group の役...
CCDAK 試験ガイド:出題範囲・配点・申込み・対策
Confluent Certified Developer for Apache Kafka (CCDAK) の出題範囲...
Confluent Certified Administrator (CCAAK) 対策: 出題範囲・配点の考え方・運用観点の要点
CCAAKに向けて、試験領域の押さえどころを運用目線で整理。プロダクションで通用する設定・監視・セキュリティの実践知を、...
Kafka の Replica と In-Sync Replicas を正しく設計する: 耐障害性と一貫性
レプリカとISRの仕組みを起点に、acks と min.insync.replicas、クリーン/アンクリーンリーダー選...
Kafka の Offset とコミット: ポジション管理と at-least-once の基礎
CCDAK 対策と実務の両立を意識して、Kafka コンシューマのオフセット管理とコミット戦略を整理。at-least-...