2. 【技術深掘り】AWS、KiroによるPHP→Java移行エンジンを公開
技術記事公開:10月29日|再利用可能な移行手法・実装例
Amazon Web Servicesが、AI開発環境Kiroを利用してPHPアプリケーションをJavaへ移行する技術ガイドを公開しました。
特徴は、AIにコードを一括変換させるのではなく、既存PHPの動作を仕様として扱い、Java版との振る舞いを比較することです。
共通の移行ルールと検証環境を構築することで、複数のアプリケーションに同じ移行手順を適用できます。
これはKiroの新モデル発表ではなく、10月29日に公開された新しい実装手法です。 公式出典
なぜ重要か
生成AIによるコード移行では、コンパイルが成功しても、既存システムと動作が異なる問題があります。
今回の方式は、変換結果をAIの判断だけに頼らず、既存システムとの動作比較で検証する点が重要です。
技術・実装ポイント
AWSが公開した移行手順は、準備段階を含めて次の構成です。
| フェーズ | 処理 |
|---|---|
| 0 | PHPコードの調査・構造解析 |
| 1 | PHPとJavaの動作比較環境を構築 |
| 2 | 移行ルールと差異一覧を作成 |
| 3 | 代表的なコードでルールを検証 |
| 4 | Spring Bootプロジェクト生成 |
| 5 | データモデルをJPAへ変換 |
| 6 | Controller、Security、入出力層を移行 |
| 7 | ビジネスロジックを変換 |
| 8 | 動作の同等性を検証して切り替え |
特に重要なのが、Parity Harness(動作同等性の検証基盤)です。
text既存PHPアプリ
↓
テスト入力
↓
PHPの実行結果 ─┐
├─ 差分比較
Javaの実行結果 ┘
↑
変換後JavaアプリPHPとJavaに同じ入力を与え、レスポンスの差異を検出します。
さらに、移行ルールに問題がある場合は、生成されたJavaコードを個別修正するのではなく、ルールを修正して再生成します。
API・料金・利用条件
開発環境: Kiro IDE、AWS Transform。
対象技術: Laravel Eloquent、DoctrineなどのORMを解析するサンプルを公開。
Java環境: 公開例ではJava 21、Spring Boot 3.4.1、Maven、H2を使用。
料金: Kiro Freeは月50クレジット。Proは月額20ドル、1,000クレジット。AWS Transformは別途利用条件を確認する必要があります。
制約: サンプルは限定されたアプリケーションを対象としています。任意のPHPシステムを完全自動でJavaへ移行できることを保証するものではありません。
公式情報:AWS公式技術ガイド / Kiro料金表