【AWS re:Invent 2024参加レポート】re:Inventで発表されたAmazon Q Developerの新機能を試してみた!

はじめに
生成AI研究チームのY.Iです。
今回のブログではAWS re:Invent 2024で発表されたAmazon Q Developerの新機能を実際に試してみたので、実施内容を公開します。
今回試行したのはメインフレームアプリケーションのモダナイゼーション機能です。

お試しということでまずは小さなCOBOLシステムのドキュメントを生成させてみます。
↓COBOLのソースはGithubで公開されているものから選びました。(約100本のCOBOLソース)
https://github.com/dscobol/Cobol-Projects/tree/release
以下は注意点です。
※Amazon Q Developerを利用するにはIAM Identity Centerを有効にし、ユーザを追加する必要があります。
※画面キャプチャはChromeの翻訳機能を使っているので実際の画面と異なる場合があります。
※Amazon Q Developerの新機能はバージニア北部リージョンでないと実行できません。
事前準備
・IAM Identity Centerを有効化しインスタンスを作成する。(組織インスタンスorアカウントインスタンス)
・作成したインスタンスにAmazon Q developer Proを使用するユーザとグループを作成する。
Amazon Q Developer Proサブスクリプションの作成
まずはIAM Identity Centerのユーザ(あるいはグループ)に対してAmazon Q Developer Proサブスクリプションを作成します。
Amazon Qのコンソール「はじめる」セクションからAmazon Q Developer Proをサブスクライブします。


IAM Identity Centerのユーザに対して割り当てをします。



これでユーザに対してAmazon Q Developer Proサブスクリプションが作成されました。

サブスクリプションセクションからも確認ができます。

Amazon Q Developer Proの設定変更
新機能を使用するにはAmazon Q Developerの設定を変更する必要があります。

変換設定を有効化する。

有効化するとアプリケーションURLが表示されます。

アプリケーションURLにアクセスすることでプレビューの変換機能を使うことができます。

Amazon Q Developer Proの変換機能を試してみる
「Ask Q to create a job」を押下し、ジョブを作成します。

Amazon Qがプレビュー機能の3つを提案してくるので今回の目的である「3」を指定します。
そうするとメインフレームの言語からJavaまで変換するジョブを提案してきます。

今回はドキュメント生成まで確認したいので、「generate documentation」と指示します。
そうするとドキュメント生成を目的としたジョブ内容を提案してくれるので「yes」と答えればジョブが作成できます。

ジョブを作成するとAmazon Q Developerがジョブプラン(画面左側)を提示してくれるので
ここからはそれに従って作業をしていくだけです。
「Required(必須)」のマークがついている作業を順番に行っていきます。

初めに「Connect to AWS account」で自分のAWSアカウントIDを入力します。

次に変換したいCOBOLソースなどのリソースを保存しているS3バケットのARNを指定しコネクタを作成します。

事前にS3に変換したいソースを保存しておきます。
※パブリックアクセスは全てブロック

コネクタの作成リクエスト後、確認リンクが提供されるのでリンクにアクセスします。

承認します。

Amazon Q Developer の画面に戻りAmazon Q に送信します。

実際にS3に保存しているリソースのパスを入力しAmazon Qに送信します。

コードの分析が開始されました!
作業ログのタブから進捗状況を確認できます。

ものの数分で分析が完了しました!
次のステップ「ドキュメントの生成」も行えますが、まずは分析結果をダウンロードリンクから確認してみます。

ダウンロードしたzipファイルを展開すると中には3つのファイルがありました。

assets.csvはS3に保存されているリソースの一覧でした。

dependencies. jsonは各プログラムの依存関係に関する情報がまとめられていました。

missing.csvは欠落しているファイルの一覧がまとめられていました。

それでは次のステップのドキュメント生成に進みます。
ドキュメントの詳細レベルを選択できます。(今回はデフォルトのSummaryを選択します。)
そしてS3に保存されているCOBOLファイルを選択してQに送信します。

数分でドキュメント生成が完了しました。
これで今回のジョブは終了となります。

最後に生成されたドキュメントを確認します。
指定したS3バケットに新たなフォルダが作成され、そこに生成されたドキュメントも保存されているようです。

zipファイルにまとめられているのでダウンロードして中身を確認します。

こちらがzipファイルの中身です。

CobolFilesフォルダの中身にはCOBOLソース1本ごとの設計書がありました。
1つのソースにつきpdfとxmlファイルがあります。

pdfの内容はプログラム名、目的、入出力など様々なセクションにわかれて説明されていて結構しっかりしてそうです。
内容が英語なので翻訳が手間ですがものの数分でここまで生成できるのはかなり便利だと思います。


CoverPage.pdfはシステム全体の概要と各プログラムの簡単な説明についてまとめられていました。

error_report.jsonはドキュメント生成できなかったファイルがまとめられていました。
(実際これらのCOBOLソースファイルを確認すると元々なにも書かれていないファイルだったため正常なアウトプットでした。)

以上で作業が終了しました!
COBOLの知識が無いため実際のアウトプットの評価ができていませんが、
割としっかりしたもののように思えます。
数分でここまでのアウトプットが出せるなんてかなり便利だと思います。
次のアクションでは実際にJavaまで変換を行ってみようかと思います!
是非皆さんも試してみてください。