AWS Diagram MCP Serverを使用してアーキ図を生成してみる
続いてAWS Diagram MCP Serverを利用して、アーキテクチャ図を作成してみます。
今回は、MCP設定自体をチャットで依頼してみます。
> AWS Diagram MCP Serverを設定してください
AWS Diagram MCP Serverを設定するために、必要な手順を実行していきます。まず、現在の環境を確認し、必要なセットアップを行います。
🛠️ Using tool: fs_read (trusted)
⋮
● Reading directory: /Users/ユーザ名/aws-mcp with maximum depth of 0
⋮
● Completed in 0.0s
〜〜省略〜〜
AWS Diagram MCP Serverの設定が完了しました。以下に設定の概要と次のステップをまとめます:
### 設定内容
1. AWS Diagram MCP Serverの確認:
• 既に設定されているかどうかを確認します
• q mcp listコマンドで現在のMCPサーバー一覧を確認
2. 必要なパッケージのインストール:
• uvxコマンドが必要です(既にインストールされている場合は不要)
• Graphvizが必要な場合は、Homebrewを使ってインストール: brew install graphviz
3. AWS Diagram MCP Serverの設定:
• Amazon Q CLIのmcp addコマンドを使用
• サーバー名: awslabs.aws-diagram-mcp-server
• 実行コマンド: /Users/matsubarachinami/.local/bin/uvx
• 引数: awslabs.aws-diagram-mcp-server@latest
• 環境変数: FASTMCP_LOG_LEVEL=ERROR
### 確認結果
• q mcp listコマンドで、AWS Diagram MCP Serverが正常に設定されていることを確認できます
• 出力例:
📄 workspace:
/Users/matsubarachinami/aws-mcp/.amazonq/mcp.json
• awslabs.aws-diagram-mcp-server /Users/ユーザ名/.local/bin/uvx
• q mcp status --name awslabs.aws-diagram-mcp-serverコマンドで、サーバーの詳細設定を確認できます
### 使用方法
AWS Diagram MCP Serverが設定されると、Amazon Q CLIを使用する際に図表作成機能が利用可能になります:
1. q chatコマンドを実行してAmazon Qとチャットを開始
2. 図表作成に関する要求をすると、設定したMCPサーバーが自動的に活用されます
例えば、以下のような要求ができるようになります:
• 「AWSの3層アーキテクチャ図を作成してください」
• 「マイクロサービスアーキテクチャの図を作成してください」
• 「AWSのサーバーレスアーキテクチャを図示してください」
• 「データベースレプリケーションの構成図を作成してください」
図表作成時には以下の機能が利用できます:
• 様々なAWSサービスアイコンの使用
• クラスター化によるグループ化
• 接続関係の定義
• カスタムスタイルの適用
作成された図表は、指定したファイル名でPNG形式で保存され、プレゼンテーションやドキュメントに活用できます。
### 注意点
• 図表作成にはGraphvizが必要です。インストールされていない場合は、brew install graphvizでインストールしてください
• 複雑な図表を作成する場合は、具体的な要件を明確に伝えることで、より適切な図表が作成されます
• 初回使用時には承認プロンプトが表示される場合があります
AWS Diagram MCP Serverを使うことで、コードからAWS構成図を簡単に作成でき、システム設計やアーキテクチャの説明が視覚的に行えるようになります。
設定を確認したところ、Graphvizのインストールやmcp.json設定ファイルのセットアップが完了し、AWS Diagram MCP Serverが利用できる状態になっていました。
AWS Diagram MCP Serverを活用して、アーキテクチャ図を作成してもらいます。
> Pythonのシステムアーキテクチャを描画するライブラリを利用して、AWSでweb3層アーキテクチャを構築する構成図をPNG形式で出力してください
以下の通り、PythonのDiagramパッケージをインストールしてpingの図を生成してくれました。
〜〜省略〜〜 ● Reading images: /Users/matsubarachinami/aws-mcp/aws_three_tier_architecture.png ⋮ ● Completed in 0.0s 素晴らしいです!Graphvizを使用してAWSの3層アーキテクチャ図が正常に作成されました。 図には以下の要素が含まれています: 1. ユーザー層: • ユーザーアイコン • WAF(Web Application Firewall)によるセキュリティ保護 2. VPC内の構成: • Internet Gateway:外部からのトラフィックを受け入れる入口 3. プレゼンテーション層(パブリックサブネット): • ロードバランサー:トラフィックを分散 • Webサーバー1とWebサーバー2:冗長構成によるハイアベイラビリティ 4. アプリケーション層(プライベートサブネット): • アプリケーションサーバー1とアプリケーションサーバー2:ビジネスロジックを処理 5. データ層(プライベートサブネット): • プライマリDB:メインのデータベース • レプリカDB:冗長性とフェイルオーバー用 • S3バケット:静的ファイルやバックアップ用のストレージ この図は、セキュリティ、高可用性、スケーラビリティを考慮した典型的なAWSの3層アーキテクチャを示しています。各層が適切に分離され、それぞれの役割に応じたAWSサービスが配置されています。 Pythonのdiagramsパッケージを使用して、コードからこのような図を生成できるのは非常に便利ですね。この図は、システム設計のドキュメントやプレゼンテーションに活用できます。
生成された図は以下です。
アーキテクチャ図作成に関する所感
「Web3層の構成図を作成して」というざっくりとした指示にも関わらず、WAFやInternet Gatewayなどの基本的なネットワーク構成要素を含んだアーキテクチャ図が生成されました。
テキストベースで詳細に指示を出すことで、より思い通りの構成図を作成することができそうです。
出力形式に関して、明確な指定がないとテキストベースの図や、HTMLで生成されることがあり、視覚的に期待通りの結果にならないこともありました。
「Pythonのシステムアーキテクチャを描画するライブラリを利用して」といった具体的な実行形式や出力方法を明示することで、期待通りの図(例:PNG形式)を得られるようになりました。
この図を基に、Terraform MCP Serverでコード化したり、Cost Analysis MCP Serverを使って構成に基づいた料金を見積もることも可能です。
MCP Serverのセットアップに関する所感
MCPを自力でセットアップして図を生成しようとしましたが、Graphvizのインストールができていないなど、必要な前提条件が揃っておらず、セットアップがやや複雑でした。
最終的には、セットアップ自体をAIに依頼することでスムーズに構築できました。
MCP Serverのセットアップを依頼すると、どの設定ファイルがどこに作成されたかなどの詳細情報も出力されるため、出力結果をもとに環境構成やインストール状況を手動で確認することを推奨します。
まとめ
今回は、2025年4月に発表された「AWS MCP Servers」についてご紹介しました。
このリリースは、今後のクラウドサービス開発へ大きく貢献するものとして注目を集めました。さらに Amazon Q Developer CLIが日本語にも対応した上で、MCPのサポートが開始し、今後AIを活用した開発手法が発展することが期待できます。
本記事が今後のAWS活用のお役に立てば幸いです。
