워크플로 문제 해결 - AWS Transfer Family

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

워크플로 문제 해결

이 섹션에서는 관리형 워크플로 관련 문제에 대해 가능한 해결 방법을 설명합니다.

관리형 워크플로 문제 해결

이 섹션에서는 다음 워크플로 문제에 대해 가능한 해결 방법을 설명합니다.

Amazon CloudWatch를 사용하여 워크플로 관련 오류를 해결합니다.

설명

워크플로에 문제가 있는 경우 Amazon CloudWatch를 사용하여 원인을 조사할 수 있습니다.

원인

원인은 여러 가지가 있을 수 있습니다. Amazon CloudWatch Logs를 사용하여 조사하세요.

솔루션

Transfer Family는 워크플로 실행 상태를 CloudWatch Logs에 내보냅니다. CloudWatch Logs에는 다음과 같은 타입의 워크플로 오류가 표시될 수 있습니다:

  • "type": "StepErrored"

  • "type": "ExecutionErrored"

  • "type": "ExecutionThrottled"

  • "Service failure on starting workflow"

다양한 필터 및 패턴 구문을 사용하여 워크플로의 실행 로그를 필터링할 수 있습니다. 예를 들어, CloudWatch 로그에 로그 필터를 생성하여 ExecutionErrored 메시지가 포함된 워크플로 실행 로그를 캡처할 수 있습니다. 자세한 내용은 Amazon CloudWatch 사용자 가이드에서 신청을 통한 로그 데이터의 실시간 처리필터 및 패턴 구문을 참조하세요.

StepErrored

2021-10-29T12:57:26.272-05:00 {"type":"StepErrored","details":{"errorType":"BAD_REQUEST","errorMessage":"Cannot tag Efs file","stepType":"TAG","stepName":"successful_tag_step"}, "workflowId":"w-abcdef01234567890","executionId":"1234abcd-56ef-78gh-90ij-1234klmno567", "transferDetails":{"serverId":"s-1234567890abcdef0","username":"lhr","sessionId":"1234567890abcdef0"}

여기서 StepErrored는 워크플로 내의 한 단계에서 오류가 발생했음을 나타냅니다. 단일 워크플로에서 여러 단계를 구성할 수 있습니다. 이 오류는 오류가 발생한 단계를 알려주고 오류 메시지를 제공합니다. 이 특정 예에서는 파일에 태그를 지정하도록 단계를 구성했지만 Amazon EFS 파일 시스템에서 파일에 태그를 지정하는 것은 지원되지 않으므로 단계에서 오류가 발생했습니다.

ExecutionErrored

2021-10-29T12:57:26.618-05:00 {"type":"ExecutionErrored","details":{},"workflowId":"w-w-abcdef01234567890", "executionId":"1234abcd-56ef-78gh-90ij-1234klmno567","transferDetails":{"serverId":"s-1234567890abcdef0", "username":"lhr","sessionId":"1234567890abcdef0"}}

워크플로에서 어떤 단계도 실행할 수 없는 경우 ExecutionErrored 메시지가 생성됩니다. 예를 들어, 특정 워크플로에서 단일 단계를 구성했는데 해당 단계를 실행할 수 없는 경우 전체 워크플로가 실패합니다.

Executionthrottled

시스템에서 지원할 수 있는 속도보다 빠른 속도로 워크플로가 트리거되면 실행이 제한됩니다. 이 로그 메시지는 워크플로의 실행 속도를 늦춰야 함을 나타냅니다. 워크플로 실행 속도를 스케일 다운할 수 없는 경우 연락처 AWS AWS Support 로 문의하세요.

워크플로 시작 시 서비스 실패

서버에서 워크플로를 제거하고 새 워크플로로 바꾸거나 워크플로의 실행 역할에 영향을 미치는 서버 구성을 업데이트할 때마다 새 워크플로를 실행하기 전에 약 10분을 기다려야 합니다. Transfer Family 서버는 워크플로 세부 정보를 캐시하며 서버가 캐시를 새로 고치는 데 10분이 걸립니다.

또한 활성 SFTP 세션에서 로그아웃한 다음 10분 대기 시간이 지난 후 다시 로그인해야 변경 사항을 확인할 수 있습니다.

워크플로 복사 오류 문제 해결

설명

업로드된 파일을 복사하는 단계가 포함된 워크플로를 실행하는 경우 다음 오류가 발생할 수 있습니다:

{ "type": "StepErrored", "details": { "errorType": "BAD_REQUEST", "errorMessage": "Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; Request ID: request-ID; S3 Extended Request ID: request-ID Proxy: null)", "stepType": "COPY", "stepName": "copy-step-name" }, "workflowId": "workflow-ID", "executionId": "execution-ID", "transferDetails": { "serverId": "server-ID", "username": "user-name", "sessionId": "session-ID" } }

원인

소스 파일이 대상 버킷과 다른에 있는 Amazon S3 버킷 AWS 리전 에 있습니다.

솔루션

복사 단계가 포함된 워크플로를 실행하는 경우, 소스 버킷과 목적지 버킷이 동일한 AWS 리전안에 있는지 확인하세요.

워크플로 복호화 문제 해결

이 섹션에서는 암호화된 워크플로와 관련된 다음 문제에 대해 가능한 해결 방법을 설명합니다.

익명 수신자 암호화 문제 해결

설명

복호화 워크플로는 암호화된 특정 파일을 처리할 때 실패하지만 다른 파일과 함께 작동합니다.

원인

수신자를 지정하지 않고 파일을 암호화했을 수 있으므로(익명 암호화) 워크플로에서 복호화에 사용할 키를 결정하기가 어렵습니다.

솔루션

-r 파라미터를 사용하여 항상 비익명 수신자로 파일을 암호화합니다. 예:

gpg -e -r user@example.com --openpgp file.txt

파일이 특정 수신자로 암호화되었는지 익명으로 암호화되었는지 확인하려면 --list-packets 명령을 사용합니다.

gpg --list-packets file.txt.gpg

이 명령은 GPG 암호화 파일의 패킷 구조를 복호화하지 않고 표시합니다. 다음과 같은 수신자 정보가 포함된 출력을 찾습니다.

:pubkey enc packet: version 3, algo 1, keyid 1A2B3C4D5E6F7G8H

키 ID 정보가 표시되면 파일이 특정 수신자에 대해 암호화되었습니다. 이 정보가 누락된 경우 파일이 익명으로 암호화되어 Transfer Family 워크플로에서 복호화 실패가 발생할 수 있습니다.

이 명령을 사용하여 다음을 확인할 수도 있습니다.

  • 사용된 암호화 알고리즘

  • 압축 방법(있는 경우)

  • 생성 타임스탬프

GPG 설치에 지원되는 암호 알고리즘 목록을 보려면 다음을 사용합니다.

gpg --version

이 정보는 특히 FIPS 규정 준수가 필요한 경우 Transfer Family 워크플로와 호환되는 암호화 알고리즘을 사용하는 데 도움이 될 수 있습니다.

서명된 암호화 파일의 오류 문제 해결

설명

복호화 워크플로가 실패하고 다음 오류가 발생합니다.

"Encrypted file with signed message unsupported"

원인

Transfer Family는 현재 암호화된 파일에 대한 서명을 지원하지 않습니다.

솔루션

PGP 클라이언트에서 암호화된 파일에 서명할 수 있는 옵션이 있는 경우 Transfer Family는 현재 암호화된 파일에 대한 서명을 지원하지 않으므로 선택을 취소해야 합니다.

FIPS 알고리즘의 오류 문제 해결

설명

복호화 워크플로가 실패하고 로그 메시지가 다음과 비슷합니다:

{ "type": "StepErrored", "details": { "errorType": "BAD_REQUEST", "errorMessage": "File encryption algorithm not supported with FIPS mode enabled.", "stepType": "DECRYPT", "stepName": "step-name" }, "workflowId": "workflow-ID", "executionId": "execution-ID", "transferDetails": { "serverId": "server-ID", "username": "user-name", "sessionId": "session-ID" } }

원인

Transfer Family 서버에는 FIPS 모드가 활성화되어 있으며 관련 복호화 워크플로 단계가 있습니다. Transfer Family 서버에 업로드하기 전에 파일을 암호화하는 경우 암호화 클라이언트는 FIPS에서 승인하지 않은 대칭 암호화 알고리즘을 사용하는 암호화된 파일을 생성할 수 있습니다. 이러한 시나리오에서는 워크플로에서 파일을 해독할 수 없습니다. 다음 예에서 GnuPG 버전 2.4.0은 OCB (비 FIPS 블록 암호 모드) 를 사용하여 파일을 암호화합니다: 이로 인해 워크플로가 실패합니다.

솔루션

파일을 암호화하는 데 사용한 GPG 키를 편집한 다음 다시 암호화해야 합니다. 다음 절차는 취해야 하는 단계를 설명합니다.

PGP 키를 편집하려면
  1. gpg ‐‐list-keys를 실행하여 편집해야 하는 키를 식별합니다.

    그러면 키 목록이 반환됩니다. 각 키에는 다음과 유사한 세부 정보가 있습니다.

    pub ed25519 2022-07-07 [SC] wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY uid [ultimate] Mary Major <marymajor@example.com> sub cv25519 2022-07-07 [E]
  2. 편집할 키를 식별합니다. 이전 단계에 표시된 예에서 ID는 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY입니다.

  3. gpg ‐‐edit-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY을(를) 실행합니다.

    시스템은 GnuPG 프로그램 및 지정된 키에 대한 세부 정보로 응답합니다.

  4. gpg> 프롬프트에서 showpref를 입력합니다. 다음과 같은 세부 정보가 반환됩니다:

    [ultimate] (1). Mary Major <marymajor@example.com> Cipher: AES256, AES192, AES, 3DES AEAD: OCB Digest: SHA512, SHA384, SHA256, SHA224, SHA1 Compression: ZLIB, BZIP2, ZIP, Uncompressed Features: MDC, AEAD, Keyserver no-modify

    참고로, 키에 저장된 선호 알고리즘이 나열되어 있습니다.

  5. OCB를 제외한 모든 알고리즘을 유지하도록 키를 편집하려고 합니다. setpref 명령을 실행하여 유지할 모든 알고리즘을 지정합니다:

    gpg> setpref AES256, AES192,AES,3DES,SHA512, SHA384, SHA256, SHA224, SHA1,ZLIB, BZIP2, ZIP, Uncompressed

    그러면 다음 세부 사항이 반환됩니다:

    Set preference list to: Cipher: AES256, AES192, AES, 3DES AEAD: Digest: SHA512, SHA384, SHA256, SHA224, SHA1 Compression: ZLIB, BZIP2, ZIP, Uncompressed Features: MDC, Keyserver no-modify Really update the preferences? (y/N)
  6. y를 입력하여 업데이트한 다음, 변경을 확인하라는 메시지가 표시되면 암호를 입력합니다.

  7. 변경 사항을 저장합니다.

    gpg> save

복호화 워크플로를 다시 실행하기 전에 편집한 키를 사용하여 파일을 다시 암호화해야 합니다.