AS2 메시지 전송 및 수신 - AWS Transfer Family

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AS2 메시지 전송 및 수신

이 섹션에서는 AS2 메시지를 보내고 받는 프로세스를 설명합니다. 또한 AS2 메시지와 연결된 파일 이름 및 위치에 대한 세부 정보도 제공합니다.

다음 표에는 AS2 메시지에 사용할 수 있는 암호화 알고리즘과 이를 사용할 수 있는 시기가 나와 있습니다.

암호화 알고리즘 HTTP HTTPS 참고
AES128_CBC Yes Yes
AES192_CBC Yes Yes
AES256_CBC Yes Yes
DES_EDE3_CBC Yes Yes Only use this algorithm if you must support a legacy client that requires it, as it is a weak encryption algorithm.
NONE No Yes If you are sending messages to a Transfer Family server, you can only select NONE if you are using an Application Load Balancer (ALB).

AS2 메시지 프로세스 수신

인바운드 프로세스는 AWS Transfer Family 서버로 전송되는 메시지 또는 파일로 정의됩니다. 인바운드 메시지의 순서는 다음과 같습니다.

  1. 관리자 또는 자동 프로세스는 파트너의 원격 AS2 서버에서 AS2 파일 전송을 시작합니다.

  2. 파트너의 원격 AS2 서버가 파일 내용에 서명하고 암호화한 다음 Transfer Family에서 호스팅되는 AS2 인바운드 엔드포인트에 HTTP POST 요청을 보냅니다.

  3. Transfer Family는 서버, 파트너, 인증서 및 계약에 대해 구성된 값을 사용하여 AS2 페이로드를 복호화하고 확인합니다. 파일 콘텐츠는 구성된 Amazon S3 파일 스토어에 저장됩니다.

  4. 서명된 MDN 응답은 HTTP 응답과 함께 인라인으로 반환되거나 별도의 HTTP POST 요청을 통해 비동기적으로 소스 서버로 반환됩니다.

  5. 감사 추적은 거래소에 대한 세부 정보와 함께 Amazon CloudWatch에 작성됩니다.

  6. 암호가 복호화된 파일은 inbox/processed라는 폴더에서 사용할 수 있습니다.

인바운드 메시지의 처리 순서를 보여 주는 다이어그램.

HTTPS를 통한 AS2 메시지 전송 및 수신

이 섹션에서는 AS2 프로토콜을 사용하여 HTTPS를 통해 메시지를 보내고 받는 Transfer Family 서버를 구성하는 방법에 대해 설명합니다.

HTTPS를 통해 AS2 메시지를 보냅니다.

HTTPS를 사용하여 AS2 메시지를 보내려면 다음 정보가 포함된 커넥터를 만드세요.

  • URL의 경우 HTTPS URL을 지정하세요.

  • 암호화 알고리즘에서 사용 가능한 알고리즘을 선택합니다.

    참고

    암호화를 사용하지 않고 Transfer Family 서버로 메시지를 보내려면(즉, 암호화 알고리즘NONE으로 선택) Application Load Balancer(ALB)를 사용해야 합니다.

  • AS2 커넥터 구성에 설명된 대로 커넥터의 나머지 값을 입력합니다.

HTTPS를 통해 AS2 메시지를 받습니다.

AWS Transfer Family AS2 서버는 현재 포트 5080을 통한 HTTP 전송만 제공합니다. 그러나 선택한 포트와 인증서를 사용하여 Transfer Family 서버 VPC 엔드포인트 앞에 있는 네트워크 또는 애플리케이션 로드 밸런서에서 TLS를 종료할 수 있습니다. 이 방법을 사용하면 들어오는 AS2 메시지가 HTTPS를 사용하도록 할 수 있습니다.

사전 조건

  • VPC는 Transfer Family 서버 AWS 리전 와 동일한에 있어야 합니다.

  • VPC의 서브넷은 서버를 사용하려는 가용 영역 내에 있어야 합니다.

    참고

    각 Transfer Family 서버는 최대 3개의 가용 영역을 지원할 수 있습니다.

  • 서버와 동일한 지역에 엘라스틱 IP 주소를 최대 3개까지 할당하세요. 또는 고유한 IP 주소 범위 (BYOIP) 를 가져오도록 선택할 수 있습니다.

    참고

    엘라스틱 IP 주소 수는 서버 엔드포인트에서 사용하는 가용 영역 수와 일치해야 합니다.

Network Load Balance(NLB) 또는 Application Load Balancer(ALB)를 구성할 수 있습니다. 다음 표에는 각 접근 방식에 대한 장단점이 나열되어 있습니다.

아래 표에는 NLB와 ALB를 사용하여 TLS를 종료할 때의 기능 차이점이 나와 있습니다.

Feature Network Load Balancer(NLB) Application Load Balancer(ALB)
지연 시간 네트워크 계층에서 작동할 때 지연 시간이 줄어듭니다. 애플리케이션 계층에서 작동할 때 지연 시간이 더 깁니다.
고정 IP 지원 정적일 수 있는 탄력적 IP 주소를 연결할 수 있습니다. 탄력적 IP 주소를 연결할 수 없음:는 기본 IP 주소가 변경될 수 있는 도메인을 제공합니다.
고급 라우팅 고급 라우팅을 지원하지 않습니다.

고급 라우팅을 지원합니다. 암호화 없이 AS2에 필요한 X-Forwarded-Proto 헤더를 주입할 수 있습니다.

이 헤더는 developer.mozilla.org 웹 사이트의 X-Forwarded-Proto에 설명되어 있습니다.

TLS/SSL 종료 TLS/SSL 종료 지원 TLS/SSL 종료 지원
상호 TLS(mTLS) Transfer Family는 현재 mTLS용 NLB 사용을 지원하지 않습니다. mTLS 지원
Configure NLB

이 절차에서는 VPC에서 인터넷 경계 Network Load Balancer(NLB)를 설정하는 방법을 설명합니다.

Network Load Balancer를 생성하고 서버의 VPC 엔드포인트를 로드 밸런서의 대상으로 정의하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon Elastic Compute Cloud 콘솔을 엽니다.

  2. 탐색 창에서, 로드 밸런서를 선택한 다음, 로드 밸런서 만들기를 선택합니다.

  3. Network Load Balancer에서 [생성(Create)]을 선택합니다.

  4. 기본 구성 섹션에서 다음 정보를 입력합니다.

    • 이름에 로드 밸런서를 설명하는 이름을 입력합니다.

    • 체계에서 인터넷 연결 을 선택합니다.

    • IP 주소 타입에서 Ipv4를 선택합니다.

  5. 네트워크 맵핑 섹션에서 다음 정보를 입력합니다.

    • VPC의 경우 생성한 Virtual Private Cloud(VPC)를 선택합니다.

    • 매핑아래에서 서버 엔드포인트에서 사용하는 것과 동일한 VPC에서 사용할 수 있는 퍼블릭 서브넷과 연결된 가용 영역을 선택합니다.

    • 각 서브넷의 IPv4 주소에 대해 할당한 탄력적 IP 주소 중 하나를 선택합니다.

  6. 리스너 및 라우팅 섹션에서 다음 정보를 입력합니다.

    • 프로토콜에서 TCP를 선택합니다.

    • 포트에서 5080를 입력합니다.

    • 기본 작업, 대상 그룹 생성을 선택합니다. 새 대상 그룹을 만드는 세부 사항에 대한 자세한 내용은 대상 그룹 생성을 참조하세요.

    대상 그룹을 생성한 후 기본 작업 필드에 해당 이름을 입력합니다.

  7. 보안 리스너 설정 섹션에서 기본 SSL/TLS 인증서 영역에서 인증서를 선택합니다.

  8. 로드밸런서 만들기를 선택해서 사용자의 NLB를 생성합니다.

  9. (옵션이지만 권장됨)Network Load Balancer의 액세스 로그에 설명된 대로 Network Load Balancer의 액세스 로그를 켜서 전체 감사 추적을 유지하세요.

    NLB에서 TLS 연결이 종료되므로 이 단계를 사용하는 것이 좋습니다. 따라서 Transfer Family AS2 CloudWatch 로그 그룹에 반영되는 소스 IP 주소는 거래 파트너의 외부 IP 주소가 아니라 NLB의 사설 IP 주소입니다.

Configure ALB

이 절차에서는 VPC에서 Application Load Balancer(ALB)를 설정하는 방법을 설명합니다.

Application Load Balancer를 생성하고 서버의 VPC 엔드포인트를 로드 밸런서의 대상으로 정의하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon Elastic Compute Cloud 콘솔을 엽니다.

  2. 탐색 창에서, 로드 밸런서를 선택한 다음, 로드 밸런서 만들기를 선택합니다.

  3. Application Load Balancer 아래에서 생성(Create)을 선택합니다.

  4. ALB 콘솔에서 포트 443(HTTPS)에 새 HTTP 리스너를 생성합니다.

  5. (선택 사항). 상호 인증(mTLS)을 설정하려면 보안 설정과 트러스트 스토어를 구성합니다.

    1. SSL/TLS 인증서를 리스너에 연결합니다.

    2. 클라이언트 인증서 처리에서 상호 인증(mTLS)을 선택합니다.

    3. 트러스트 스토어로 확인을 선택합니다.

    4. 고급 mTLS 설정에서 CA 인증서를 업로드하여 트러스트 스토어를 선택하거나 생성합니다.

  6. 새 대상 그룹을 생성하고 Transfer Family AS2 서버 엔드포인트의 프라이빗 IP 주소를 포트 5080의 대상으로 추가합니다. 새 대상 그룹을 만드는 세부 사항에 대한 자세한 내용은 대상 그룹 생성을 참조하세요.

  7. 포트 5080에서 HTTP 프로토콜을 사용하도록 대상 그룹에 대한 상태 확인을 구성합니다.

  8. 리스너에서 대상 그룹으로 HTTPS 트래픽을 전달하는 새 규칙을 생성합니다.

  9. SSL/TLS 인증서를 사용하도록 리스너를 구성합니다.

로드 밸런서를 설정하고 나면 클라이언트는 사용자 지정 포트 리스너를 통해 로드 밸런서와 통신합니다. 그러면 로드 밸런서가 포트 5080을 통해 서버와 통신합니다.

대상 그룹 생성
  1. 이전 절차에서 대상 그룹 만들기를 선택하면 새 대상 그룹에 대한 그룹 세부 정보 지정 페이지로 이동합니다.

  2. 기본 구성 섹션에서, 다음 정보를 입력합니다.

    • 대상 타입 선택에서 IP 주소를 선택합니다.

    • 대상 그룹 이름에 대상 그룹의 이름을 입력합니다.

    • 프로토콜의 경우 선택은 ALB를 사용하는지 NLB를 사용하는지에 따라 달라집니다.

      • Network Load Balancer(NLB)의 경우 TCP를 선택합니다.

      • Application Load Balancer(ALB)의 경우 HTTP를 선택합니다.

    • 포트에서 5080를 입력합니다.

    • IP 주소 타입에서 Ipv4를 선택합니다.

    • VPC 에서 Transfer Family AS2 서버용으로 생성한 VPC를 선택합니다.

  3. 상태 확인 섹션에서 상태 확인 프로토콜을 선택합니다.

    • ALB의 경우 HTTP를 선택합니다.

    • NLB의 경우 TCP를 선택합니다.

  4. 다음을 선택합니다.

  5. 대상 등록 페이지에서 다음 정보를 입력합니다.

    • 네트워크의 경우, Transfer Family AS2 서버용으로 만든 VPC가 지정되었는지 확인합니다.

    • IPv4 주소에 Transfer Family AS2 서버 엔드포인트의 프라이빗 IPv4 주소를 입력합니다.

      서버에 엔드포인트가 두 개 이상 있는 경우, IPv4 주소 추가를 선택하여 다른 IPv4 주소를 입력하는 행을 하나 더 추가합니다. 모든 서버 엔드포인트의 사설 IP 주소를 입력할 때까지 이 프로세스를 반복합니다.

    • Ports5080로 설정되어 있는지 확인하세요.

    • 아래 보류 중인 항목으로 포함을 선택하여 항목을 대상 검토 섹션에 추가하세요.

  6. 대상 검토 섹션에서 IP 대상을 검토하세요.

  7. 대상 그룹 생성을 선택한 다음 이전 NLB 생성 절차로 돌아가 표시된 위치에 새 대상 그룹을 입력합니다.

탄력적 IP 주소에서 서버 액세스 테스트

Network Load Balancer의 엘라스틱 IP 주소 또는 DNS 이름을 사용하여 사용자 지정 포트를 통해 서버에 연결합니다.

중요

로드 밸런서에 구성된 서브넷의 네트워크 액세스 제어 목록(네트워크 ACL)를 사용하여 클라이언트 IP 주소를 통한 서버 액세스를 관리합니다. 네트워크 ACL 권한은 서브넷 수준에서 설정되므로 해당 서브넷을 사용하는 모든 리소스에 규칙이 적용됩니다. 로드 밸런서의 대상 타입이 인스턴스가 아닌IP 주소 로 설정되어 있기 때문에 보안 그룹을 사용하여 클라이언트 IP 주소에서의액세스를 제어할 수 없습니다. 따라서 로드 밸런서는 원본 IP 주소를 보존하지 않습니다. Network Load Balancer의 상태 확인이 실패하면 로드 밸런서가 서버 엔드포인트에 연결할 수 없다는 의미입니다. 이 문제를 해결하려면 다음을 확인 하세요.

  • 서버 엔드포인트의 관련 보안 그룹이 로드 밸런서에 구성된 서브넷으로부터의 인바운드 연결을 허용하는지 확인하세요. 로드 밸런서는 포트 5080을 통해 서버 엔드포인트에 연결할 수 있어야 합니다.

  • 서버 상태온라인인지 확인합니다.

AS2 커넥터를 사용하여 파일 전송

AS2 커넥터는 Transfer Family 서버에서 파트너 소유의 외부 대상으로 AS2 메시지를 전송하기 위해 거래 파트너들 사이의 관계를 설정합니다.

Transfer Family를 사용하여 다음 start-file-transfer AWS Command Line Interface (AWS CLI) 명령과 같이 커넥터 ID와 파일 경로를 참조하여 AS2 메시지를 보낼 수 있습니다.

aws transfer start-file-transfer --connector-id c-1234567890abcdef0 \ --send-file-paths "/amzn-s3-demo-source-bucket/myfile1.txt" "/amzn-s3-demo-source-bucket/myfile2.txt"

커넥터의 세부 정보를 가져오려면 다음 명령을 실행합니다.

aws transfer list-connectors

list-connectors 명령은 커넥터의 커넥터 ID, URL 및 Amazon 리소스 이름(ARN)을 반환합니다.

특정 커넥터의 속성을 반환하려면 사용하려는 ID로 다음 명령을 실행합니다.

aws transfer describe-connector --connector-id your-connector-id

describe-connector 명령은 커넥터의 URL, 역할, 프로필, mDNS (메시지 처리 알림), 태그 및 모니터링 메트릭을 포함하여 커넥터의 모든 속성을 반환합니다.

JSON 및 MDN 파일을 보면 파트너가 파일을 성공적으로 수신했는지 확인할 수 있습니다. 이러한 파일 이름은 파일 이름 및 위치에 설명된 규칙에 따라 지정됩니다. 커넥터를 생성할 때 로깅 역할을 구성한 경우, CloudWatch 로그에서 AS2 메시지 상태를 확인할 수도 있습니다.

AS2 커넥터 세부 정보를 보려면 AS2 커넥터 세부 정보 보기 섹션을 참조하세요. AS2 생성에 대한 자세한 설명은 AS2 커넥터 구성 섹션을 참조하세요.

AS2 아웃바운드 메시지를 보내려면

아웃바운드 프로세스는에서 AWS 외부 클라이언트 또는 서비스로 전송되는 메시지 또는 파일로 정의됩니다. 아웃바운드 메시지의 순서는 다음과 같습니다.

  1. 관리자가 start-file-transfer AWS Command Line Interface (AWS CLI) 명령 또는 StartFileTransfer API 작업을 호출합니다. 이 작업은 connector 구성을 참조합니다.

  2. Transfer Family는 새 파일 요청을 감지하고 파일을 찾습니다. 파일은 압축, 서명 및 암호화됩니다.

  3. 전송 HTTP 클라이언트는 HTTP POST 요청을 수행하여 페이로드를 파트너의 AS2 서버로 전송합니다.

  4. 프로세스는 HTTP 응답(동기 MDN)과 함께 서명된 MDN 응답을 반환합니다.

  5. 파일이 여러 전송 단계 사이를 이동할 때 프로세스는 MDN 응답 수신 및 처리 세부 정보를 고객에게 전달합니다.

  6. 원격 AS2 서버는 복호화되고 검증된 파일을 파트너 관리자가 사용할 수 있도록 합니다.

아웃바운드 메시지의 처리 순서를 보여주는 다이어그램.

AS2 처리는 일반적인 사용 사례 및 기존 AS2 지원 서버 구현과의 통합에 중점을 두고 많은 RFC 4130 프로토콜을 지원합니다. 지원되는 구성에 대한 자세한 설명은 AS2 구성 섹션을 참조하세요.

파일 이름 및 위치

이 섹션에서는 AS2 전송에 대한 파일 이름 지정 규칙에 대해 설명합니다.

인바운드 파일 전송에 대해 다음 사항을 참조하세요.

  • 계약서에 기본 디렉터리를 지정합니다. 기본 디렉터리는 접두사(있는 경우)와 결합된 Amazon S3 버킷 이름입니다. 예를 들어 /amzn-s3-demo-bucket/AS2-folder입니다.

  • 수신 파일이 성공적으로 처리되면 파일(및 해당 JSON 파일)이 /processed 폴더에 저장됩니다. 예를 들어 /amzn-s3-demo-bucket/AS2-folder/processed입니다.

    JSON 파일에는 다음과 같은 필드가 포함되어 있습니다.

    • agreement-id

    • as2-from

    • as2-to

    • as2-message-id

    • transfer-id

    • client-ip

    • connector-id

    • failure-message

    • file-path

    • message-subject

    • mdn-message-id

    • mdn-subject

    • requester-file-name

    • requester-content-type

    • server-id

    • status-code

    • failure-code

    • transfer-size

  • 들어오는 파일을 제대로 처리할 수 없는 경우 파일(및 해당 JSON 파일)이 /failed 폴더에 저장됩니다. 예를 들어 /amzn-s3-demo-bucket/AS2-folder/failed입니다.

  • 전송된 파일은 processed 폴더에 original_filename.messageId.original_extension로 저장됩니다. 즉, 전송 메시지 ID가 파일 이름에 원래 확장명 앞에 추가됩니다.

  • JSON 파일이 생성되고 original_filename.messageId.original_extension.json로 저장됩니다. 메시지 ID가 추가될 뿐 아니라 전송된 파일 이름에도 문자열 .json이 추가됩니다.

  • 메시지 처리 알림(MDN) 파일이 생성되어 original_filename.messageId.original_extension.mdn로 저장됩니다. 메시지 ID가 추가될 뿐 아니라 전송된 파일 이름에도 문자열 .mdn이 추가됩니다.

  • ExampleFileInS3Payload.dat라는 인바운드 파일이 있는 경우 다음 파일이 생성됩니다.

    • FileExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat

    • JSONExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.json

    • MDNExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.mdn

아웃바운드 전송의 경우 받는 메시지 파일이 없다는 점을 제외하면 이름이 비슷하며 전송된 메시지의 전송 ID가 파일 이름에 추가된다는 차이점이 있습니다. 전송 ID는 StartFileTransfer API 작업(또는 다른 프로세스나 스크립트가 이 작업을 호출할 때)에 의해 반환됩니다.

  • transfer-id는 파일 전송과 관련된 식별자입니다. StartFileTransfer 호출에 포함된 모든 요청은 transfer-id를 공유합니다.

  • 기본 디렉터리는 소스 파일에 사용하는 경로와 동일합니다. 즉, 기본 디렉터리는 StartFileTransfer API 작업 또는 start-file-transfer AWS CLI 명령에서 지정하는 경로입니다. 예:

    aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-bucket/AS2-folder/file-to-send.txt

    이 명령을 실행하면 MDN 및 JSON 파일이 /amzn-s3-demo-bucket/AS2-folder/processed(전송 성공 시) 또는 /amzn-s3-demo-bucket/AS2-folder/failed(전송 실패 시)에 저장됩니다.

  • JSON 파일이 생성되고 original_filename.transferId.messageId.original_extension.json로 저장됩니다.

  • MDN 파일이 생성되고 original_filename.transferId.messageId.original_extension.mdn로 저장됩니다.

  • ExampleFileOutTestOutboundSyncMdn.dat라는 아웃바운드 파일이 있는 경우 다음 파일이 생성됩니다:

    • JSONExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.json

    • MDNExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.mdn

또한 CloudWatch 로그를 확인하여 실패한 전송을 포함한 전송의 세부 정보를 볼 수 있습니다.

상태 코드

다음 표에는 사용자 또는 파트너가 AS2 메시지를 보낼 때 CloudWatch 로그에 로깅할 수 있는 모든 상태 코드가 나열되어 있습니다. 다양한 메시지 처리 단계는 다양한 메시지 유형에 적용되며 모니터링 전용입니다. COMPLETED 및 FAILED 상태는 처리의 마지막 단계를 나타내며 JSON 파일에 표시됩니다.

코드 설명 처리가 완료되었나요?
처리 메시지가 최종 형식으로 변환되는 중입니다. 예를 들어 압축 해제 및 복호화 단계 모두이 상태입니다. 아니요
MDN_TRANSMIT 메시지 처리가 MDN 응답을 보내고 있습니다. 아니요
MDN_RECEIVE 메시지 처리가 MDN 응답을 수신하고 있습니다. 아니요
COMPLETED 메시지 처리가 성공적으로 완료되었습니다. 이 상태에는 인바운드 메시지 또는 아웃바운드 메시지의 MDN 확인을 위해 MDN이 전송되는 경우가 포함됩니다.
FAILED 메시지 처리에 실패했습니다. 오류 코드 목록은 섹션을 참조하세요AS2 오류 코드.

샘플 JSON 파일

이 섹션에는 성공적인 전송과 실패한 전송을 위한 샘플 파일을 포함하여 인바운드 및 아웃바운드 전송에 대한 샘플 JSON 파일이 나열되어 있습니다.

성공적으로 전송된 샘플 아웃바운드 파일:

{ "requester-content-type": "application/octet-stream", "message-subject": "File xyzTest from MyCompany_OID to partner YourCompany", "requester-file-name": "TestOutboundSyncMdn-9lmCr79hV.dat", "as2-from": "MyCompany_OID", "connector-id": "c-c21c63ceaaf34d99b", "status-code": "COMPLETED", "disposition": "automatic-action/MDN-sent-automatically; processed", "transfer-size": 3198, "mdn-message-id": "OPENAS2-11072022063009+0000-df865189-1450-435b-9b8d-d8bc0cee97fd@PartnerA_OID_MyCompany_OID", "mdn-subject": "Message be18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa has been accepted", "as2-to": "PartnerA_OID", "transfer-id": "dedf4601-4e90-4043-b16b-579af35e0d83", "file-path": "/amzn-s3-demo-bucket/as2testcell0000/openAs2/TestOutboundSyncMdn-9lmCr79hV.dat", "as2-message-id": "fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa", "timestamp": "2022-07-11T06:30:10.791274Z" }

전송에 실패한 샘플 아웃바운드 파일:

{ "failure-code": "HTTP_ERROR_RESPONSE_FROM_PARTNER", "status-code": "FAILED", "requester-content-type": "application/octet-stream", "subject": "Test run from Id da86e74d6e57464aae1a55b8596bad0a to partner 9f8474d7714e476e8a46ce8c93a48c6c", "transfer-size": 3198, "requester-file-name": "openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat", "as2-message-id": "9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598", "failure-message": "http://Test123456789.us-east-1.elb.amazonaws.com:10080 returned status 500 for message with ID 9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598", "transfer-id": "07bd3e07-a652-4cc6-9412-73ffdb97ab92", "connector-id": "c-056e15cc851f4b2e9", "file-path": "/amzn-s3-demo-bucket-4c1tq6ohjt9y/as2IntegCell0002/openAs2/openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat", "timestamp": "2022-07-11T21:17:24.802378Z" }

성공적으로 전송된 샘플 인바운드 파일:

{ "requester-content-type": "application/EDI-X12", "subject": "File openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat sent from MyCompany to PartnerA", "client-ip": "10.0.109.105", "requester-file-name": "openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat", "as2-from": "MyCompany_OID", "status-code": "COMPLETED", "disposition": "automatic-action/MDN-sent-automatically; processed", "transfer-size": 1050, "mdn-subject": "Message Disposition Notification", "as2-message-id": "OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID", "as2-to": "PartnerA_OID", "agreement-id": "a-f5c5cbea5f7741988", "file-path": "processed/openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID.dat", "server-id": "s-5f7422b04c2447ef9", "timestamp": "2022-07-11T23:36:36.105030Z" }

전송에 실패한 샘플 인바운드 파일:

{ "failure-code": "INVALID_REQUEST", "status-code": "FAILED", "subject": "Sending a request from InboundHttpClientTests", "client-ip": "10.0.117.27", "as2-message-id": "testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco", "as2-to": "0beff6af56c548f28b0e78841dce44f9", "failure-message": "Unsupported date format: 2022/123/456T", "agreement-id": "a-0ceec8ca0a3348d6a", "as2-from": "ab91a398aed0422d9dd1362710213880", "file-path": "failed/01187f15-523c-43ac-9fd6-51b5ad2b08f3.testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco", "server-id": "s-0582af12e44540b9b", "timestamp": "2022-07-11T06:30:03.662939Z" }