何を解決する構成か

AWS Machine Learning Blogが公開したのは、Amazon SageMaker AI MLflow AppsのUIを、自社で運用するカスタムポータルへ埋め込むための実装パターンだ。MLflowは機械学習の実験追跡やモデル管理に広く使われるが、SageMaker AI上ではそのUIが管理画面の中に置かれており、独自の社内ポータルへそのまま組み込むには認証の壁がある。

You walk through the architecture pattern behind a React front end paired with a Flask reverse proxy that handles AWS Signature Version 4 (SigV4) authentication
AWS Machine Learning Blog

この記事では、Reactで作ったフロントエンドと、Flask製のリバースプロキシを組み合わせ、プロキシ側でAWS Signature Version 4(SigV4)認証を処理する設計を解説する。認証署名をフロントエンドではなくサーバー側プロキシで肩代わりする点が要で、フロントに認証情報を露出させずにMLflow UIへアクセスできる。

デプロイと運用の落とし穴

スタック全体はAWS CDKでデプロイされる。フロントエンド、リバースプロキシ、認証層を一括でコード化して再現できるため、複数環境への展開や検証用環境の立ち上げが扱いやすくなる。記事はデプロイ後の検証手順、セキュリティ考慮事項、そして不要になったリソースのクリーンアップ手順までを順に示している。

実装に着手する読者がハマりやすいのは、SigV4署名の中継部分だ。プロキシが正しくリクエストに署名を付与しないとMLflowバックエンドが認証を拒否するため、プロキシの権限設定とリージョン・サービス名の署名スコープを最初に切り分けて確認する必要がある。またCDKでデプロイしたリソースを放置すると課金が継続するため、記事が明記するクリーンアップ手順を検証フェーズの段階で組み込んでおくことが、コスト面での備えになる。公開された具体的なコスト数値はないため、利用するフロント配信・プロキシ実行環境の料金は自環境で見積もる前提で進めるのが安全だ。