翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AS2 メッセージの HTTP ヘッダーをカスタマイズする
AS2 メッセージを取引相手に送信するときは、特定の要件を満たすように HTTP ヘッダーをカスタマイズするか、パートナーの AS2 サーバー設定との互換性を強化する必要がある場合があります。この AWS CloudFormation テンプレートは、 を介して送信される AS2 メッセージ用にカスタマイズされた HTTP ヘッダーを有効にするインフラストラクチャを作成します AWS Transfer Family。プロキシとして機能するように Amazon API Gateway と Lambda 関数を設定し、取引パートナーの AS2 サーバーに必要なヘッダーを動的に変更できるようにします。
このテンプレートを使用して、以下を実行します。
-
アウトバウンド AS2 メッセージにカスタム HTTP ヘッダーを追加する
-
デフォルトのヘッダー値をカスタム値で上書きする
重要
送信に失敗する可能性があるため、デフォルトのヘッダー値を上書きするときは注意してください。一部の AS2 ヘッダーが必要です。
-
特定のヘッダー要件を持つ取引相手との互換性を確保する
テンプレートの概要
テンプレートは、次の主要コンポーネントを作成します。
-
AS2 メッセージを処理して転送する Lambda 関数
-
Lambda 関数を公開する Amazon API Gateway
-
Lambda 関数の IAM ロールとアクセス許可
-
HTTPS サポートの条件付きリソース
テンプレートファイルは、動的 HTTP ヘッダーテンプレート
仕組み
-
Amazon API Gateway は、 から受信 AS2 メッセージを受信します AWS Transfer Family。
-
リクエストは Lambda 関数に転送されます。
-
Lambda 関数はリクエストを処理し、必要に応じてヘッダーを追加または変更します。
-
その後、変更されたリクエストはパートナーの AS2 サーバーに転送されます。
-
パートナーのサーバーからのレスポンスは、Lambda と Amazon API Gateway を介して に返されます AWS Transfer Family。
主な機能
-
動的ヘッダー変更: サブジェクトヘッダーのカスタマイズと、その他の必須ヘッダーの追加を許可します。
-
プロトコルのサポート: HTTP プロトコルと HTTPS プロトコルの両方で動作します。
-
柔軟な設定: パートナーホスト、ポート、パスの指定を許可します。
実装の詳細
テンプレートは、次の主要コンポーネントを実装します。
Lambda 関数
このソリューションの中核となるのは、以下の Node.js Lambda 関数です。
-
Amazon API Gateway からリクエストを受信する
-
設定と受信リクエストデータに基づいてヘッダーを変更します
-
変更されたリクエストをパートナーの AS2 サーバーに転送します
-
HTTP プロトコルと HTTPS プロトコルの両方を処理します
-
エラー処理とログ記録を含む
Amazon API Gateway
HTTP API は次のように設定されます。
-
受信 AS2 メッセージを受信する
-
Lambda 関数にリクエストをルーティングする
-
レスポンスを に返す AWS Transfer Family
テンプレートパラメータ
次のようにテンプレートパラメータの情報を入力します。これらのパラメータはすべて文字列であることに注意してください。
-
Environment
: このパラメータは、テンプレートが作成するリソースに名前を付けるために使用されます。開発環境用か本番環境用かです。有効な値は dev と prod です。 -
PartnerHost
: AS2 パートナーサーバーの IP アドレスまたはホスト名。 -
PartnerPort
: AS2 パートナーサーバーのポート番号。指定しない場合、デフォルトは HTTP の場合は 80、HTTPS の場合は 443 です。 -
PartnerPath
: パートナーサーバーの AS2 エンドポイントへのパス -
ProtocolType
: AS2 通信に使用するプロトコル: 有効な値は HTTP と HTTPS です。
条件付きリソース
HTTPS サポートの場合、テンプレートは条件付きで以下を作成します。
-
CA 証明書用の Lambda レイヤー
-
Lambda 関数の HTTPS 固有の設定
デプロイと使用
CloudFormation テンプレートを使用して AS2 HTTP ヘッダーをカスタマイズするには
-
https://console.aws.amazon.com/cloudformation
で AWS CloudFormation コンソールを開きます。 -
左のナビゲーションペインで [Stacks] (スタック) をクリックします。
-
[スタックの作成] を選択し、[With new resources (standard) 新しいリソースを使用 (標準)] を選択します。
-
「前提条件 - テンプレートを準備する」セクションで、「既存のテンプレートを選択する」を選択します。
-
このリンク、動的 HTTP ヘッダーテンプレート
をコピーし、Amazon S3 URL フィールドに貼り付けます。 -
[次へ] を選択します。
-
パラメータの詳細に情報を入力します。詳細については、「」を参照してくださいテンプレートパラメータ。
-
[次へ] を選択します。[スタックオプションの設定] ページで、[次へ] を選択します。
-
作成しようとするスタックの詳細を確認してから [スタックの作成] を選択します。
注記
ページの下部の「機能」で、 が AWS Identity and Access Management (IAM) リソースを作成する AWS CloudFormation 可能性があることを確認する必要があります。
この AWS CloudFormation スタックをデプロイした後:
-
スタック出力で提供されている Amazon API Gateway エンドポイント URL を書き留めます。
-
既存の AWS Transfer Family Connector を更新して、この新しい Amazon API Gateway エンドポイントを使用します。
-
このソリューションでは、AS2 メッセージを処理し、設定に従ってヘッダーを追加または変更します。
警告
サブジェクトヘッダーを変更するか、パートナーが明示的に期待するヘッダーのみを追加します。他のヘッダーを変更すると、転送が失敗する可能性があります。