AS2 メッセージの HTTP ヘッダーをカスタマイズする - AWS Transfer Family

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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 ヘッダーテンプレートから入手できます。

仕組み

  1. Amazon API Gateway は、 から受信 AS2 メッセージを受信します AWS Transfer Family。

  2. リクエストは Lambda 関数に転送されます。

  3. Lambda 関数はリクエストを処理し、必要に応じてヘッダーを追加または変更します。

  4. その後、変更されたリクエストはパートナーの AS2 サーバーに転送されます。

  5. パートナーのサーバーからのレスポンスは、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: このパラメータは、テンプレートが作成するリソースに名前を付けるために使用されます。開発環境用か本番環境用かです。有効な値は devprod です。

  • PartnerHost: AS2 パートナーサーバーの IP アドレスまたはホスト名。

  • PartnerPort: AS2 パートナーサーバーのポート番号。指定しない場合、デフォルトは HTTP の場合は 80、HTTPS の場合は 443 です。

  • PartnerPath: パートナーサーバーの AS2 エンドポイントへのパス

  • ProtocolType: AS2 通信に使用するプロトコル: 有効な値は HTTPHTTPS です。

条件付きリソース

HTTPS サポートの場合、テンプレートは条件付きで以下を作成します。

  • CA 証明書用の Lambda レイヤー

  • Lambda 関数の HTTPS 固有の設定

デプロイと使用

CloudFormation テンプレートを使用して AS2 HTTP ヘッダーをカスタマイズするには
  1. https://console.aws.amazon.com/cloudformation で AWS CloudFormation コンソールを開きます。

  2. 左のナビゲーションペインで [Stacks] (スタック) をクリックします。

  3. [スタックの作成] を選択し、[With new resources (standard) 新しいリソースを使用 (標準)] を選択します。

  4. 「前提条件 - テンプレートを準備する」セクションで、「既存のテンプレートを選択する」を選択します。

  5. このリンク、動的 HTTP ヘッダーテンプレートをコピーし、Amazon S3 URL フィールドに貼り付けます。

  6. [次へ] を選択します。

  7. パラメータの詳細に情報を入力します。詳細については、「」を参照してくださいテンプレートパラメータ

  8. [次へ] を選択します。[スタックオプションの設定] ページで、[次へ] を選択します。

  9. 作成しようとするスタックの詳細を確認してから [スタックの作成] を選択します。

    注記

    ページの下部の「機能」で、 が AWS Identity and Access Management (IAM) リソースを作成する AWS CloudFormation 可能性があることを確認する必要があります。

この AWS CloudFormation スタックをデプロイした後:

  1. スタック出力で提供されている Amazon API Gateway エンドポイント URL を書き留めます。

  2. 既存の AWS Transfer Family Connector を更新して、この新しい Amazon API Gateway エンドポイントを使用します。

  3. このソリューションでは、AS2 メッセージを処理し、設定に従ってヘッダーを追加または変更します。

警告

サブジェクトヘッダーを変更するか、パートナーが明示的に期待するヘッダーのみを追加します。他のヘッダーを変更すると、転送が失敗する可能性があります。