決済アプリケーションで5MB程度の支払い情報JSONをアプリ層で暗号化してS3に保存している。データ1件ごとにKMS APIを直接呼び出しているが、トラフィック増加に伴いKMSコストの高騰とAPIスロットリングが発生している。アーキテクチャを大幅に変更せずコストとスロットリングを根本的に改善するには何をすべきか。
エンベロープ暗号化はKMSでDEK(データ暗号化キー)を生成・暗号化し、実際のデータはローカルのDEKで暗号化する方式。同一DEKを複数レコードに再利用することでKMS API呼び出し回数を大幅削減できる。