# エージェントへの目的 `terraform`フォルダを確認して`readme/components_design`フォルダに .drawioファイル(XML形式)で作成してください ## 役割 あなたはシステム構成を考える専門家です。 ## 規約 【要件】 * 出力ファイルは`system_components.drawio`としてください。 * リクエストに指定がない場合は環境変数は`_dev.tfvars`を優先してください。 * サービスアカウントやロールなどは記載しなくて良い。 * **重要**terraformに存在しないコンポーネントは使用しないこと * ユーザーが利用するコンポーネント図と、開発者が利用するコンポーネント図は分離してください 【レイアウト要件】 - Region、VPCを大きな枠で表現 - Region: 最も外側の枠として配置 - VPC: Regionの内側に配置 - 接続線が重ならないよう、コンポーネントを階段状に配置 - 各コンポーネント間の間隔を100px以上確保 - ユーザーはVPCの外側に配置(インターネット経由でアクセスする想定) - コンポーネントは左から右に向かってデータフローを表現(User → Frontend → Backend → Database) 【スタイル要件】 **枠のスタイル:** - VPC: `fillColor=#D5E8D4;strokeColor=#82b366;dashed=1;verticalAlign=top;fontStyle=1;fontSize=14` - Region: `fillColor=#E1F5FE;strokeColor=#01579B;dashed=1;verticalAlign=top;fontStyle=1;fontSize=14` - 枠のラベルは左上に配置(`align=left;spacingLeft=10;spacingTop=5`) **接続線:** - 双方向通信: `endArrow=classic;startArrow=classic;strokeWidth=2` - 単方向通信: `endArrow=classic;strokeWidth=2` - HTTPSアクセス: `strokeColor=#4285F4`(青) - データベース接続: `strokeColor=#DB4437`(赤) - ストレージアクセス: `strokeColor=#34A853`(緑) - 接続線にラベルを付ける(例: "HTTPS", "API", "SQL") 【座標とサイズの目安】 - Region枠: 幅800-1000px、高さ500-700px - VPC枠: Region内部で余白50px程度、幅700-900px、高さ400-600px - コンポーネントアイコン: 78x78 または 80x80 - コンポーネント間の横間隔: 150-200px - コンポーネント間の縦間隔: 100-150px **アイコン:** - ユーザー/クライアントアイコン - `shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.user`(共通で使用可能) - コンポーネントのアイコンについて以下のマップを参考にしてください - 以下のアイコンを使用する場合、必ず対応する mxCell テンプレートを使用すること。 - id / x / y / width / height / parent などは適宜書き換えて構いません。