AWS B2B Data Interchange
取引先と交換する X12 EDI と JSON・XML を双方向に変換し、S3 への入出力から監視までをマネージド化する AWS B2B Data Interchange。
- X12 EDI と JSON・XML を双方向に変換する。
- S3 入出力を取引先別の機能と変換定義で結ぶ。
- 再処理の重複と業務上の照合は利用側で管理する。
解決する課題
- 取引先と交換する X12 EDI を JSON・XML に変換し、社内データから EDI も生成したい
- EDI のパース・変換ロジックを自前で実装・運用するのが負担で、専用ミドルウェアの保守も避けたい
- 取引先から届いたファイルの取り込み・変換・下流連携を一連の流れとして自動化したい
- EDI 連携を AWS のデータ基盤(S3 やイベント駆動の処理)へ素直につなぎ込みたい
主要概念と用語
- EDI(電子データ交換): 受発注・出荷・請求などの商取引文書を、企業間で定型フォーマットでやり取りする仕組み
- トランザクションセット: EDI 規格で定義される文書種別。受発注や請求書などが番号で識別される
- 取引先(トレーディングパートナー): 文書を交換する相手企業を表す設定。プロファイルと能力を関連付ける
- プロファイル: 自社や取引先の識別情報をまとめた設定
- トランスフォーマー: X12 と JSON・XML 間の方向、規格、マッピングを定義する。JSONata または XSLT を使う
- 機能(ケーパビリティ): 入力元と出力先、トランスフォーマーを結びつけ、文書処理の流れを定義する単位
- 入力 / 出力ロケーション: 取り込み元と書き出し先。一般に Amazon S3 を用いる
仕様・制限・クォータ
- X12 EDI → JSON・XML と JSON・XML → X12 EDI の双方向変換に対応する
- 入出力は Amazon S3 を中心に連携し、Transfer Family などで到着したファイルを処理できる
- 既定はプロファイル 5、機能 100、トランスフォーマー 500、パートナーシップ 700。多くは引き上げ可能
- EDI 入力は通常最大 150 MB。複数トランザクションを分割処理する場合は最大 5 GB、JSON・XML 出力は最大 512 MB
内部の仕組み
横にスクロール
B2B Data Interchange は、ユーザーが定義した機能(ケーパビリティ)に従って動作します。受信では S3 の X12 EDI を JSON・XML へ、送信では S3 の JSON・XML を X12 EDI へ変換します。機能には方向、文書種別、規格版、トランスフォーマー、入出力ロケーションを結び付けます。
構成は プロファイル・パートナーシップ・トランスフォーマー・機能に分かれます。これらを使わず、StartTransformerJob でトランスフォーマーを直接実行することもできます。複数トランザクションを含む受信 EDI は分割処理でき、パートナーシップの設定に応じて TA1 と 997 または 999 の確認応答も生成します。変換・分割・確認応答の結果は EventBridge のイベントで追跡できます。
ファイル間の順序や一度だけの処理は保証されません。S3 オブジェクトキーと X12 の管理番号を処理台帳に記録し、再実行を重複排除します。規格違反やマッピング失敗は隔離し、修正後に同じ業務文書を統制して再処理します。
このサービスの本質は「X12 EDI と JSON・XML を双方向に変換する」ことです。ファイルの授受や変換後の業務照合まで自動で完結するわけではありません。
設計パターン / ベストプラクティス
- 取引先から届いた EDI を S3 に集約し、変換した JSON・XML をアプリケーションの入力にする
- 社内の JSON・XML から EDI を生成し、Transfer Family などで取引先へ送る
- 変換結果の出力を契機に イベント駆動(S3 イベントや EventBridge)で後続処理を起動する
- 取引先ごとにプロファイルとトランスフォーマーを整理し、設定を散らさず再利用する
- 取り込みに失敗したファイルは隔離用の保管場所へ退避し、再処理できるようにする
- 取引先の追加・変更が見込まれる場合は、機能の構成を疎結合に保ち変更を局所化する
運用・監視
- 各機能の処理結果で、取り込み・変換の成功 / 失敗や対象ファイルを確認する
- 実行イベントは CloudWatch や CloudTrail と連携して監視・監査できる
- 失敗時は EDI の規格不一致・必須項目の欠落・トランスフォーマーの定義ずれを確認する
- S3 の入出力先の権限設定が正しいか、取り込みが滞っていないかを点検する
コスト
- 課金は主に稼働中のパートナーシップ数と変換ステップ数に基づく。S3 などは別料金
- EDI 専用ミドルウェアの導入・保守や、自作パーサの運用と比べ、運用負荷を含めた総コストで評価する
- 不要なファイルを取り込み対象に含めないよう、入力先の構成を整理して処理量の増加を抑える
- 具体的な料金は変動するため、見積もりは公式の料金ページで確認する
セキュリティ
- 入出力に用いる Amazon S3 側で保存時の暗号化(KMS など)を構成できる
- サービスや取引先設定へのアクセスは IAM で制御し、最小権限で運用する
- 取引先ごとの識別情報をプロファイルとして整理し、設定の取り違えを防ぐ
- 入力 / 出力バケットのバケットポリシーを見直し、想定外の読み書きを防ぐ
関連サービス・比較
EDI のファイル授受そのものは AWS Transfer Family(SFTP などのファイル転送)が担い、B2B Data Interchange は受け取った EDI の変換を担当します。両者は組み合わせて使うことが多く、役割が異なります。
| 観点 | B2B Data Interchange | Transfer Family |
|---|---|---|
| 主目的 | EDI 文書の変換 | ファイルの転送・授受 |
| 扱う対象 | X12 と JSON・XML の双方向変換 | SFTP など経由のファイル |
| 役割 | 取り込み後の変換と連携 | 取引先とのファイル送受信 |
| 連携 | 両者を組み合わせて使える | 両者を組み合わせて使える |
ハンズオン / CLI例
# 定義済みのトランスフォーマー一覧を確認する
aws b2bi list-transformers
# 取引先(パートナーシップ)の一覧を確認する
aws b2bi list-partnerships
# サンプルの EDI 入力に対しトランスフォーマーの変換結果を試す
aws b2bi test-mapping \
--input-file-content file://sample-edi.txt \
--mapping-template "$(cat mapping.json)" \
--file-format JSON
AWS Service
AWS B2B Data Interchangeを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
アプリ統合
比較で見る軸
クラウド: AWS / カテゴリ: アプリ統合 / 難易度: intermediate
導入後に効く点
S3 入出力を取引先別の機能と変換定義で結ぶ。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- AWS
- カテゴリ
- アプリ統合
- 難易度
- intermediate
- 関連資格
- DEA-C01 / SAA-C03
- 設計柱
- operational / reliability / security
判断チェックリスト
- 自社の用途が「アプリ統合 / operational」に近いか確認する。
- 強みである「X12 EDI と JSON・XML を双方向に変換する。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。