クラウド移行およびテストのシナリオでは、コンソールを使用せずにプログラムでトピックを作成できるよう、トピックの自動作成機能を有効化できます。
前提条件
以下の要件を満たす Message Queue for Apache Kafka インスタンスを購入・デプロイ済みである必要があります。
|
項目 |
説明 |
|
ステータス |
サービス中 |
|
バージョン |
メジャーバージョンが 2.2.0 以降、マイナーバージョンが最新であること。 |
インスタンスのステータスおよびバージョンは、Message Queue for Apache Kafka コンソールの インスタンスの詳細 ページにある 基本情報 セクションで確認できます。
注意事項
-
重要: この機能はクラウド移行およびテストのシナリオ専用です。本番環境での自動トピック作成機能の有効化は強く推奨されません。やむを得ず本番環境で有効化する場合は、重大な本番サービスには使用しないでください。
-
ACL が有効化された Professional Edition インスタンスでは、メッセージ送信によるトピックの自動作成はできません。
操作手順
ApsaraMQ for Kafka コンソール にログインします。概要 ページの リソースの分布 セクションでリージョンを選択します。
インスタンスリスト ページで、ターゲットインスタンスの名前をクリックします。
-
インスタンスの詳細 ページの 設定情報 セクションで、トピック自動作成 スイッチをオンにします。
説明自動作成されるトピックの命名規則:
-
長さは 3~64 文字である必要があります。
-
英数字、ハイフン (-)、アンダースコア (_) のみを使用でき、少なくとも 1 文字以上の英数字を含む必要があります。
この機能が有効化された Standard Edition インスタンスでは、存在しないトピック宛てにメッセージを送信すると、そのトピックが自動的に作成されます。新しく作成されたトピックはコンソールに表示されます。
-
よくある質問
トピックは自動的に作成できますか?
はい、可能ですが、強く推奨されません。Message Queue for Apache Kafka では、トピックは Message Queue for Apache Kafka コンソールまたは OpenAPI を使用して管理することを推奨します。本番環境での自動トピック作成機能の有効化は、以下の理由により避けてください。
-
自動トピック作成は詳細な権限制御やリソース操作の監査をサポートしないため、セキュリティおよびガバナンス上のリスクがあります。
-
制御不能なリソース消費を引き起こし、システムの安定性を損なう可能性があります。
-
自動トピック作成は必ず成功するとは限らず、失敗によりサービスが中断する可能性があります。詳細については、「トピックの自動作成に失敗した場合の対処方法」をご参照ください。
トピックの自動作成機能はいつ有効化すべきですか?
この機能は、迅速なクラウド移行やテストなど特定のユースケースでのみ有効化してください。それ以外のシナリオでは使用しないでください。
トピックの自動作成に失敗した場合の対処方法
トピックの自動作成に失敗した場合は、以下の解決策をお試しください。
-
トピック数が少ない場合は、コンソールまたは OpenAPI を使用して手動で作成することを推奨します。
-
以下の原因に基づき、ログを確認するかトラブルシューティングを実施してください。
-
無効な操作:無効な操作によりトピックが正しく作成または使用できず、サービスに影響を与える可能性があります。例として以下が挙げられます。
-
無効なトピック名:アプリケーションで指定されたトピック名が命名規則に準拠していない(例:無効な文字を含む、長さ制限を超えている)。
-
無効なトピック構成:ブローカーエンジンの選択ミス、またはトピックまたはパーティションのクォータ不足。
-
ACL が有効化されている:ACL 機能が有効化されている場合、メッセージ送信によるトピックの自動作成はできません。
-
-
制御不能な要因:ネットワークジッター、サーバーのスペックアップ、管理プラットフォームのメンテナンス、ECS インスタンス障害などの外部要因により、トピック作成時間が大幅に増加し、失敗につながる可能性があります。
-
サービス間の競合: 自動トピック作成によりサービス間で命名競合が発生し、異なるサービスのデータが混在する可能性があります。このような問題は検出・回復が困難であり、取り返しのつかないデータ損失を引き起こす恐れがあります。
-
遅延の問題:既存のトピックを使用する場合と比べて、必要に応じてトピックを作成する処理には大幅に長い時間がかかり、一時的なサービス中断を引き起こす可能性があります。
-
クォータ制限:トピックまたはパーティションのクォータ上限を超えると、トピック作成は失敗します。
-
参照
-
クラウド移行の詳細な手順については、「クラウド移行」をご参照ください。
-
コンソールまたは API を使用してトピックを作成する方法については、「トピックの作成」および「CreateTopic」をご参照ください。