Draw.io ダイアグラムスキル は何をしますか?
draw.ioのネイティブXML形式で、プロフェッショナルで編集可能なダイアグラムファイルを作成します。
出力形式
draw.ioファイルは以下の構造のXMLです:
<mxfile host="app.diagrams.net" modified="DATE" agent="Claude" version="21.0.0" type="device">
<diagram name="DIAGRAM_NAME" id="UNIQUE_ID">
<mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- すべてのダイアグラム要素はここに配置 -->
</root>
</mxGraphModel>
</diagram>
</mxfile>
基本要素タイプ
基本図形
<!-- 長方形 -->
<mxCell id="unique-id" value="ラベルテキスト" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="120" height="60" as="geometry" />
</mxCell>
<!-- 角丸長方形 -->
<mxCell id="unique-id" value="ラベル" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="120" height="60" as="geometry" />
</mxCell>
<!-- 円柱 (データベース) -->
<mxCell id="unique-id" value="データベース" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="80" height="80" as="geometry" />
</mxCell>
<!-- 楕円 -->
<mxCell id="unique-id" value="ノード" style="ellipse;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="80" height="80" as="geometry" />
</mxCell>
コンテナとグループ
<!-- スイムレーン (ヘッダー付きコンテナ) -->
<mxCell id="unique-id" value="セクションタイトル" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=30;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="200" height="150" as="geometry" />
</mxCell>
<!-- ヘッダーバー (ブランドプライマリカラー使用) -->
<mxCell id="unique-id" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#0066CC;strokeColor=#0066CC;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="400" height="40" as="geometry" />
</mxCell>
コネクタと矢印
<!-- 基本矢印 -->
<mxCell id="unique-id" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=2;strokeColor=#666666;" edge="1" parent="1" source="source-id" target="target-id">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- 双方向矢印 -->
<mxCell id="unique-id" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;strokeWidth=2;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="200" as="sourcePoint" />
<mxPoint x="400" y="200" as="targetPoint" />
</mxGeometry>
</mxCell>
<!-- フレックス矢印 (ブロック矢印) -->
<mxCell id="unique-id" value="" style="shape=flexArrow;endArrow=classic;html=1;fillColor=#FFB800;strokeColor=#cc9400;width=20;endSize=8;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="200" as="sourcePoint" />
<mxPoint x="400" y="200" as="targetPoint" />
</mxGeometry>
</mxCell>
<!-- 破線 -->
<mxCell id="unique-id" value="" style="endArrow=classic;html=1;dashed=1;dashPattern=8 8;strokeColor=#999999;" edge="1" parent="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="200" y="200" as="sourcePoint" />
<mxPoint x="400" y="200" as="targetPoint" />
</mxGeometry>
</mxCell>
テキスト要素
<!-- プレーンテキスト -->
<mxCell id="unique-id" value="ラベルテキスト" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="100" height="30" as="geometry" />
</mxCell>
<!-- 太字タイトル -->
<mxCell id="unique-id" value="タイトル" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontStyle=1;fontColor=#333333;" vertex="1" parent="1">
<mxGeometry x="100" y="20" width="300" height="40" as="geometry" />
</mxCell>
<!-- 複数行テキスト (改行には 
 を使用) -->
<mxCell id="unique-id" value="行1
行2
行3" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="150" height="60" as="geometry" />
</mxCell>
共通スタイルプロパティ
色 (16進コードを使用)
| プロパティ | 目的 | 例 |
|---|---|---|
fillColor | 背景色 | fillColor=#dae8fc |
strokeColor | 枠線色 | strokeColor=#6c8ebf |
fontColor | 文字色 | fontColor=#333333 |
標準カラーパレット
青: fillColor=#dae8fc;strokeColor=#6c8ebf
緑: fillColor=#d5e8d4;strokeColor=#82b366
黄: fillColor=#fff2cc;strokeColor=#d6b656
橙: fillColor=#ffe6cc;strokeColor=#d79b00
赤: fillColor=#f8cecc;strokeColor=#b85450
紫: fillColor=#e1d5e7;strokeColor=#9673a6
灰: fillColor=#f5f5f5;strokeColor=#666666
タイポグラフィ
| プロパティ | 値 | 例 |
|---|---|---|
fontSize | 数値 | fontSize=12 |
fontStyle | 0=標準, 1=太字, 2=斜体, 3=太字+斜体 | fontStyle=1 |
align | left, center, right | align=center |
verticalAlign | top, middle, bottom | verticalAlign=middle |
枠線とエフェクト
| プロパティ | 値 | 例 |
|---|---|---|
rounded | 0 または 1 | rounded=1 |
strokeWidth | 数値 | strokeWidth=2 |
dashed | 0 または 1 | dashed=1 |
dashPattern | パターン | dashPattern=8 8 |
shadow | 0 または 1 | shadow=1 |
企業ブランディング (カスタマイズ可能)
このスキルは企業固有のブランディングをサポートしています。references/branding.md を編集して、組織のカラーとスタイルを設定してください。
デフォルトのブランドプレースホルダー (独自のものに置き換えてください):
プライマリ: fillColor=#0066CC;strokeColor=#0052a3;fontColor=#FFFFFF
セカンダリ: fillColor=#FFB800;strokeColor=#cc9400;fontColor=#333333
ダーク: fillColor=#1a1a2e;strokeColor=#1a1a2e;fontColor=#FFFFFF
ライト背景: fillColor=#f0f4f8;strokeColor=#0066CC
完全なカスタマイズ手順については references/branding.md を参照してください。
ダイアグラムパターン
アーキテクチャ図レイアウト
- タイトルバー 上部 (全幅、ブランドカラー)
- メインセクション をスイムレーンまたは角丸コンテナとして
- コンポーネント をセクション内の角丸長方形として
- データベース を円柱として
- 外部システム を左右の端に
- 矢印 でデータ/制御フローを示す
- 凡例 を隅に配置し色や記号を説明する
- フッター にメタデータ
レイヤードアーキテクチャ (上から下へ)
┌─────────────────────────────────────┐
│ ユーザー/クライアント │ ← 最上層
├─────────────────────────────────────┤
│ API / インターフェース │
├─────────────────────────────────────┤
│ ビジネスロジック │
├─────────────────────────────────────┤
│ データ / ストレージ │ ← 最下層
└─────────────────────────────────────┘
左から右へのフロー
┌──────┐ ┌──────────┐ ┌──────────┐
│ ソース│ ──► │ 処理 │ ──► │ ターゲット│
└──────┘ └──────────┘ └──────────┘
ベストプラクティス
- ユニークID: 各 mxCell にユニークな
id属性が必要 - 親階層: トップレベル要素には
parent="1"を設定 - 位置指定:
mxGeometryで x, y, width, height を使用 - レイヤリング: 後で定義した要素が前面に表示される
- 配置: 一貫した x/y 間隔を使用 (グリッド10~20px)
- 色: パレットから調和のとれた塗りつぶし/枠線のペアを使用
- ラベル: テキストは簡潔に。説明は別のテキスト要素を使用
- 余白: コンテナ内に余白を残す (20~40pxのパディング)
ワークフロー
- ダイアグラムの種類とレイアウトパターンを決定
mxGraphModelでページサイズ (pageWidth, pageHeight) を設定- コンテナ構造 (スイムレーン、グループ) を作成
- ユニークIDを持つコンポーネントを追加
- ソース/ターゲットIDを参照するコネクタを追加
- ラベルと注釈を追加
- 色分けを使用する場合は凡例を追加
.drawioファイルとして保存/mnt/user-data/outputs/にコピーしてユーザーに提示
クラウドプロバイダーアイコン (AWS、Azure、GCP)
Draw.ioには主要クラウドプロバイダー向けの組み込み図形ライブラリが含まれています。プロフェッショナルなアーキテクチャ図には公式アイコンを使用してください。
AWSアイコン (クイックリファレンス)
AWSは shape=mxgraph.aws4.resourceIcon と resIcon=mxgraph.aws4.SERVICE を使用します:
<mxCell id="lambda-1" value="Lambda" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.lambda;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="78" height="78" as="geometry" />
</mxCell>
よく使うAWS resIcon値:
- コンピューティング:
ec2,lambda,ecs,eks,fargate - ストレージ:
s3,elastic_block_store,elastic_file_system - データベース:
rds,dynamodb,aurora,elasticache,redshift - ネットワーキング:
vpc,cloudfront,route_53,api_gateway,elastic_load_balancing - セキュリティ:
iam,cognito,secrets_manager,kms,waf
AWSカテゴリ色:
- コンピューティング:
#ED7100 - ストレージ:
#7AA116 - データベース:
#C925D1 - ネットワーキング:
#8C4FFF - セキュリティ:
#DD344C
Azureアイコン (クイックリファレンス)
Azureは image=img/lib/azure2/CATEGORY/SERVICE.svg を使用します:
<mxCell id="vm-1" value="VM" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/azure2/compute/Virtual_Machine.svg;verticalLabelPosition=bottom;verticalAlign=top;" vertex="1" parent="1">
<mxGeometry x="100" y="100" width="68" height="68" as="geometry" />
</mxCell>
よく使うAzure画像パス:
compute/Virtual_Machine.svg,compute/Function_Apps.svgcontainers/Kubernetes_Services.svgstorage/Storage_Accounts.svg,storage/Blob_Storage.svgdatabases/SQL_Database.svg,databases/Azure_Cosmos_DB.svgnetworking/Virtual_Networks.svg,networking/Load_Balancers.svgsecurity/Key_Vaults.svg,identity/Azure_Active_Directory.svg
AWSグループコンテナ
<!-- VPC -->
<mxCell id="vpc" value="VPC" style="sketch=0;outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_vpc;strokeColor=#8C4FFF;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;dashed=0;" vertex="1" parent="1">
<mxGeometry x="40" y="40" width="400" height="300" as="geometry" />
</mxCell>
<!-- パブリックサブネット -->
grIcon=mxgraph.aws4.group_public_subnet;strokeColor=#7AA116;fillColor=#E9F3E6
<!-- プライベートサブネット -->
grIcon=mxgraph.aws4.group_private_subnet;strokeColor=#00A4A6;fillColor=#E6F6F7
リファレンス
高度なパターンと完全なアイコンリストについては以下を参照:
references/architecture-patterns.md- 一般的なアーキテクチャ図のレイアウトreferences/style-guide.md- 拡張スタイルオプションとアイコン配置references/cloud-icons.md- 完全なAWS、Azure、GCPアイコンリファレンスreferences/branding.md- 企業ブランディングのカスタマイズガイド