- 分析›
- Amazon MSK›
- よくある質問
Amazon Managed Streaming for Apache Kafka に関するよくある質問
全般
Amazon Managed Streaming for Apache Kafka (Amazon MSK) とは何ですか?
Amazon MSK は、Apache Kafka のインフラストラクチャと運用を管理する AWS ストリーミングデータであり、開発者と DevOps 管理者が Apache Kafka 運用のエキスパートとならなくても AWS で Apache Kafka アプリケーションと Kafka Connect コネクタを簡単に実行できるようにします。Amazon MSK は Apache Kafka クラスターを運用、維持、スケールし、すぐに使用できるエンタープライズプラスのセキュリティ機能を提供します。また、ストリーミングデータアプリケーションを迅速に開発するための AWS 統合が組み込まれています。
最初に、既存の Apache Kafka ワークロードおよび Kafka Connect コネクタを Amazon MSK に移動できます。または、わずかな手順で新しいものを一から構築できます。レプリケーションのために使用されるクラスター内のトラフィックにデータ転送料金はかからず、契約や前払い料金は必要ありません。お客様は、使用したリソースに対してのみ料金を支払います。
Apache Kafka とは
Apache Kafka は、リアルタイムストリーミングデータパイプラインやアプリケーションを構築するための高いパフォーマンス、耐障害性、スケーラビリティを備えたオープンソースプラットフォームです。Apache Kafka は、データストアにストリーミングデータを生成するアプリケーション (プロデューサー) と、データストアからストリーミングデータを使用するアプリケーション (コンシューマー) を切り離すストリーミングデータストアです。組織では、ストリーミングデータを継続的に分析して対応するアプリケーションのデータソースとして Apache Kafka を利用できます。
ストリーミングデータとは
ストリーミングデータは、数千ものマシン、デバイス、ウェブサイト、アプリケーションによって生成された小さいレコード (レコードは通常数キロバイトです) の連続したストリームです。ストリーミングデータには、モバイルアプリケーションやウェブアプリケーションを使用して顧客が生成したログファイル、e コマースの購買情報、プレイヤーによるゲーム内のアクティビティ、ソーシャルネットワークの情報、取引所の財務情報、地理空間サービスの情報、セキュリティログ、メトリクス、接続されているデバイスのテレメトリ、データセンターのインストルメンテーション情報など、様々なデータが含まれます。Amazon MSK や Amazon Kinesis Data Streams などのストリーミングデータサービスを利用すると、ストリーミングデータの継続的な収集、処理、配信が容易に行えます。
Kafka Connect とは何ですか?
Apache Kafka のオープンソースコンポーネントである Kafka Connect は、データベース、key-value ストア、検索インデックス、ファイルシステムなどの外部システムと Apache Kafka を接続するためのフレームワークです。
Apache Kafka の主な機能は何ですか?
Apache Kafka には、次の 3 つの主要な機能があります。
- Apache Kafka は、耐障害性の方法でストリーミングデータを保存し、プロデューサーとコンシューマーの間にバッファを提供します。イベントを連続する一連のレコードとして保存し、レコードが生成された順序を保持します。
- Apache Kafka では、多くのデータプロデューサー (ウェブサイト、IoT デバイス、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスなど) がストリーミングデータを継続的に発行し、Apache Kafka トピックを使用してデータを分類できるようにします。複数のデータコンシューマー (機械学習アプリケーション、AWS Lambda 関数、マイクロサービスなど) がこれらのトピックを独自のレートで読み込みます。これは、メッセージキューやエンタープライズメッセージングシステムと似ています。
- データコンシューマーは、Apache Kafka トピックからのデータを先入れ先出しベースで処理でき、データが生成された順序が保持されます。
Apache Kafka の主な概念は何ですか?
Apache Kafka は、レコードをトピックに保存します。データプロデューサーは、レコードをトピックに書き込み、コンシューマーはレコードをトピックから読み込みます。Apache Kafka 内の各レコードは、キー、値、タイムスタンプ、そして時にはヘッダーメタデータで構成されています。Apache Kafka は、ブローカーと呼ばれる複数のノード間でトピックをパーティション化し、レプリケートします。Apache Kafka は、1 つ以上のブローカーでクラスターとして実行され、ブローカーは可用性の高いクラスターを作成するために複数の AWS アベイラビリティーゾーンに配置されます。Apache Kafka はクラスターメタデータの管理に Apache ZooKeeper または Apache Kafka Raft (KRaft) に依存しています。
どのような場合に Apache Kafka を使用すればよいですか?
Apache Kafka は、ストリーミングデータを変換、配信、反応するリアルタイムのアプリケーションをサポートし、複数のシステムやアプリケーション間でデータを確実に送信するリアルタイムのストリーミングデータパイプラインを構築するために使用することができます。
Amazon MSK ではスキーマ登録をサポートしていますか?
はい。Apache Kafka のクライアントから AWS Glue スキーマレジストリを使用可能です。スキーマレジストリは、AWS Glue のサーバーレスな機能で、追加料金なしでご利用いただます。詳細を確認したり、使用を開始したりする場合は、AWS Glue スキーマレジストリユーザーガイドをご覧ください。 |
Amazon MSK は何をしますか?
Amazon MSK を使用すると、オープンな高可用性とセキュリティを備えた AWS で Apache Kafka を簡単に開始し、実行することができます。また、Amazon MSK は、Apache Kafka クラスターを実行するための運用オーバーヘッドなしに、AWS のサービスとの統合を実現します。Amazon MSK では、Apache Kafka のオープンソースバージョンを使用できますが、Apache Kafka クラスターのセットアップ、プロビジョン、AWS 統合、継続的なメンテナンスはサービスが行います。
コンソールで数回クリックするだけで、Amazon MSK クラスターを作成できます。その後は、異常なブローカーを置き換える、データを自動的にレプリケートして可用性を高める、メタデータノードを管理する、必要に応じてハードウェアパッチを自動的にデプロイする、AWS のサービスとの統合を管理する、コンソールから重要なメトリクスを参照できるようにする、といった処理は Amazon MSK がを行います。また、Apache Kafka のバージョンアップグレードがサポートされるため、Apache Kafka のオープンソースバージョンに加えられる改善点を活用できます。
リソース
最初の MSK クラスターを作成するにはどうすればよいですか?
Amazon MSK 入門ガイドに従ってクラスターをセットアップし、そのクラスターから生成と消費を行うことができます。まとめると、AWS マネジメントコンソールまたは AWS SDK を使用し、わずかな手順で最初のクラスターを作成できます。まず、Amazon MSK コンソールで、MSK クラスターを作成する AWS リージョンを選択します。クラスターの名前、クラスターの実行に使用する仮想プライベートクラウド (VPC)、各アベイラビリティーゾーンのサブネットを選択します。プロビジョニングされたクラスターを作成する場合、ブローカーインスタンスタイプとアベイラビリティーゾーンごとのブローカー数を選択することもできます。
クラスター内にはどのようなリソースがありますか?
プロビジョニングされたクラスターには、ブローカーインスタンスと抽象化されたメタデータノードが含まれます。Serverless クラスターはそれ自体がリソースであり、基盤となるすべてのリソースを抽象化します。
ブローカーとは何ですか?
Apache Kafka では、ブローカーは Apache Kafka クラスターを構成する個々のサーバーです。Kafka トピックに公開されたデータの保存と複製、それらのトピック内のパーティションの管理、クライアントのリクエストの処理 (メッセージの生成と消費)、Kafka デプロイの全体的な状態を維持するための相互調整を行います。ブローカーは、Kafka の分散型でスケーラブルなフォールトトレラントアーキテクチャを実現する主要コンポーネントです。
MSK クラスターではどのサイズのブローカーインスタンスをプロビジョニングできますか?
プロビジョンされたクラスターの場合、EC2 T3.small インスタンスまたは EC2 M7g および M5 インスタンスファミリー内のインスタンスを選択できます。サーバーレスクラスターの場合、ブローカーは完全に抽象化されます。 MSK は Standard ブローカータイプと Express ブローカータイプも提供しています。
ブローカーブートボリュームのプロビジョニングと支払いは必要ですか?
いいえ、プロビジョンする各ブローカーには、Amazon MSK サービスによって管理されるブートボリュームストレージが含まれています。
Apache Kafka クラスターを作成するとき、基になるリソース (Amazon EC2 インスタンスなど) は Amazon EC2 コンソールに表示されますか?
Elastic Network Interface (ENI) などの一部のリソースは、Amazon EC2 アカウントに表示されます。他の Amazon MSK リソースは、Amazon MSK サービスによって管理されているため Amazon EC2 アカウントには表示されません。
Amazon MSK クラスター内では何をプロビジョンする必要がありますか?
プロビジョンドクラスターでは、作成するクラスターごとにブローカーインスタンスをプロビジョンする必要があります。Standard ブローカーでは、ストレージをプロビジョニングし、オプションでストレージボリュームのプロビジョドストレージスループットを有効にします。これにより、追加のブローカーをプロビジョニングしなくても I/O をスケールできます。Express ブローカーでは、ストレージのプロビジョニングや管理を行う必要はありません。どのクラスタータイプでも、Apache ZooKeeper や KRaft ノードなどのメタデータノードをプロビジョニングする必要はありません。これらのリソースは、作成する各クラスターに追加料金なしで含まれているためです。サーバーレスクラスターの場合は、リソースとしてクラスターを作成するだけで完了です。
データレプリケーションは Amazon MSK でどのように機能しますか?
Amazon MSK は、Apache Kafka のリーダー - フォロワーレプリケーションを使用して、ブローカー間でデータをレプリケートします。Amazon MSK では、マルチ AZ レプリケーションを使用してクラスターを簡単にデプロイできます。Standard ブローカーでは、オプションでトピックごとにカスタムレプリケーション戦略を使用できます。Express ブローカーは、常にデータを 3 つのアベイラビリティーゾーンに複製することで、より高い可用性を保証します。リーダーブローカーとフォロワーブローカーは、指定されたブローカータイプとレプリケーション戦略を使用してデプロイおよび分離されます。たとえば、3 つのアベイラビリティーゾーンのブローカーレプリケーション戦略と、アベイラビリティーゾーンクラスターごとに 1 つのブローカーを使用する Standard ブローカーを選択すると、Amazon MSK は 3 つのブローカーのクラスターを作成します (1 つのリージョンの 3 つのアベイラビリティーゾーンに 1 つのブローカー)。デフォルトでは (トピックのレプリケーション係数をオーバーライドすることを選択しない限り)、トピックのレプリケーション係数も 3 になります。クライアントフェイルオーバー中に何が起こるかについて詳しくは、クライアントフェイルオーバーのドキュメントを参照してください。
デフォルトのブローカー設定を変更する、またはクラスター設定を Amazon MSK にアップロードすることはできますか?
はい、Amazon MSK ではカスタム設定を作成して、新しいクラスターにも既存のクラスターにも適用することができます。Express ブローカーは、可用性や耐久性に影響を与える可能性のある最適ではない値からより多くの構成を保護します。Express ブローカーでは、Amazon MSK がストレージレイヤーを完全に管理するため、ストレージに関係する構成が抽象化され、よりシンプルなエクスペリエンスが提供されます。カスタム設定の詳細については、設定に関するドキュメントをご覧ください。
トピックはどのように作成しますか?
Apache Kafka クラスターが作成されたら、Apache Kafka API を使用してトピックを作成できます。すべてのトピックおよびパーティションレベルのアクションと設定が Apache Kafka API を使用して実行されます。以下のコマンドは、Apache Kafka API を使用してトピックを作成する例であり、クラスターで利用可能な構成の詳細を示しています。
<path-to-your-kafka-installation>/bin/kafka-topics.sh --create — bootstrap-server <BootstrapBrokerString> --replication-factor 3 --partitions 1 -- topic TopicName
Amazon MSK のデプロイオプションにはどのようなものがありますか?
Amazon MSK には Apache Kafka クラスター用に、Amazon MSK Provisioned と Amazon MSK Serverless という 2 つのデプロイオプションがあります。MSK Provisioned を使用すると、Apache Kafka クラスターの管理に伴う運用上のオーバーヘッドの大部分を排除しながら、クラスターをさまざまなレベルで制御できます。MSK Provisioned では、ブローカー単位でクラスターをスケールできます。Standard ブローカーや Express ブローカーなど、さまざまなブローカータイプから選択できます。これとは対照的に、MSK Serverless はクラスターのスケーリングと管理を完全に抽象化したクラスタータイプです。MSK Serverless を使用すれば、クラスターをプロビジョン、構成、または最適化することなくアプリケーションを実行でき、ストリーミングおよび保持するデータ量に対して料金をお支払いいただきます。Amazon MSK には、MSK クラスターへの接続を簡単にするための複数のオプションも用意されています。これらのオプションには、Amazon MSK Connect、Amazon MSK Replicator、およびその他のネイティブ AWS 統合が含まれます。詳細については、以降のセクションを参照してください。
Amazon MSK Provisioned
MSK Provisioned とは何ですか?
MSK Provisioned は、Apache Kafka クラスターを手動で設定およびスケーリングできるようにする MSK クラスターのデプロイオプションです。これにより、Apache Kafka 環境を支えるインフラストラクチャをさまざまなレベルで制御できます。
MSK Provisioned では、インスタンスタイプ、Standard ブローカータイプのストレージボリューム、Kafka クラスターを構成するブローカーノードの数を選択できます。また、データ処理ニーズの変化に応じてブローカーを追加または削除することで、クラスターをスケールすることもできます。この柔軟性により、スループット、保持容量、その他のパフォーマンス特性の最大化など、特定のワークロード要件に合わせてクラスターを最適化できます。
インフラストラクチャ設定オプションに加えて、MSK Provisioned にはエンタープライズグレードのセキュリティ、モニタリング、および運用上の利点があります。これには、Apache Kafka のバージョンアップグレード、暗号化とアクセス制御による組み込みセキュリティ、モニタリングのための Amazon CloudWatch など他の AWS サービスとの統合などの機能が含まれます。MSK Provisioned には、Standard と Express の 2 つの主要なブローカータイプがあります。
Standard ブローカーではクラスターを最も柔軟に設定できる一方で、Express ブローカーは高性能ストリーミングアプリケーションを実行するための伸縮性、スループット、回復力、使いやすさが向上します。各サービスの詳細については、以下のサブセクションを参照してください。以下の表にも、Standard ブローカーと Express ブローカーの主要な機能の比較を示しています。
機能 | スタンダード | Express |
ストレージ管理 | カスタマーマネージド (機能には EBS ストレージ、階層化ストレージ、プロビジョンドストレージスループット、自動スケーリング、ストレージ容量アラートが含まれます) | フル MSK マネージド |
サポート対象インスタンス | T3、M5、M7g | M7g |
サイジングとスケーリングに関する考慮事項 | スループット、接続、パーティション、ストレージ | スループット、接続、パーティション |
ブローカーのスケーリング | 垂直スケーリングと水平スケーリング | 垂直スケーリングと水平スケーリング |
Kafka のバージョン | ドキュメントを見る | バージョン 3.6 以降 |
Apache Kafka 設定 | 高い設定可能性 | 耐障害性を高めるため主に MSK が管理 |
セキュリティ | 暗号化、プライベート/パブリックアクセス、認証と認可 - IAM、SASL/SCRAM、mTLS、プレーンテキスト、Kafka ACL | 暗号化、プライベート/パブリックアクセス、認証と認可 - IAM、SASL/SCRAM、mTLS、プレーンテキスト、Kafka ACL |
モニタリング | CloudWatch、オープンモニタリング | CloudWatch、オープンモニタリング |
Amazon MSK は M7g クラスターをサポートしていますか?
はい。Amazon MSK は、すべての Apache Kafka ワークロードを実行するために、.large から .16xlarge サイズまでの AWS Graviton 3 ベースの M7g インスタンスをサポートしています。Graviton インスタンスは Amazon MSK と同じ可用性と耐久性の利点を備えており、対応する M5 インスタンスと比較してコストを最大 24% 削減できます。Graviton インスタンスは、Amazon MSK の M5 インスタンスと比較して、インスタンスあたりのスループットが最大 29% 高いため、お客様はより少ないブローカーまたはより小さなサイズのインスタンスで MSK クラスターを実行できます。
Standard ブローカー
Standard ブローカーとは何ですか?
MSK Provisioned の Standard ブローカーでは、クラスターのパフォーマンスを最も柔軟に設定できます。さまざまなクラスター構成から選択して、アプリケーションに必要な可用性、耐久性、スループット、レイテンシーの特性を実現できます。また、ストレージ容量をプロビジョニングし、必要に応じて容量を増やすこともできます。Amazon MSK が Standard ブローカーとアタッチされたストレージリソースのハードウェアメンテナンスを処理し、発生する可能性のあるハードウェアの問題を自動的に修復します。
Express ブローカー
Express ブローカーとは何ですか?
MSK Provisioned 用の Express ブローカーを利用すると、Apache Kafka の管理が簡単になり、大規模運用時のコスト効率が向上し、期待通りの低レイテンシーで伸縮性が高まります。ブローカーには、自動的にスケールする従量課金制のストレージが付属しており、サイジング、プロビジョニング、プロアクティブなモニタリングは不要です。選択したインスタンスサイズにもよりますが、各ブローカーノードは、標準の Apache Kafka ブローカーと比較して、ブローカーあたり最大 3 倍のスループットを提供し、最大 20 倍速くスケールし、回復速度を 90% 短縮できます。Express ブローカーには、Amazon MSK のベストプラクティスのデフォルトがあらかじめ設定されており、クライアントと Kafka のバックグラウンド操作の間のリソース競合を最小限に抑えるために、クライアントにスループットクォータを適用します。
Express ブローカーの主な利点は何ですか?
- ストレージ管理が不要: Express ブローカーを使用すると、ストレージリソースをプロビジョニングしたり管理したりする必要がなくなります。伸縮自在、事実上無制限で、従量課金制のフルマネージドストレージを利用できます。高スループットのユースケースにおいて、コンピュートインスタンスとストレージボリューム間の相互作用、および関連するスループットのボトルネックについて考える必要はありません。これらの機能はクラスター管理を簡素化し、ストレージ管理の運用オーバーヘッドを排除します。
- より高速なスケーリング: Express ブローカーを使用すると、Standard ブローカーよりも高速にクラスターをスケールし、パーティションを移動できます。この機能は、今後の負荷の急上昇に対処するためにクラスターをスケールアウトする必要がある場合や、コストを削減するためにクラスターをスケールインする必要がある場合に不可欠です。クラスターのスケーリングの詳細については、クラスターの拡張、ブローカーの削除、パーティションの再割り当て、および再バランスのための LinkedIn の Cruise Control の設定に関するセクションを参照してください。
- より高いスループット: Express ブローカーは、Standard ブローカーと比較してのブローカーあたり最大 3 倍のスループットを提供します。たとえば、同等の Standard ブローカーの 153.8 MBps と比較して、m7g.16xlarge サイズの Express ブローカーでは最大 500 MBps で安全にデータを書き込むことができます (どちらの数値も、レプリケーションやリバランスなどのバックグラウンド操作に十分な帯域幅が割り当てられていることを前提としています)。
- 耐障害性の高い構成: Express ブローカーは、クラスターの耐障害性を向上させるために事前設定されたさまざまなベストプラクティスを自動的に提供します。これらには、重要な Apache Kafka 構成のガードレール、スループットクォータ、バックグラウンド操作や計画外の修復のためのキャパシティ予約などが含まれます。これらの機能により、大規模な Apache Kafka アプリケーションをより安全かつ簡単に実行できます。詳細については、Express ブローカーの設定と Amazon MSK Express ブローカーのクォータに関するセクションを参照してください。
- メンテナンスウィンドウなし: Express ブローカーにはメンテナンスウィンドウはありません。Amazon MSK はクラスターハードウェアを継続的に自動的に更新します。詳細については、Amazon MSK Express ブローカーをご覧ください。
Express ブローカーでコストを最適化するにはどうすればいいですか?
Express ブローカーはブローカーあたりのスループットが高いため、同じワークロードに対してより少ないブローカーでクラスターを作成できます。さらに、クラスターが稼働し始めたら、クラスターリソースの使用状況を監視し、Standard ブローカーよりも迅速に容量を適切なサイズに調整できます。そのため、必要な容量に適したリソースをプロビジョニングし、需要の変化に合わせてより迅速にスケールできます。
Express ブローカーではどの Apache Kafka API とツールを使用できますか?
Express ブローカーを使用するクラスターは、標準の Apache Kafka クライアントを使用する Apache Kafka API およびツールと連携します。
Express ブローカー向けにカスタマイズする必要があるのは、どの Kafka 構成ですか?
Express ブローカーには、可用性と耐久性を最適化する Amazon MSK のベストプラクティスのデフォルトがあらかじめ設定されています。これらの設定の一部をカスタマイズして、クラスターのパフォーマンスをさらにファインチューニングできます。Express ブローカー設定の詳細については、Amazon MSK 開発者ガイドをご覧ください。
Express ブローカーにはどのような暗号化オプションがありますか?
Standard ブローカーの場合と同様に、Amazon MSK は AWS Key Management Service (AWS KMS) と統合して、Express ブローカーのストレージを透過的にサーバー側で暗号化します。Express ブローカーを使用して MSK クラスターを作成するときに、Amazon MSK が保管中のデータの暗号化に使用する AWS KMS キーを指定できます。KMS キーを指定しない場合、Amazon MSK が AWS マネージドキーーを作成し、ユーザーに代わって使用します。Amazon MSK は、Standard ブローカーの場合と同様に、TLS を使用して Express ブローカーの転送中のデータを暗号化します。
Standard ブローカーと Express ブローカーで Amazon MSK の機能にはどのような違いがありますか?
Standard ブローカーで動作する MSK Provisioned 機能のほとんどは、Express ブローカーを使用するクラスターでも機能します。違いとしては、ストレージ管理、利用可能なインスタンスタイプ、サポートされているバージョンなどがあります。MSK Provisioned の Standard ブローカーと Express ブローカーの比較表で、主な類似点と相違点を示しています。
既存の Kafka ワークロードを Express ブローカーに移行することはできますか?
はい。MirrorMaker 2 または Amazon MSK Replicator を使用して、Kafka クラスター内のデータを Express ブローカーで構成されるクラスターに移行できます。これにより、クラスターのデータとメタデータの両方が新しいクラスターにコピーされます。MirrorMaker 2 と MSK Replicator の使用方法の詳細については、Amazon MSK 開発者ガイドをご覧ください。
MSK Provisioned のブローカータイプは、Standard と Express のどちらを選択すればよいですか?
Express ブローカーは、価格パフォーマンス、耐障害性を高め、運用オーバーヘッドを削減できるため、MSK Provisioned 上のすべての Apache Kafka ワークロードにとって理想的な選択肢となります。ただし、ブローカーの構成と設定をより細かく制御したい場合は、Standard ブローカータイプを選択できます。Standard ブローカーでは、レプリケーション係数、ログファイルのサイズ、リーダー選出ポリシーなど、さまざまな Kafka 構成をカスタマイズできるため、クラスター設定の柔軟性が高まります。
Amazon MSK Serverless
MSK Serverless とは何ですか?
MSK Serverless は Amazon MSK のクラスタータイプであり、Apache Kafka クラスターを簡単に実行できます。コンピューティング容量とストレージ容量を管理する必要はありません。MSK Serverless を使用すれば、クラスターをプロビジョン、構成、または最適化することなくアプリケーションを実行でき、ストリーミングおよび保持するデータ量に対して料金をお支払いいただきます。
MSK Serverless はクラスター内のパーティションで自動的にバランスを取りますか?
はい。MSK Serverless は、パーティションをフルで管理します。これには、パーティションをモニタリングして移動し、クラスター全体で均等にロードすることも含まれます。
MSK Serverless はどのくらいのデータスループットキャパシティをサポートしていますか?
MSK Serverless は、クラスターごとに最大 200 MBps の書き込み容量と 400 MBps の読み取り容量を提供しています。さらに、クラスター内のすべてのパーティションで十分なスループットの可用性を確保するために、MSK Serverless はパーティションごとに最大 5 MBps のインスタント書き込み容量と 10 MBps のインスタント読み取り容量を割り当てています。
MSK Serverless はどのようなセキュリティ機能を提供しますか?
MSK Serverless は、AWS KMS を通じて発行されたサービスマネージドキーを使用して、転送中のトラフィックすべてと保管中のデータすべてを暗号化します。クライアントは、トラフィックを公開インターネットに公開することなく、AWS PrivateLink を使用するプライベート接続経由で MSK Serverless に接続します。さらに、MSK Serverless は AWS Identity and Access Management (IAM) アクセスコントロールを提供します。これにより、トピックなどの Apache Kafka リソースに対するクライアント認証とクライアント承認を管理できます。
プロデューサーとコンシューマーは、どうやって MSK Serverless クラスターにアクセスできますか?
MSK Serverless クラスターを作成するときに、クラスターのクライアントをホストする 1 つ以上の Amazon Virtual Private Cloud (Amazon VPC) サブネットを指定します。これらの Amazon VPC のいずれかでホストされているクライアントは、ブートストラップブローカー文字列を使用して MSK Serverless クラスターに接続できます。
MSK Serverless はどのリージョンで利用できますか?
利用できるリージョンの最新情報については、Amazon MSK の料金ページを参照してください。
MSK Serverless はどの認証タイプに対応していますか?
MSK Serverless は現在、クライアントの認証と認可に IAM (Identity Access Management) をサポートしています。クライアントは認証のために IAM ロールを引き受けることができ、関連付けられた IAM ポリシーを使用してアクセスコントロールを適用できます。
MSK Serverless クラスターでデータを処理するにはどうすればよいですか?
Apache Kafka 互換ツールを使用して、MSK Serverless クラスタートピックのデータを処理できます。MSK Serverless は、ステートフルストリーム処理のために Amazon Managed Service for Apache Flink と、およびイベント処理のために AWS Lambda と統合します。Apache Kafka Connect シンクコネクタを使用して、任意の送信先にデータを送信することもできます。
MSK Serverless はどのように高可用性を確保しますか?
パーティションを作成すると、MSK Serverless はそのレプリカを 2 つ作成し、それらを異なるアベイラビリティーゾーンに配置します。さらに、MSK Serverless は、障害が発生したバックエンドリソースを自動的に検出して回復し、高可用性を維持します。
Amazon MSK への移行
既存の Apache Kafka クラスター内のデータを Amazon MSK に移行できますか?
はい。Apache Kafka でサポートされているサードパーティーのツールや、MirrorMaker2 のようなオープンソースのツールを使って、クラスターから MSK クラスターにデータをレプリケートすることができます。こちらの Amazon MSK 移行ラボを確認して、移行の計画に役立ててください。
サポートされているバージョン
Apache Kafka のバージョンアップグレードはサポートされていますか?
はい、Amazon MSK では、プロビジョンドクラスターのフルマネージド型の Apache Kafka のインプレースバージョンアップグレードをサポートしています。お使いの Apache Kafka バージョンのアップグレードや高可用性のベストプラクティスの詳細については、バージョンアップグレードのドキュメントを参照してください。
どのバージョンの Apache Kafka がサポートされていますか?
すべての Apache Kafka バージョンは、サポート終了日までサポートされます。サポート終了ポリシーと日付の詳細については、バージョンサポートのドキュメントをご覧ください。
ネットワーク
Amazon MSK は Amazon VPC で実行されますか?
はい、Amazon MSK は常に Amazon MSK サービスにより管理される Amazon VPC 内で実行されます。Amazon MSK リソースは、クラスターのセットアップ時に選択したお客様自身の Amazon VPC、サブネット、セキュリティグループで利用可能になります。VPC の IP アドレスは、ENI を通じて Amazon MSK リソースにアタッチされ、すべてのネットワークトラフィックが AWS ネットワーク内に留まり、デフォルトではインターネットからはアクセスできません。
Amazon MSK クラスター内のブローカーはどのようにして VPC 内のクライアントにアクセスできるようになりますか?
クラスター内のブローカーは、アカウントに表示される ENI を通じて VPC 内のクライアントにアクセスできるようになります。ENI のセキュリティグループは、ブローカーで許可される受信および送信トラフィックのソースとタイプを指示します。
公開インターネット経由でクラスターに接続することは可能ですか?
はい。Amazon MSK は、Apache Kafka 2.6.0 以降のバージョンを実行している Amazon MSK クラスターのブローカーにインターネット経由で安全に接続するオプションを提供しています。パブリックアクセスを可能にすることで、プライベートな Amazon Virtual Private Cloud (VPC) の外部にいる許可されたクライアントは、特定の Amazon MSK クラスターとの間で暗号化されたデータをストリーミングでやり取りすることができます。MSK クラスターのパブリックアクセスは、クラスターの作成後に追加費用なしで有効にできますが、クラスターの出入りには標準的な AWS のデータ転送コストがかかります。パブリックアクセスを有効にすることについての詳細は、パブリックアクセスのドキュメントを参照してください。
クライアントと Amazon MSK クラスター間の接続はプライベートですか?
デフォルトでは、Amazon MSK クラスターからデータを生成して使用する唯一の方法は、VPC 内のクライアントと Amazon MSK クラスター間でプライベート接続を使用することです。ただし、MSK クラスターのパブリックアクセスを有効にして、パブリックなブートストラップブローカー文字列を使用して MSK クラスターに接続する場合、その接続は、認証、認可、および暗号化されているものの、もはやプライベートとはみなされません。クラスターのセキュリティグループに、信頼される IP アドレスからのパブリックアクセスを許可するインバウンド TCP ルールを設定し、パブリックアクセスを有効にした場合は、これらのルールをできるだけ制限することをお勧めします。
AWS ネットワーク内だが、クラスターの Amazon VPC の外部から、Amazon MSK クラスターに接続する方法を教えてください。
Apache Kafka 2.7.1 以降のバージョンを実行する MSK クラスターのマルチ VPC プライベート接続を有効にすることで、MSK クラスターの Amazon VPC とは異なる VPC または AWS アカウントから MSK クラスターに接続できます。サポートされている認証方式 (IAM 認証、SASL/SCRAM、mTLS 認証) のいずれかのクラスター作成後にのみ、プライベート接続を有効にできます。プライベート接続を有効にするために PrivateLink テクノロジーを使用する Amazon MSK マネージド VPC 接続を使用してクラスターにプライベート接続するようにクライアントを設定する必要があります。プライベート接続の設定の詳細については、AWS 内からのアクセスに関するドキュメントを参照してください。
暗号化
MSK クラスターでデータを暗号化することはできますか?
はい。Amazon MSK は Amazon Elastic Block Store (Amazon EBS) サーバー側の暗号化と AWS KMS キーを使用して、ストレージボリュームを暗号化します。
MSK クラスター内のブローカー間で転送中のデータは暗号化されていますか?
はい。デフォルトでは、新しいクラスターはブローカー間通信用の TLS を介した転送中の暗号化が有効になっています。プロビジョンされたクラスターの場合、クラスターの作成時に転送中の暗号化の使用をオプトアウトできます。
Apache Kafka クライアントと Amazon MSK 間で転送データは暗号化されますか?
はい。デフォルトでは、転送中の暗号化は、AWS CLI または AWS マネジメントコンソールから作成されたクラスターに対してのみ TLS に設定されます。クライアントが TLS 暗号化を使用してクラスターと通信するには、追加設定が必要です。プロビジョンドクラスターでは、デフォルトの暗号化設定は、TLS/プレーンテキストまたはプレーンテキストの設定を選択して変更できます。Amazon MSK 暗号化の詳細をご確認ください。
MSK クラスター内のブローカーとメタデータノード間を移動するデータは、転送中に暗号化されますか?
はい。MSK クラスターは Kafka ブローカーとメタデータノード間の TLS 転送中暗号化をサポートしています。
アクセス管理
クラスター認証と Apache Kafka API の認可を制御するにはどうすればよいですか?
サーバーレスクラスターの場合、認証と認可の両方に IAM アクセスコントロールを使用できます。プロビジョニングされたクラスターの場合、次のオプションがあります。
- AuthN/AuthZ の両方に対する IAM アクセスコントロール (推奨)
- AuthN 用の TLS 証明書認証と AuthZ 用のアクセスコントロールリスト
- AuthN 用の SASL/SCRAM と AuthZ 用のアクセスコントロールリスト
Amazon MSK は IAM アクセスコントロールの使用を推奨します。最も簡単に使用でき、デフォルトで最小特権のアクセスになるため、最も安全なオプションです。
Amazon MSK では認可はどのように機能しますか?
IAM アクセスコントロールを使用している場合、Amazon MSK はユーザーが作成したポリシーと独自のオーソライザーを使用してアクションを認可します。TSL 証明書認証や SASL/SCRAM を使用している場合、Apache Kafka は認可にアクセスコントロールリスト (ACL) を使用します。ACL を有効にするには、TLS 証明書または SASL/SCRAM のいずれかを使用してクライアント認証を有効にする必要があります。
クライアントを同時に認証および認可するにはどうすればよいですか?
IAM アクセスコントロールを使用している場合、Amazon MSK が追加の設定なしに認証と認可を行います。TLS 認証を使用している場合、クライアントの TLS 証明書の Dname を ACL のプリンシパルとして使用して、クライアントのリクエストを認可できます。SASL/SCRAM を使用している場合、ユーザー名を ACL のプリンシパルとして使用して、クライアントのリクエストを認可できます。
どのようにしてサービス API アクションをコントロールするのですか?
IAM を使って、サービス API アクションをコントロールすることができます。
既存のクラスターに対して、IAM アクセスコントロールを有効にすることはできますか?
はい。AWS マネジメントコンソールから、または UpdateSecurity API を使用して、既存のクラスターの IAM アクセスコントロールを有効にできます。
IAM アクセスコントロールは、Amazon MSK の外部で使用できますか?
いいえ。IAM アクセスコントロールは、MSK クラスターでのみ使用できます。
MSK クラスターにプライベートに接続するために、Amazon MSK とは異なる AWS アカウントの Kafka クライアントにクロスアカウントアクセス権限を与えるにはどうすればよいですか?
Amazon MSK クラスターにクラスターポリシーを使用して、Amazon MSK クラスターへのプライベート接続をセットアップするためのクロスアカウントの Kafka クライアントアクセス権限を与えることができます。IAM クライアント認証を使用する場合、クラスターポリシーを使用して、接続しているクライアントの Kafka データプレーンの権限を細かく定義することもできます。クラスターポリシーの詳細については、クラスターポリシーのドキュメントをご覧ください。
モニタリング、メトリクス、ログ記録、およびタグ付け
クラスターまたはトピックのパフォーマンスをモニタリングするにはどうすればよいですか?
クラスターのパフォーマンスは Amazon MSK コンソール、Amazon CloudWatch コンソール、または JMX を使用して、ホストメトリクスはオープンソースのモニタリングソリューションである Prometheus によるオープンモニタリングでモニタリングすることができます。
CloudWatch のさまざまなモニタリングレベルのコストはいくらですか?
CloudWatch を使用してクラスターをモニタリンスするコストは、Apache Kafka クラスターのモニタリングレベルとサイズによって異なります。CloudWatch はメトリックスごとに月単位で課金され、AWS 無料利用枠が含まれています。詳細については、Amazon CloudWatch の料金をご覧ください。各モニタリングレベルで公開されるメトリクスの数の詳細については、Amazon MSK モニタリングのドキュメントを参照してください。
Prometheus によるオープンモニタリングと互換性のあるモニタリングツールはどれですか?
Prometheus エクスポーターから読み取るように設計されたツール、例えば、Datadog、Lenses、New Relic、Sumo Logic、Prometheus サーバーなどはオープンモニタリングと互換性があります。オープンモニタリングの詳細については、Amazon MSK オープンモニタリングのドキュメントを参照してください。
クライアントの状態とパフォーマンスをモニタリングするにはどうすればよいですか?
使用している Apache Kafka バージョンによりサポートされているクライアント側のモニタリングを使用できます。
Amazon MSK リソースにタグを付けることはできますか?
はい、AWS CLI または AWS マネジメントコンソールから Amazon MSK クラスターにタグを付けることができます。
コンシューマーラグをモニタリングするにはどうすれば良いですか?
トピックレベルのコンシューマーラグのメトリクスは、Amazon MSK がすべてのクラスターについて CloudWatch に対して公開するメトリクスのデフォルトセットの一部として利用できます。これらのメトリクスの取得には、特別なセットアップは必要ありません。
コンシューマーラグのメトリクスを CloudWatch に公開する際の料金はいくらかかりますか?
トピックレベルのメトリクスであれば、Amazon MSK メトリクスのデフォルトセットに含まれているので、無料でご利用いただけます。パーティションレベルのメトリクスには、Amazon CloudWatch の料金が適用されます。
Apache Kafka ブローカーログにアクセスする方法を教えてください。
プロビジョンされたクラスターのブローカーログ配信を有効にできます。ブローカーログを Amazon CloudWatch Logs、Amazon Simple Storage Service (Amazon S3)、Amazon Data Firehose に配信できます。Firehose は、他の送信先の中で Amazon OpenSearch Service をサポートしています。この機能を有効にする方法については、Amazon MSK logging のドキュメントを参照してください。料金の詳細については、Amazon CloudWatch Logs および Amazon Data Firehose の料金ページを参照してください。
ブローカーログのログレベルとは何ですか?
Amazon MSK では、プロビジョンドクラスター内のすべてのブローカーに対し、INFO レベルのログが提供されます。
トピックの作成など、Apache Kafka のリソース API の使用状況を記録することはできますか?
はい、IAM アクセスコントロールを使用している場合、Apache Kafka リソース API の使用は AWS CloudTrail に記録されます。
メタデータの管理
Apache ZooKeeper とは何ですか?
https://zookeeper.apache.org による説明: 「Apache ZooKeeper は、設定情報の維持、名前付け、分散化された同期の提供、およびグループサービスの提供を可能にする一元化されたサービスです。これらすべての種類のサービスが分散アプリケーションにより何らかの形で使用されます」 (Apache Kafka を含む)。
Amazon MSK は Apache ZooKeeper を使用しますか?
はい。Amazon MSK はメタデータの管理に Apache ZooKeeper を使用します。さらに、Apache Kafka バージョン 3.7 以降では、ZooKeeper モードと KRaft モードのいずれかでクラスターを作成できます。KRaft モードで作成されたクラスターは、ZooKeeper ノードの代わりに KRaft コントローラーを使用してメタデータ管理を行います。
Apache KRaft とは何ですか?
Apache KRaft は、Kafka クラスターのメタデータ管理を外部の Apache ZooKeeper ノードから Kafka 内のコントローラーのグループに移行するコンセンサスプロトコルです。この変更により、メタデータを Kafka ブローカー内でトピックとして保存およびレプリケートできるようになり、メタデータの伝播速度が上がります。 詳細については、Apache KRaft のドキュメントを参照してください。
Amazon MSK で KRaft モードを使用する場合、ZooKeeper モードと比較して必要な API の変更はありますか?
Amazon MSK で KRaft モードを使用するために API を変更する必要はありません。ただし、現在もクライアントが --zookeeper 接続文字列を使用している場合は、--bootstrap-server 接続文字列を使用してクラスターに接続し、管理アクションを実行するようにクライアントを更新する必要があります。--zookeeper フラグは Apache Kafka バージョン 2.5 で非推奨となり、Kafka 3.0 以降は削除されています。そのため、最新の Apache Kafka クライアントバージョンと --bootstrap-server 接続文字列を使用することをお勧めします。
ZooKeeper に接続するツールがあります。これらは ZooKeeper なしで、KRaft クラスターでどのように機能しますか?
使用するツールが、ZooKeeper 接続なしで、Kafka Admin API を使用できることを確認する必要があります。KRaft モードのクラスターでの Cruise Control の使用に関する最新のドキュメントをご覧ください。Cruise Control は、ZooKeeper に接続せずに Kafka を実行するためのステップも公開しています。
KRaft ベースのクラスターでは、ブローカーごとに、ZooKeeper ベースのクラスターよりも多くのパーティションをホストできますか?
ブローカーあたりのパーティション数は、KRaft ベースのクラスターと ZooKeeper ベースのクラスターで同じです。ただし、KRaft では、クラスターでより多くのブローカーをプロビジョニングすることで、クラスターごとにより多くのパーティションをホストできます。
統合
Amazon MSK と統合されるのはどの AWS のサービスですか?
AWS MSK は以下の AWS サービスと統合されています。
- Amazon MSK から Amazon S3 にコードなしでデータを配信するための Firehose を使用する Amazon S3
- ネットワークの分離とセキュリティ用の Amazon VPC
- メトリクス用の Amazon CloudWatch
- ストレージボリュームの暗号化用の AWS KMS
- Apache Kafka とサービス API の認証と認可のための IAM
- Amazon MSK イベントソーシングのための AWS Lambda
- IoT イベントソーシングのための AWS IoT Core
- Apache Kafka アプリケーションが使用するスキーマの進化を管理する AWS Glue スキーマレジストリ
- AWS API ログ用の AWS CloudTrail
- クライアント TLS 認証に使用されるプライベート CA 用の AWS Certificate Manager
- コードを使用して Amazon MSK クラスターを定義し、プロビジョンするための AWS CloudFormation
- ストリーミングデータを処理するフルマネージド型 Apache Flink アプリケーションのための Amazon Managed Service for Apache Flink
- Apache Kafka でインタラクティブに SQL をストリーミングするための Amazon Managed Service for Apache Flink Studio
- SASL/SCRAM 認証に使用されるクライアント認証情報用の AWS Secrets Manager
Amazon MSK Serverless は以下の AWS サービスと統合されています。
- MSK から Amazon S3 にコードなしでデータを配信するための Firehose を使用する Amazon S3
- ネットワークの分離とセキュリティ用の Amazon VPC
- メトリクス用の Amazon CloudWatch
- Apache Kafka とサービス API の認証と認可のための IAM
- Apache Kafka アプリケーションが使用するスキーマの進化を管理する AWS Glue スキーマレジストリ
- AWS API ログ用の AWS CloudTrail
- プライベート接続のための AWS PrivateLink
レプリケーション
Amazon MSK Replicator とは何ですか?
Amazon MSK Replicator は Amazon MSK の機能であり、これを使用することで、お客様はコードを記述したり、インフラストラクチャを管理したりすることなく、異なる AWS リージョン (クロスリージョンレプリケーション) または同じ AWS リージョン内 (同一リージョンレプリケーション) の MSK クラスター間でデータを確実にレプリケートできます 。クロスリージョンレプリケーションを使用して、可用性が高く耐障害性のあるマルチリージョンストリーミングアプリケーションを構築し、回復力を高めることができます。また、クロスリージョンレプリケーションを使用して、さまざまな地域のコンシューマーに低レイテンシーのアクセスを提供することもできます。同一リージョンレプリケーションを使用して、1 つのクラスターから多数のクラスターにデータを分散し、パートナーやチームとデータを共有できます。同一リージョンレプリケーションを使用して、複数のクラスターのデータを 1 つのクラスターに集約して分析することもできます。
MSK Replicator を使用するにはどうすればよいですか?
ソースとターゲットの MSK クラスターのペア間のレプリケーションを設定するには、送信先のリージョンに Replicator を作成する必要があります。Replicator を作成するには、ソースとターゲットの MSK クラスターの Amazon リソースネーム (ARN)、および MSK Replicator がクラスターへのアクセスに使用できる IAM ロールなどの詳細を指定します。ターゲット MSK クラスターがまだ存在しない場合は、作成する必要があります。
MSK Replicator ではどのタイプの Kafka クラスターがサポートされていますか?
MSK Replicator は MSK クラスター間のレプリケーションのみをサポートします。プロビジョンドタイプとサーバーレスタイプの両方の MSK クラスターがサポートされます。MSK Replicator を使用して、サポートされていない他の Kafka クラスターで、プロビジョンドからサーバーレスへ、またはその逆に移行することもできます。
レプリケートするトピックを指定できますか?
はい。Replicator の作成時に、許可リストと拒否リストを使用してレプリケートするトピックを指定できます。
MSK Replicator はトピック設定とコンシューマーグループのオフセットをレプリケートしますか?
はい。MSK Replicator は、トピック構成、ACL、コンシューマーグループオフセットなどの必要な Kafka メタデータを自動的にレプリケートするため、消費アプリケーションはフェイルオーバー後にシームレスに処理を再開できます。データのみをレプリケートする場合は、これらの設定を 1 つ以上オフにすることができます。Replicator の作成時に、許可リストまたは拒否リストを使用して、レプリケートするコンシューマーグループを指定することもできます。
イングレススループットが変化した場合、レプリケーションをスケールする必要がありますか?
いいえ。MSK Replicator は、イングレススループットの変化に対応するために、基盤となるレプリケーションインフラストラクチャを自動的にデプロイ、プロビジョニング、スケールします。
異なる AWS アカウントの MSK クラスター間でデータをレプリケートできますか?
いいえ、MSK Replicator は、同じ AWS アカウント内の MSK クラスター間のレプリケーションのみをサポートします。
レプリケーションをモニタリングするにはどうすればよいですか?
送信先リージョンの CloudWatch を使用して、ReplicationLatency、
MessageLag、および ReplicatorThroughput のメトリックスを各 Replicator のトピックレベルおよび集計レベルで、追加料金なしで表示できます。メトリクスは AWS/Kafka 名前空間の ReplicatorName の下に表示されます。また、ReplicatorFailure、AuthError、ThrottleTime のメトリクスを確認して、Replicator が問題なく実行しているかどうかを確認することもできます。
レプリケーションを使用して、複数のリージョンにまたがるストリーミングアプリケーションの回復力を高めるにはどうすればよいですか?
MSK Replicator を使用してアクティブ/アクティブまたはアクティブ/パッシブのクラスタートポロジーを設定し、リージョン間の Kafka アプリケーションの回復性を高めることができます。アクティブ/アクティブ設定では、両方の MSK クラスターが読み取りと書き込みをアクティブに処理しています。比較すると、Active/Passive 設定では、一度に 1 つの MSK クラスターのみがストリーミングデータをアクティブに提供し、もう 1 つのクラスターはスタンバイ状態になります。
MSK Replicator を使用して、1 つのクラスターから複数のクラスターにデータをレプリケートしたり、多数のクラスターから 1 つのクラスターにデータをレプリケートしたりできますか?
はい。ソースとターゲットのクラスターペアごとに異なる Replicator を作成することで、1 つのクラスターから複数のクラスタにデータをレプリケートしたり、複数のクラスターから 1 つのクラスタにデータをレプリケートしたりできます。
MSK Replicator はソースとターゲット MSK クラスターにどのように接続しますか?
MSK Replicator は IAM アクセスコントロールを使用してソースクラスターとターゲットクラスターに接続します。Replicator を作成するには、IAM アクセスコントロールのソースとターゲット MSK クラスターを有効にする必要があります。Amazon MSK は複数の認証方法を同時にサポートしているため、クライアントでは SASL/SCRAM や mTLS などの他の認証方法を引き続き使用できます。
MSK Replicator ではどのくらいのレプリケーションレイテンシーが予想されますか?
MSK Replicator はデータを非同期にレプリケートします。レプリケーションレイテンシーは、MSK クラスターのリージョン間のネットワーク距離、ソースクラスターとターゲットクラスターのスループットキャパシティ、ソースクラスターとターゲットクラスターのパーティション数など、さまざまな要因によって異なります。
トピック名を MSK Replicator と同じに維持できますか?
いいえ。MSK Replicator は、トピック名に自動生成されたプレフィックスを追加して、ターゲットクラスターに新しいトピックを作成します。例えば、MSK Replicator は、「トピック」のデータを、ソースクラスターから「<sourceKafkaClusterAlias>.topic」というターゲットクラスターの新しいトピックにレプリケートします。MSK Replicator は、ソースクラスターからレプリケートされたデータを含むトピックをターゲットクラスターの他のトピックと区別し、データがクラスター間で循環的にレプリケートされるのを防ぐためにこれを行います。DescribeReplicator API または Amazon MSK コンソールの [レプリケータの詳細] ページを使用して、ターゲットクラスターのトピック名に追加されるプレフィックスを [sourceKafkaClusterAlias] フィールドで確認できます。
ソースクラスターの既存のデータをレプリケートできますか?
はい。デフォルトでは、新しい Replicator を作成すると、ソースクラスターのストリームの先端 (最新のオフセット) からデータのレプリケートが開始されます。あるいは、既存のデータをレプリケートする場合は、ソースクラスターのトピックパーティションの最も早いオフセットからデータのレプリケートを開始するように新しい Replicator を設定できます。
レプリケーションによってソースクラスターのコンシューマーがスロットリングされる可能性はありますか?
MSK Replicator はソースクラスターのコンシューマーとして機能するため、レプリケーションによってソースクラスターの他のコンシューマーがスロットリングされる可能性があります。これは、ソースクラスターの読み取りキャパシティと、レプリケートするデータのスループットによって異なります。ソースクラスターとターゲットクラスターに同じキャパシティをプロビジョニングし、必要なキャパシティを計算する際にレプリケーションスループットを考慮することをお勧めします。また、ソースクラスターとターゲットクラスターの Replicator の Kafka クォータを設定して、Replicator が使用できるキャパシティを制御することもできます。
ターゲットクラスターに書き込む前にデータを圧縮できますか?
はい。Replicator の作成時に、「None」、「GZIP」、「Snappy」、「LZ4」、「ZSTD」の中から圧縮コーデックを選択できます。
ターゲットクラスターに書き込む前にデータを圧縮できますか?
はい。Replicator の作成時に、「None」、「GZIP」、「Snappy」、「LZ4」、「ZSTD」の中から圧縮コーデックを選択できます。
スケーリング
クラスター内のストレージをどのようにスケールアップできますか?
AWS マネジメントコンソールまたは AWS CLI を使用して、Standard ブローカーで稼働しているプロビジョンドクラスター内のストレージをスケールアップできます。AWS マネジメントコンソールを使用するか、AWS CLI または API を使用して AWS Application Auto Scaling ポリシーを作成することにより、自動スケーリングストレージポリシーを作成することもできます。Standard ブローカーの階層化ストレージでは、ストレージ用のブローカーを追加することなく、クラスター上に事実上無制限にデータを保存することができます。Express ブローカーを使用すると、ストレージのプロビジョニングや管理が不要になり、事実上無制限のストレージにアクセスできます。サーバーレスクラスターでは、ストレージが使用状況に基づいてシームレスに拡張されます。
階層化ストレージはどのように機能するのですか?
Apache Kafka は、ログセグメントと呼ばれるファイルにデータを保存します。各セグメントが完了すると、クラスターまたはトピックレベルで設定されたサイズに基づいて、それは低コストストレージ階層にコピーされます。データは、指定された保持時間またはサイズだけパフォーマンス最適化されたストレージに保持され、その後削除されます。低コストストレージには、別に時間やサイズの制限設定があり、プライマリストレージ階層よりもその制限時間は長くなります。クライアントが低コスト階層に保存されたセグメントからデータを要求すると、ブローカーはそこからデータを読み取り、プライマリストレージからデータを提供するのと同じようにデータを提供します。
既存のクラスターでブローカの数をスケールできますか?
はい。プロビジョニングされた MSK クラスター用のブローカーの数を増やしたり、減らしたりすることを選択できます。
既存のクラスターでブローカーのサイズをスケーリングすることができますか?
はい。プロビジョンされた MSK クラスターで小規模または大規模のブローカータイプにスケールすることを選択できます。
ブローカー間でパーティションのバランスを取るにはどうすればよいですか?
I/O の熱を管理するために、パーテーションのバランスを自動的に調整する Cruise Control を使用できます。詳細については、Cruise Control のドキュメントをご覧ください。または、Kafka Admin API kafka-reassign-partitions.sh を使用して、ブローカー間でパーティションを再度割り当てることもできます。サーバーレスクラスターでは、Amazon MSK が自動的にパーティションのバランスを取ります。
料金と可用性
Amazon MSK の料金のしくみを教えてください。
料金は、作成するリソースによって異なります。詳細については、Amazon MSK の料金表をご覧ください。
データレプリケーションの結果、データ転送料金は発生しますか?
いいえ、クラスター内のデータ転送はサービスに含まれており、追加料金はありません。
Amazon MSK はどのリージョンで利用できますか?
Amazon MSK が利用できるリージョンの詳細については、AWS リージョンエーブルを参照してください。
データ転送の料金体系を教えてください。
プロビジョンドクラスターでは、MSK クラスターで送受信されたデータに対して通常の AWS データ転送料金をお支払いいただきます。ブローカー間のデータ転送、ブローカーとメタデータ管理ノード間のデータ転送など、同じリージョンのクラスター内におけるデータ転送に料金はかかりません。
サーバーレスクラスターでは、別のリージョンとの間で転送されるデータ、およびパブリックインターネットに転送されるデータについては、標準の AWS データ転送料金をお支払いいただきます。
Amazon MSK はリザーブドインスタンスの料金を提供していますか?
いいえ、現在は提供していません。
コンプライアンス
Amazon MSK に適用されるコンプライアンスプログラムは何ですか?
Amazon MSK は以下のプログラムに準拠または対応しています。
- HIPAA 対応
- PCI
- ISO
- SOC 1、2、3
AWS のサービスとコンプライアンスプログラムの完全なリストについては、「コプライアンスプログラムによる対象範囲内の AWS サービス」を参照してください。
サービスレベルアグリーメント
Amazon MSK の SLA は何を保証していますか?
Amazon MSK SLA は、Amazon MSK に最低 99.9% の月間アップタイム率を保証しています (MSK Serverless および MSK Connect を含む)。
SLA サービスクレジットの資格を有しているかどうかは、どうすればわかりますか?
Amazon MSK でのマルチ AZ 配置で、毎月の請求サイクル中に月間稼働率が 99.9% 未満の場合、Amazon MSK SLA に基づく Amazon MSK の SLA クレジットを取得できます。
SLA の利用規約に関するすべての詳細、およびクレジット請求方法の詳細については、Amazon MSK SLA のページをご覧ください。