Skip to content

Commit 31a8529

Browse files
committed
README 校正
1 parent b46bd0a commit 31a8529

File tree

1 file changed

+23
-24
lines changed

1 file changed

+23
-24
lines changed

README.md

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
このプロジェクトは、AI エージェントを用いて、異種 DB 間で SQL を変換するワークショップです。
44
題材として Oracle Database から Amazon Aurora PostgreSQL への SQL 変換を行います。
5-
AWS CDK を使用して OracleXE on EC2 と Aurora PostgreSQL のデータベースを構築し、SCT では変換できない Database Object と SQL 実行機能を有する Java アプリケーションを対象に [Strands Agents SDK](https://strandsagents.com/) を活用してデータベース分析と移行作業を軽減します。
5+
AWS CDK を使用して Oracle XE on EC2 と Aurora PostgreSQL のデータベースを構築し、SCT では変換できないデータベースオブジェクトと SQL 実行機能を有する Java アプリケーションを対象に [Strands Agents SDK](https://strandsagents.com/) を活用してデータベース分析と移行作業を軽減します。
66

77
> [!NOTE]
8-
> このコンテンツは OracleDB と PostgreSQL を立て、この環境に閉じて AI エージェントが SQL を読み書きし、実行し、修正し、結果を残していくものです。
8+
> このコンテンツは Oracle DB と PostgreSQL を立て、この環境に閉じて AI エージェントが SQL を読み書きし、実行し、修正し、結果を残していくものです。
99
> AI エージェントが Database を操作する都合上、本番環境でのご利用はおやめください。あくまで、ここでコードを作成・テストするだけにとどめてください。
1010
1111
## 🏗️ アーキテクチャ概要
1212

1313
- **Oracle Database**: EC2 インスタンス上の Oracle XE 21c
1414
- **PostgreSQL**: Amazon Aurora PostgreSQL Serverless v2
15-
- **AI Agent**: AI Agent w/Strands Agents によるデータベース分析・移行支援
16-
- **Infrastructure**: AWS CDK (TypeScript)による Infrastructure as Code
15+
- **AI Agent**: Oracle DB と同居もしくはローカル PC
16+
- **Amazon Bedrock**: AI Agent が使用するモデルを提供するサービス
1717

1818
## 📋 前提条件
1919

@@ -26,8 +26,8 @@ AWS CDK を使用して OracleXE on EC2 と Aurora PostgreSQL のデータベー
2626
### AWS 環境
2727

2828
- AdministratorAccess がアタッチされ、シェルスクリプトが実行可能なコンピューティングリソース
29-
- Bedrock で利用するモデルは us-east-1 です(コードの修正で変更可能)
30-
- 事前に使用するモデルを unlock してください。
29+
- Bedrock で利用するモデルは us-east-1 です(コードの修正で変更可能)
30+
- 事前に使用するモデルを unlock してください。デフォルトでは `us.anthropic.claude-sonnet-4-20250514-v1:0` を使用します。
3131

3232
## 🚀 セットアップ手順
3333

@@ -78,7 +78,7 @@ wget -P cdk/dmp \
7878
```
7979

8080

81-
### 4. インフラストラクチャのデプロイ
81+
### 4. デプロイ
8282

8383
リポジトリのルートディレクトリに移動した上で、以下コマンドを実行してください。30 分ほど実行にかかります。
8484

@@ -96,7 +96,7 @@ wget -P cdk/dmp \
9696
### 5. 接続確認
9797

9898
デプロイ完了後、`ssh -F ssh-config oracle` を実行して接続できることを確認してください。
99-
初回接続時は接続先が信頼できるかの確認が出ますが `yes` と入力してください。
99+
初回接続時は接続先の fingerprint が信頼できるかの確認が表示されます(yes/no/[fingerprint])。`yes` と入力してください。
100100
接続先で以下のコマンドを実行しデータベースに接続できることを確認してください。
101101

102102
```bash
@@ -109,8 +109,8 @@ uv run ora_connect_test.py
109109
uv run pg_connect_test.py
110110
```
111111

112-
上記は Oracle DB がホストされている EC2 での実行ですが、`ssh -F ssh-config oracle` で接続した場合
113-
初回接続時は fingerprint はポートフォワーディングによって、ローカルから実行することもできます。
112+
上記は Oracle DB がホストされている EC2 での実行ですが、`ssh -F ssh-config oracle` で接続した場合
113+
ポートフォワーディングによって、ローカルから実行することもできます。
114114
ssh 接続しているターミナルとは別にターミナルを開き、`sample-sql-converter-agent-workshop` ディレクトリから、以下を実行して確認することもできます。
115115
```bash
116116
# Oracle Database接続テスト
@@ -148,8 +148,7 @@ sudo su - oracle
148148

149149
### 1. エージェントの起動
150150

151-
`ssh -F ssh-config oracle` でつないだ先、もしくはつないでいる PC の別ターミナルで以下を実行しま
152-
初回接続時は fingerprint す。
151+
`ssh -F ssh-config oracle` でつないだ先、もしくはつないでいる PC の別ターミナルで以下を実行します。
153152
以下操作は `sample-sql-converter-agent-workshop` ディレクトリにいることを前提とします。
154153
エージェントの動作をカスタマイズしたい場合は事前に `agent/prompts/system_prompt.txt` を編集してください。
155154

@@ -160,13 +159,13 @@ cd ./agent/
160159
uv run main.py
161160
```
162161

163-
`あなたは何ができますか?` というプロンプトを打つとどんなことをできるのかを教えてくれる他、DB Object をその DB Object を Oracle から検索して PostgreSQL のオブジェクトに変換を始めます(e.g.`PROCEDURE SCHEMA_SAMPLE.SCT_0001_CALCULATE_TIME_DIFFERENCE`)。
162+
`あなたは何ができますか?` というプロンプトを打つとどんなことをできるのかを教えてくれる他、データベースオブジェクトを Oracle から検索して PostgreSQL のオブジェクトに変換を始めます(e.g.`PROCEDURE SCHEMA_SAMPLE.SCT_0001_CALCULATE_TIME_DIFFERENCE`)。
164163
格納されているオブジェクトリストは `object_list_all.ini` にあるので参考にしてください。
165164
結果は `./result/` 以下に出力されます。
166165
対話をやめたい場合は `quit` と入力すると終わります。
167166

168-
#### 1.2 DB Object を指定する場合
169-
以下コマンドを打つと指定した Oracle DB に格納されている DB Object を自動で探して PostgreSQL のオブジェクトに変換します。
167+
#### 1.2 データベースオブジェクトを指定する場合
168+
以下コマンドを打つと指定した Oracle DB に格納されているデータベースオブジェクトを自動で探して PostgreSQL のオブジェクトに変換します。
170169
格納されているオブジェクトリストは `object_list_all.ini` にあるので参考にしてください。
171170
チャット同様に結果は `./result/` 以下に出力されます。
172171

@@ -177,7 +176,7 @@ uv run main.py --prompt "PROCEDURE SCHEMA_SAMPLE.SCT_0001_CALCULATE_TIME_DIFFERE
177176

178177
#### 1.3 まとめて実行する場合
179178

180-
`./agent/object_list.ini` にある DB Object を対象に一括変換を試みます
179+
`./agent/object_list.ini` にあるデータベースオブジェクトを対象に一括変換を試みます
181180

182181
```bash
183182
cd ./agent/
@@ -198,7 +197,7 @@ uv run main.py --system-prompt custom_prompt.txt
198197
# 一括変換のオブジェクト一覧指定
199198
./run.sh -f custom_object_list.ini
200199

201-
# 自動リトライ & sleep
200+
# 自動リトライ&sleep
202201
uv run main.py --avoid-throttling
203202
./run.sh --avoid-throttling
204203

@@ -207,7 +206,7 @@ uv run main.py --avoid-throttling
207206

208207
```
209208

210-
### 5. (オプション)カスタム利用例
209+
## 5. (オプション)カスタム利用例
211210
コードの行数が長い場合や複雑なプロシージャの場合に、変換順序の調整やコードを分割してから変換することが有効であるため、その実行方法をみていきます。
212211
以下操作は `sample-sql-converter-agent-workshop` ディレクトリにいることを前提とします。
213212

@@ -217,7 +216,7 @@ cd ./agent/
217216
# OracleのDDLをまとめて取得
218217
./getDDL.sh object_list.ini
219218

220-
#並び替え
219+
# 並び替え
221220
uv run main.py --system-prompt sortObject.txt
222221
(起動後に以下を貼り付けてください。)
223222
./result
@@ -249,10 +248,10 @@ uv run main.py --prompt "../application/employee-mgmt/application employee-mgmt
249248
```
250249

251250
## Amazon Q Developer CLI をコーディングエージェントとして使う場合
252-
Oracle DB/PostgreSQL へのアクセスするツールは MCP サーバー化してあるため、Strands Agents を使わずに Amazon Q Developer CLI から同様のことを行うこともできます
253-
Amazon Q Developer CLI のインストール方法及びサブスクライブの方法については[install](https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/command-line-installing.html),[subscribe](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-admin-setup-subscribe-general.html)を参照してください。
251+
Oracle DB/PostgreSQLへのアクセスするツールはMCPサーバー化してあるため、Strands Agentsを使わずにAmazon Q Developer CLIから同様のことを行うこともできます
252+
Amazon Q Developer CLIのインストール方法及びサブスクライブの方法については[install](https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/command-line-installing.html),[subscribe](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-admin-setup-subscribe-general.html)を参照してください。
254253
リモートサーバーの場合はインストール済のためサブスクライブだけで済みます。
255-
ssh で繋いでトンネリングしたローカル環境で Amazon Q Developer CLI を実行する場合は`~/.aws/amazonq/``q-dev/mcp.json` をコピーしてください。リモートサーバーは設定済です。
254+
sshで繋いでトンネリングしたローカル環境でAmazon Q Developer CLIを実行する場合は`~/.aws/amazonq/``q-dev/mcp.json` をコピーしてください。リモートサーバーは設定済です。
256255

257256
### Q Developer の起動
258257
以下コマンドを実行してください。
@@ -262,7 +261,7 @@ cd q-dev
262261
q login
263262
# q login 実行後、表示される指示に従う
264263
q chat
265-
# q chat を打ち込むと対話できるようになるため、DB オブジェクトを入力することで変換作業を行うことができます。(e.g. PROCEDURE SCHEMA_SAMPLE.SCT_0001_CALCULATE_TIME_DIFFERENCE)
264+
# q chatを打ち込むと対話できるようになるため、データベースオブジェクトを入力することで変換作業を行うことができます。(e.g. PROCEDURE SCHEMA_SAMPLE.SCT_0001_CALCULATE_TIME_DIFFERENCE)
266265
```
267266

268267
### Q Developer のカスタマイズ
@@ -271,4 +270,4 @@ q chat
271270

272271
## 環境の削除
273272
`./destroy.sh` を実行してください。
274-
`./destroy.sh` を実行する際、DMSを使用していた場合は DMS を使用した環境でスキーマ変換ウィザードを Close してから `./destroy.sh` を実行してください。Close しないとエラーが発生して削除ができません
273+
`./destroy.sh` を実行する際、DMSを使用していた場合はDMSを使用した環境でスキーマ変換ウィザードをCloseしてから `./destroy.sh` を実行してください。Closeしないとエラーが発生して削除ができません

0 commit comments

Comments
 (0)