自然言語でAWS構成図を描く！Bedrock Engineerによる効率的な設計手法の実装と活用術

こんにちは！ファンリードDXP事業部AWSグループのMartimです！
今回はBedrock Engineerという生成AIアプリケーションをAWSの方が作成したと聞いて、実際に触れてみたので体験を共有したいと思います！

### はじめに

AWS構成図の作成は、システム設計において重要な工程の一つですが、PowerPointやDraw.ioなどのツールを使った手動作業は時間がかかり、更新も煩雑です。
実際私も構成図の作り方で苦労したり、サンプルを参考にしても時間がかかったりしました…

そんな中、AWS社員によって開発された「Bedrock Engineer」というツールを使用すると、自然言語での要件記述から自動的にAWS構成図を生成できます！

本記事では、Bedrock Engineerのセットアップから構成図生成機能の実際の使用感まで、技術者向けに詳しく解説します！

## 環境構築・セットアップ

### 前提条件
私の動作環境と前提条件を記載させていただきます。
MACとWindowsどちらでもできましたが、Windowsは少し手順が多いと感じました。（元の環境設定ができてなかっただけかもしれませんが…）

 - pc - Windows11 24H2 or macOS Ventura13.7.6
 - 空き容量 - 最低5GB
 - Node.js: 最新のLTS版を推奨
 - npm: Node.jsに付属のバージョン
 - AWSアカウント: Bedrockサービスへのアクセス権限が必要


### セットアップ手順
Gitを検索し、README-jaからダウンロードが行えます！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/8aaf6b05-96c2-4677-af37-d4c8e8745e62.png)

ビルドすることもできるため、今回は丁寧にビルドを行っていきます。
ダウンロードを行った人は飛ばしてください！

#### 1. リポジトリの取得
Bedrock Engineerのリポジトリをクローンしてきます。
```bash
git clone https://github.com/aws-samples/bedrock-engineer.git
cd bedrock-engineer
```

クローン出来たら、cdでフォルダ移動していることを確認してください！

#### 2. npmモジュールインストール
以下のコマンドでnpmモジュールをインストールします。
```bash
npm install
```

#### 3. ビルド
各OSの実行手順は以下になります
```bash:mac
npm run build:mac
```

```bash:windows
npm run build:win
```

ここまでエラーなく出来たらOKです！

Bedrock Engineer.appを実行してみましょう！

ファイルは設定を変えていなければC:/user/[ユーザー名]/bedrock-engineer/dist/mac-universal/Bedrock Engineerにあります。

## 構成図生成機能の実践

### 基本的な使用方法

Bedrock Engineerって実はサイト作ったり、AIと会話したりもできるんですが、今回は一番気になってた「AWS構成図の自動生成」を中心に紹介していきます！（他の機能も面白そうなので、みなさんも入れた後にぜひ遊んでみてください！）

#### 設定


デフォルトが英語なので、まずは日本語に変更します。
エージェントチャットを使用する場合は、追加でAPIキーを入力してください。
（今回は使いません）

![スクリーンショット 2025-05-23 155502.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/9901792e-1170-4873-9aa8-cc52f1a79c9a.png)

次に自分の持っているAWSアカウントのIAMからアクセスキーとシークレットアクセスキーを持ってきます。
※　別でアクセスキー等を作っている場合は、自分のユーザーでなくても大丈夫です。

:::note alert
 重要：AWSの認証情報は厳重に保管し、GitHubなどの公開場所への誤アップロードにご注意ください。情報が漏れると不正利用などの深刻な被害につながります。
:::

リージョンは東京を指定しています。

Bedrockの設定では、使用するLLMモデルを指定します。
初期設定では、Claude 3 haikuになっておりますが、今回はClaude 3.5 Sonnetを使用しています。

![スクリーンショット 2025-05-23 155517.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/ed56dba5-92fe-461f-b521-e405f77b39ca.png)

設定は以上で完了です！早速触っていきましょう！！

### 実践

左のタブから「Diagram Generator」を選択します。

![スクリーンショット 2025-05-23 14.41.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/d9a00903-917d-45e5-9844-def0832af928.png)
このような画面が出てきたら始められます！

下の入力部分にプロンプトを入れることで構成図が作られる仕様です。


### 検証

#### 検証1: 基本的なサーバーレス構成
入力部分上部のチャットテンプレートがあるのでそちらを使用します。
![スクリーンショット 2025-05-26 16.49.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/4972c45b-161e-4cdf-80ff-c5a8847eb180.png)
「serverless API」のプロンプトを使用し、作成してもらいます。

![スクリーンショット 2025-05-23 15.39.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/76736cac-43d0-4ae6-a0f5-65a2b6e4ea4f.png)

所要時間35秒

大体合っていますね。
サブネットなどが書かれていませんが、左のメニューから手動で追加もできます。
簡単な構成なだけあってだいぶ速く生成してくれました。

#### 検証2: 上記構成にCognitoを追加した認証機能の実装

先ほどのサーバーレス構成に、テンプレートにある「認証追加」をしてもらいます。

![スクリーンショット 2025-05-23 15.41.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/505cc18f-cfa4-48cb-893d-99ba14fb15b1.png)

所要時間44秒

これもいい感じですね。
追加するだけでも少し時間がかかるようですが、この速さなら問題なさそうです。

#### 検証3: ニュアンスだけを伝えて構成させる。

ここが一番やりたかったやつです！！
AWS初心者の人でも「こんなの作りたい〜」って言えば構成図作ってくれるのか検証してみました。今回はECサイトっぽいもので試してみます！
簡単なECサイトを作る前提で、以下のプロンプトで構成図を作らせてみます。

**プロンプト**
```
ECサイトの構築ができる構成図を生成します。
ユーザーデータを保管し、ユーザーログインができる認証機能を追加してください。
ECサイトのデータを保存できるDBを追加してください。
セキュリティを追加し、不審なIPを制限できるようにしてください。
サブネットやVPCを追加してください。
```


![スクリーンショット 2025-05-23 16.55.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4037909/efc62aec-82fa-4159-8a10-3633f94a5aca.png)

所要時間　1分9秒

70点くらい・・・ですかね？
セキュリティやVPC等はいい感じですが、Cognito認証の書き方が問題ですね。
他の構成図作成ならうまくいっていたのですが、Cognitoはサブネット内に配置されるものではありません。

不安定要素が多く完全に初学者に向けられるものではなく、ある程度の知識があってから触るほうが良さそうですね。

## まとめ

実際の検証では、基本的な構成であれば実用レベルの品質で自動生成が可能でした！

ある程度AWSわかる人が「とりあえず叩き台作って〜」って感じで使って、そのあと自分で調整するのが一番いいと思います！これだけでも作業時間がめちゃくちゃ短縮できそう！

以上！
最後まで読んでくれてありがとうございました〜！！
それでは！よきAWSライフを！

## 参考資料

https://github.com/aws-samples/bedrock-engineer

https://docs.aws.amazon.com/bedrock/

https://x.com/martim5004951

https://www.funlead.co.jp/