AWS Payment Cryptography 入門 — 決済用鍵を作成し、KMS との設計思想の違いを体験する
Java SDK で 4 種類の決済用暗号鍵を作成・使用し、用途外操作のエラーから TR-31 KeyUsage による用途分離を体験する。KMS に慣れた開発者が最初に戸惑うポイントを整理。
技術に関するメモや学びを記録するブログです。

田原 慎也
ソリューションアーキテクト @ AWS
AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援をしており、クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。
Java SDK で 4 種類の決済用暗号鍵を作成・使用し、用途外操作のエラーから TR-31 KeyUsage による用途分離を体験する。KMS に慣れた開発者が最初に戸惑うポイントを整理。
Aurora PostgreSQL のフェイルオーバーと Blue/Green Switchover のダウンタイムを実測比較。フェイルオーバーは12回の接続失敗(2回に分離)、Blue/Green Switchover は約26秒・6回の接続失敗。DNS TTL 60秒の影響も検証した。
AnthropicやOpenAIの既存フレームワークを踏まえ、ソフトウェア開発チームに特化したAIコーディング成熟度モデルを定義する。5段階の各レベルで何が変わり、何を整備すべきかを示す。
Strands Agents SDK の Python Quickstart を実際に動かし、エージェントループ・カスタムツール・メトリクスの仕組みをコード付きで解説する。わずか数十行で動くエージェントの手軽さと設計思想が見えてくる。
Strands Agents SDK に組み込まれた OpenTelemetry サポートを有効化し、エージェントの推論・ツール呼び出しをトレースとして Jaeger で可視化する。エージェントコードの変更は 2 行だけ。
AgentCore CLI(Node.js)を使い、agentcore create + deploy の 2 コマンドで Strands エージェントを Bedrock AgentCore にデプロイする。セッション分離による会話継続も検証する。
Strands Agents SDK の公式 Lambda Layer を使い、ハンドラー関数を書くだけでサーバーレスエージェントをデプロイする。コールドスタートとウォームスタートの実測値も共有する。
Strands Agents SDK のエージェントを FastAPI でラップして HTTP API 化し、Docker コンテナとしてパッケージングする。async def のハングや SSO 認証の問題など、実際に遭遇したハマりポイントも共有する。
DynamoDB連携の家計簿MCPサーバーでStateful MCPの3機能を検証。Elicitationのdecline/cancel時のデータ整合性とSampling失敗時のフォールバック挙動を実測し、実戦投入に必要な判断材料を示す。
~/.aws をマウントしても SSO トークンの解決に失敗する。boto3 から一時認証情報を取得して環境変数で渡す方法が確実。
Strands Agents SDK の agent() はブロッキング呼び出しなので、FastAPI の async def エンドポイント内で呼ぶとイベントループがブロックされてリクエストがハングする。def に変えれば解決する。
Strands Agents SDK の Graph でサイクル(フィードバックループ)を含む場合、build() の自動エントリポイント検出が失敗して ValueError が発生する。set_entry_point で明示的に指定する必要がある。
Strands Agents SDK の Graph で result.execution_time が 0ms を返す。ノードごとの execution_time は正しく記録されるので、合計値を自分で計算する必要がある。
Strands Agents SDK の Swarm でハンドオフしたエージェントの result にテキストブロックがない。handoff_to_agent ツール呼び出しで終了するため。最終出力はハンドオフしなかったエージェントが生成する。