Amazon Web Services ブログ

Kiro CLI と Amazon MSK MCP Server を使用した自然言語による Amazon MSK の簡易管理

本記事は 2025 年 12 月 24 日 に公開された「Simplified management of Amazon MSK with natural language using Kiro CLI and Amazon MSK MCP Server」を翻訳したものです。

効率的なデータストリームの管理・スケーリングは、多くの組織の成功を支えています。Apache Kafka はリアルタイムデータストリーミングの主要プラットフォームであり、優れたスケーラビリティと信頼性を備えています。しかし、Kafka クラスターのセットアップとスケーリングは、多大な時間、専門知識、リソースを必要とする複雑な作業になりがちです。Amazon Managed Streaming for Apache Kafka (Amazon MSK) を使用すると、Kafka インフラストラクチャ管理の専門知識がなくても、複雑な運用負荷なしに、Apache Kafka 上で本番アプリケーションを構築・実行できます。

Amazon MSK Provisioned は、Standard ブローカーと Express ブローカーの両方をサポートしています。Express ブローカーは、より高いスループット、より高速なスケーリング、より低い運用負荷を実現するように設計されています。一方、Standard ブローカーは、より詳細な制御と設定の柔軟性を提供します。Amazon MSK はクラスター管理の負荷を大幅に削減しますが、チームはトピック管理、パーティション管理、ビジネス要件を満たすための設定など、日常的なタスクを引き続き実行する必要があります。

これらの日常業務を簡素化するために、Kiro Command Line Interface (CLI) と MSK Model Context Protocol (MCP) サーバーを使用して、より直感的にクラスターを管理できます。これらのツールにより、チームは自然言語コマンドで管理タスクや運用作業を実行できます。トピックの管理、クラスターの健全性監視、設定の実装など、どのタスクでも自然言語コマンドを使えるため、Kafka 初心者が取り組みやすくなり、経験豊富な管理者の作業効率化にも寄与します。

この記事では、Kiro CLI と MSK MCP サーバーが Kafka 管理をどのように効率化できるかを紹介します。実践的な例とデモを通じて、堅牢なセキュリティと信頼性を維持しながら、これらのツールで一般的な管理タスクを効率的に実行する方法を説明します。

Model Context Protocol の利点

MCP は、AI エージェントが外部ツール、データソース、サービスに安全にアクセスして対話する方法を定義する新しいオープンスタンダードです。開発者が複数のサービスにわたる複雑な API 構文を学ぶ必要がなく、MCP により AI アシスタントは環境をコンテキストに応じて理解し、的確なガイダンスを提供できます。Kiro CLI エージェントは、コマンドラインの AI アシスタントであり、コードと環境を理解して、自然言語での対話を通じてタスクの実行、コードの生成、ワークフローの自動化を行います。Kiro CLI と MCP を組み合わせることで、チームは自然言語で MSK クラスターを管理でき、クラスター管理がより直感的になります。

Amazon MSK MCP Server は、クラスターの説明、設定の更新、ブローカーの健全性監視など、重要なクラスター管理機能を提供します。これらの機能と、ネイティブ Kafka コマンドラインツールと連携する Kiro CLI の機能を組み合わせることで、チームは Apache Kafka 環境の全体を把握できます。この統合により、ユーザーは MCP サーバーを介したコントロールプレーン操作と、Kafka ツールとの Kiro CLI 連携によるトピック管理などのデータプレーン操作の両方を管理できます。チームは AWS Identity and Access Management (IAM) ときめ細かなアクセス制御によるエンタープライズグレードのセキュリティを維持しながら、対話形式でクラスターの監視、管理、最適化を行えます。

前提条件

このウォークスルーでは、以下が必要です。

  • AWS アカウント – アカウントをお持ちでない場合は、作成できます。
  • コンピュータに AWS CLI がインストールおよび設定されていること。
  • コンピュータに Kiro CLI がインストールされていること。
  • Amazon Q CLI をすでにお持ちの場合は、Kiro CLI にアップグレードできます。
  • Amazon MSK クラスター。アカウントにまだない場合は、この Amazon CloudFormation テンプレートを使用してデプロイできます。

Kiro CLI と Amazon MSK MCP サーバーの設定

インストールと設定

以下のセクションでは、Amazon MSK MCP サーバーをインストールおよび設定する手順を説明します。

必要な依存関係のインストール

必要な依存関係をインストールするには、以下の手順を実行してください。

  1. まだインストールしていない場合は、uv パッケージマネージャーをインストールします。
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
Install Python 3.10 or newer:
uv python install 3.10

MCP サーバーの設定

以下の手順に従って、ホストマシンに Kiro CLI をセットアップし、Amazon MSK MCP サーバーにアクセスします。Kiro CLI 設定で Amazon MSK MCP サーバーを設定します。~/.aws/.kiro/mcp.json にある MCP 設定ファイルを編集します。

MacOS でのインストール

MacOS の場合、mcp.json ファイルは以下のようになります。

"awslabs.aws-msk-mcp-server": {
  "command": "uvx",
  "args": [
    "awslabs.aws-msk-mcp-server@latest",
    "—allow-writes"
  ],
  "env": {
    "FASTMCP_LOG_LEVEL": "ERROR"
  },
  "disabled": false,
  "autoApprove": []
}

Windows でのインストール

Windows ユーザーの場合、MCP サーバーの設定形式は若干異なります。

{
  "mcpServers": {
    "awslabs.aws-msk-mcp-server": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "run",
        "—from",
        "awslabs.aws-msk-mcp-server@latest",
        "awslabs.aws-msk-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "your-aws-profile",
        "AWS_REGION": "us-east-1"
      }
    }
  }
}

インストールの詳細については、Amazon MSK MCP サーバーの README.md のインストールセクションを参照してください。

  1. 次のコマンドで Kiro CLI を起動し、MCP サーバーが正しく設定されていることを確認します: kiro-cli
  2. Kiro CLI にログインしたら、次のコマンドを入力して、以下のスクリーンショットのようにすべての MSK MCP サーバーツールが利用可能であることを確認します: /tools

Kafka CLI のインストールと設定

Amazon MSK クラスターでデータプレーン操作を実行するには、Kafka コマンドラインツールを正しく設定する必要があります。以下のデモでは、開発者と管理者が Kiro CLI を使用して Kafka コマンドラインツールのインストールと設定を効率化し、自然言語コマンドで MSK クラスターとシームレスに対話できるようにする方法を紹介します。

クラスターのベストプラクティス評価

健全な Apache Kafka クラスターを維持するには、適切なレプリケーションファクターから最適なリソース使用率まで、確立されたベストプラクティスに従う必要があります。Amazon MSK はこれらのベストプラクティスの多くをデフォルトで実装していますが、本番ワークロードには継続的な監視と調整が不可欠です。以下のデモでは、Kiro CLI を使用してクラスターの設定を推奨されるベストプラクティスと照らし合わせて評価し、潜在的な問題を特定し、具体的な改善提案を得る方法を紹介します。デモビデオでは、自然言語クエリで MSK クラスターを AWS 推奨のベストプラクティスと照らし合わせて評価し、ベストプラクティスに従っていないレプリケーションファクターを持つトピックを特定して修正する方法を確認できます。

ヘルス通知への対応: 高可用性のためのトピック設定の最適化

Amazon MSK のヘルス通知は、最適なクラスターパフォーマンスと信頼性を維持するための重要なアラートです。Standard ブローカーを使用する MSK Provisioned をご利用のお客様は、アプリケーションの回復力に影響する MinISR やレプリケーションファクターの設定など、重要な設定パラメータに関する通知を受け取ることがあります。このセクションでは、Kiro CLI を使用して MinISR (Minimum In-Sync Replicas) とレプリケーションファクターの設定に関するヘルス通知に迅速に対応する方法を紹介します。自然言語コマンドで、最適でない設定のトピックを特定し、現在の設定を理解し、インフラストラクチャのメンテナンスやリカバリ時の高可用性を確保するための推奨される変更を実装する様子を確認できます。この実践的なデモでは、Kiro CLI が AWS のベストプラクティスに従いながら、堅牢な Kafka 運用を維持するプロセスをどのように簡素化するかを紹介します。

クラスターレベルの設定管理: 自然言語によるパラメータ更新の効率化

Apache Kafka クラスターは、特定のセキュリティ要件やユースケースを満たすために設定の調整が必要になることがよくあります。Amazon MSK はデフォルトの設定を提供していますが、allow.everyone.if.no.acl.found などのセキュリティパラメータをカスタマイズして、適切なアクセス制御を実装し、クラスターのセキュリティを強化する必要がある場合があります。このデモでは、Kiro CLI と MSK MCP サーバーがクラスターレベルの設定更新プロセスをどのように簡素化するかを紹介します。

複数の CLI コマンドやコンソール画面を操作する代わりに、自然言語の指示で現在のセキュリティ設定を理解し、変更の影響を評価し、MSK クラスター全体で設定の更新をシームレスに実装する方法を確認できます。allow.everyone.if.no.acl.found を false に設定することで、すべての操作に明示的な ACL 権限が必要になり、Kafka デプロイメントのセキュリティが強化されます。

まとめ

この記事では、Kiro CLI と MSK MCP サーバーが自然言語コマンドで Apache Kafka クラスター管理を効率化する方法を紹介しました。複雑な Kafka 操作をシンプルな対話形式に変換することで、これらのツールは経験豊富な管理者も初心者も効率的に MSK クラスターを管理できるようにします。日常的なタスクから設定の課題への対応まで、このアプローチは運用の複雑さを軽減し、チームが新しいストリーミングアプリケーションの開発に集中できるようにします。


著者について

Kalyan JanakiKalyan Janaki は、Amazon Web Services のシニアビッグデータ & アナリティクススペシャリストです。お客様が AWS 上で高度にスケーラブルで高性能かつ安全なクラウドベースのソリューションを設計・構築するのを支援しています。

Aarjvi DesaiAarjvi Desai は、サンフランシスコベイエリアを拠点とする Amazon Web Services のテクニカルアカウントマネージャーです。お客様がクラウドの課題を解決し、スケーラブルで信頼性の高いソリューションを構築するのを支援しています。クラウドテクノロジー、アーキテクチャのベストプラクティス、オペレーショナルエクセレンスを専門としています。

Sandhya KhanderiaSandhya Khanderia は、シニアテクニカルアカウントマネージャー兼データアナリティクススペシャリストです。AWS のお客様と協力し、ベストプラクティスを使用したソリューションの計画と構築を支援するための継続的なサポートと技術的なガイダンスを提供し、お客様の AWS 環境を運用上健全に保つことに積極的に取り組んでいます。

Ankit MishraAnkit Mishra は、Amazon Web Services のシニアソリューションアーキテクトで、世界中のヘルスケアおよびライフサイエンスのお客様をサポートしています。組織が安全でスケーラブル、信頼性が高く、コスト効率の良いクラウドソリューションを設計・構築するのを支援することに情熱を持っています。仕事以外では、小さな娘と過ごす時間を楽しんでいます。


この記事は Kiro が翻訳を担当し、Solutions Architect の 榎本 貴之 がレビューしました。