ApsaraMQ for Kafka では、クラウド移行とテストのシナリオでトピックの自動作成機能を使用できます。 この機能を有効にすると、コードを記述することでトピックを作成できます。 これにより、トピックを手動で作成する必要がなくなり、効率が向上します。
前提条件
以下の条件を満たす ApsaraMQ for Kafka インスタンスが購入され、デプロイされています。
項目 | 説明 |
ステータス | サービス中 |
バージョン | メジャーバージョン:V2.2.0 以降。 マイナーバージョン:最新。 |
ApsaraMQ for Kafka コンソールの インスタンスの詳細 ページの 基本情報 セクションで、インスタンスのステータスとバージョン情報を表示できます。
使用上の注意
トピックの自動作成機能は、クラウド移行とテストのシナリオに適しています。 本番環境では、この機能を有効にしないことをお勧めします。 本番環境でこの機能を有効にする場合は、主要な本番アクティビティで使用しないでください。
Professional Edition インスタンスのアクセス制御リスト(ACL)機能を有効にした後、トピックを指定せずにインスタンスにメッセージを送信した場合、トピックは自動的に作成されません。
手順
ApsaraMQ for Kafka コンソール にログオンします。リソースの分布 セクションの 概要 ページで、管理する ApsaraMQ for Kafka インスタンスが存在するリージョンを選択します。
インスタンスリスト ページで、管理するインスタンスの名前をクリックします。
設定情報 セクションの インスタンスの詳細 ページで、[自動トピック作成] スイッチをオンにします。
説明自動トピック作成機能を使用して作成されたトピックの命名規則について、以下の項目で説明します。
名前は 3 ~ 64 文字の長さでなければなりません。
名前には、英字、数字、ハイフン (-)、アンダースコア (_) のみを含めることができ、少なくとも 1 つの英字または数字を含める必要があります。
自動トピック作成機能を有効にすると、トピックを指定せずにApsaraMQ for Kafka Standard Editionインスタンスにメッセージを送信することで、トピックを作成できます。
FAQ
トピックは自動的に作成できますか?
はい、トピックは自動的に作成できます。 ただし、トピックの自動作成機能を有効にしないことをお勧めします。 ApsaraMQ for Kafka では、コンソールまたは API オペレーションの呼び出しによってトピックを管理できます。 以下の理由により、本番環境ではトピックの自動作成機能を有効にしないことをお勧めします。
トピックの自動作成機能を有効にすると、きめ細かい権限制御やリソースアクションの監査などの機能を使用できません。 これにより、ビジネスにセキュリティリスクが生じます。
トピックの自動作成機能を有効にすると、リソースの過剰使用やリソース管理の非効率性などの問題が発生する可能性があります。 これらの問題は、システムの不安定化につながる可能性があります。
トピックの自動作成機能を有効にしても、トピックが自動的に作成されない場合があります。 これはビジネスに影響を与える可能性があります。 詳細については、トピックが自動的に作成されない場合はどうすればよいですか? をご参照ください。
どのようなシナリオでトピックの自動作成機能を有効にできますか?
クラウド移行やテストなどのシナリオ以外では、トピックの自動作成機能を有効にしないことをお勧めします。 この機能を有効にした後は、移行とテストのシナリオでのみ使用することをお勧めします。
トピックが自動的に作成されない場合はどうすればよいですか?
以下の方法で問題を解決できます。
自動的に作成されないトピックの数が少ない場合は、ApsaraMQ for Kafka コンソールで、または対応する API オペレーションを呼び出すことによって、手動で作成できます。
自動的に作成されないトピックの数が多い場合は、ログを確認するか、以下の考えられる原因を参照して問題のトラブルシューティングを行うことができます。
無効な操作:無効な操作を実行すると、トピックは自動的に作成されず、使用できません。 これはビジネスに影響を与える可能性があります。 考えられる無効な操作について、以下に説明します。
トピック名:トピックの自動作成機能を有効にすると、システムは必要に応じて自動的にトピックを作成します。 トピックの名前が命名規則に従っていない場合、トピックは作成できません。 たとえば、名前が無効であるか、名前の長さが制限を超えています。
トピック設定:トピックに不適切なエンジンを指定した場合、またはトピックとパーティションの残りのクォータが不足している場合、トピックは自動的に作成されません。
ACL:ACL 機能が有効になっている場合、トピックを指定せずに ApsaraMQ for Kafka インスタンスにメッセージを送信すると、トピックは自動的に作成されません。
予期しない要因:予期しない要因が発生し、トピックの自動作成に大きな遅延が生じる可能性があります。 この場合、作成リクエストがタイムアウトするため、トピックは作成されません。 これはビジネスに深刻な影響を与えます。 これらの要因には、ネットワークのジッター、ブローカーのアップグレード、コンソールのアップグレードまたはメンテナンス、Elastic Compute Service(ECS)インスタンスの障害などがあります。
データの競合:システムが自動的にトピックを作成する場合、システムは別のトピックと同じ名前を採用する場合があります。 この場合、2 つのトピックのデータが両方とも記録され、システムが競合を検出できない場合があります。 競合が検出された場合でも、解決されることはまれであり、元に戻せない損失につながる可能性があります。
レイテンシ:自動的に作成されるトピックをトリガーするには、既存のトピックをトリガーするよりもはるかに長い時間がかかります。 これにより、一時的なビジネスの中断が発生する可能性があります。 ほとんどの場合、ビジネスはそのような中断を許容できません。
リソース不足:パーティションまたはトピックの上限に達すると、それ以上のトピックを作成できません。
参照
セルフマネージドインスタンスまたはクロス クラウド インスタンスを ApsaraMQ for Kafka インスタンスに移行する方法については、セルフマネージドインスタンスまたはクロス クラウド インスタンスを ApsaraMQ for Kafka インスタンスに移行する をご参照ください。
ApsaraMQ for Kafka コンソールで、または API オペレーションを呼び出すことによってトピックを作成する方法については、手順 3:リソースを作成する および CreateTopic をご参照ください。