

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

# SFTP 커넥터 사용
<a name="transfer-sftp-connectors"></a>

이 주제에서는 SFTP 커넥터를 사용하여 지원되는 파일 작업을 수행하는 방법을 설명합니다. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) AWS Transfer Family 콘솔에서 커넥터의 세부 정보를 선택하여 이러한 작업을 수행하는 예제 명령을 찾을 수도 있습니다.

SFTP 커넥터를 생성한 후이 커넥터를 사용하여 연결된 원격 SFTP 서버에서 다음 파일 작업을 수행할 수 있습니다.
+ Amazon S3에서 원격 SFTP 서버로 파일을 전송합니다.
+ 원격 SFTP 서버에서 Amazon S3로 파일을 검색합니다.
+ 원격 SFTP 서버의 디렉터리에서 파일 및 하위 폴더를 나열합니다.
+ 원격 SFTP 서버에서 파일 및 디렉터리를 삭제, 이름 바꾸기 또는 이동합니다.

커넥터 생성에 대한 자세한 설명은 [SFTP 커넥터 생성](configure-sftp-connector.md) 섹션을 참조하세요.

**Topics**
+ [파일 전송](transfer-files-and-track.md)
+ [원격 디렉터리의 콘텐츠 나열](sftp-connector-list-dir.md)
+ [원격 서버에서 파일 또는 디렉터리 이동, 이름 바꾸기 또는 삭제](move-delete-remote-files.md)

# 파일 전송
<a name="transfer-files-and-track"></a>

**Topics**
+ [SFTP 커넥터를 사용하여 파일을 보내고 검색합니다.](#send-retrieve-connector-details)

## SFTP 커넥터를 사용하여 파일을 보내고 검색합니다.
<a name="send-retrieve-connector-details"></a>

SFTP 커넥터를 사용하여 파일을 전송하고 검색하려면 [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html) API 작업을 사용하고 *파일 전송*(아웃바운드 전송) 또는 *파일 수신*(인바운드 전송) 여부에 따라 다음 파라미터를 지정합니다. 각 `StartFileTransfer` 요청에는 10개의 개별 경로가 포함될 수 있습니다.

**참고**  
 기본적으로 SFTP 커넥터는 한 번에 하나의 파일을 처리하여 파일을 순차적으로 전송합니다. 커넥터가 동일한 사용자의 동시 세션을 지원하는 원격 서버와 동시 세션을 생성하고 최대 5개의 파일을 병렬로 처리하도록 하여 전송 성능을 가속화할 수 있습니다.  
 커넥터에 대한 동시 연결을 활성화하려면 커넥터를 생성하거나 업데이트할 때 **최대 동시 연결** 설정을 편집할 수 있습니다. 자세한 내용은 [서비스 관리형 송신을 사용하여 SFTP 커넥터 생성](create-sftp-connector-procedure.md)을 참조하세요.
+ **아웃바운드 전송** 
  + `send-file-paths`에는 파트너의 SFTP 서버로 전송할 파일을 위한 1\$110개의 소스 파일 경로가 포함됩니다.
  + `remote-directory-path`는 고객의 SFTP 서버에서 파일을 전송할 원격 경로입니다.
+ **인바운드 전송** 
  + `retrieve-file-paths`에는 1\$110개의 원격 경로가 포함됩니다. 각 경로는 파트너의 SFTP 서버에서 Transfer Family 서버로 파일을 전송할 위치를 지정합니다.
  + `local-directory-path`는 파일이 저장되는 Amazon S3 위치 (버킷 및 선택적 접두사) 입니다.

파일을 보내려면 `send-file-paths` 및 `remote-directory-path` 파라미터를 지정합니다. 최대 10개의 파일을 `send-file-paths` 파라미터에 지정할 수 있습니다. 다음 예 명령은 Amazon S3 스토리지에 있는 `/amzn-s3-demo-source-bucket/file1.txt` 및 `/amzn-s3-demo-source-bucket/file2.txt`라는 파일을 파트너의 SFTP 서버의 `/tmp` 디렉터리로 보냅니다. 이 예 명령을 사용하려면 `amzn-s3-demo-source-bucket`를 실제 버킷으로 대체하세요.

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt /amzn-s3-demo-source-bucket/file2.txt \
    --remote-directory-path /tmp --connector-id c-1111AAAA2222BBBB3 --region us-east-2
```

파일을 검색하려면 `retrieve-file-paths` 및 `local-directory-path` 파라미터를 지정합니다. 다음 예제에서는 `/my/remote/file2.txt` 파트너의 SFTP 서버에서 `/my/remote/file1.txt` 및 파일을 검색하여 Amazon S3 위치 /amzn-s3-demo-bucket/*prefix*에 배치합니다. 이 예 명령을 사용하려면 `user input placeholders`를 실제 정보로 대체하세요.

```
aws transfer start-file-transfer --retrieve-file-paths /my/remote/file1.txt  /my/remote/file2.txt \
   --local-directory-path /amzn-s3-demo-bucket/prefix --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

이전 예는 SFTP 서버의 절대 경로를 지정합니다. 상대 경로, 즉 SFTP 사용자의 홈 디렉터리를 기준으로 하는 경로를 사용할 수도 있습니다. 예컨대, SFTP 사용자가 `marymajor`이고 SFTP 서버의 홈 디렉터리가 `/users/marymajor/`인 경우 다음 명령은 `/amzn-s3-demo-source-bucket/file1.txt`을 `/users/marymajor/test-connectors/file1.txt`으로 전송합니다.

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt \
   --remote-directory-path test-connectors --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

# 원격 디렉터리의 콘텐츠 나열
<a name="sftp-connector-list-dir"></a>

원격 SFTP 서버에서 파일을 검색하기 전에 원격 SFTP 서버의 디렉터리 콘텐츠를 검색할 수 있습니다. 이렇게 하려면 [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html) API 작업을 사용합니다.

다음 예시에서는 커넥터 구성에 지정된 원격 SFTP 서버의 `home` 폴더 콘텐츠를 나열합니다. 결과는 Amazon S3 위치 `/amzn-s3-demo-bucket/connector-files`, 라는 파일에 배치됩니다`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`.

```
aws transfer start-directory-listing  \
   --connector-id c-AAAA1111BBBB2222C  \ 
   --output-directory-path /amzn-s3-demo-bucket/example/connector-files  \
   --remote-directory-path /home
```

이 AWS CLI 명령은 결과가 포함된 파일 이름과 목록 ID를 반환합니다.

```
{
    "ListingId": "6666abcd-11aa-22bb-cc33-0000aaaa3333",
    "OutputFileName": "c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json"
}
```

**참고**  
출력 파일의 이름 지정 규칙은 입니다`connector-ID-listing-ID.json`.

JSON 파일에는 다음 정보가 포함되어 있습니다.
+ `filePath`: 원격 서버의 SFTP 커넥터에 대한 목록 요청 디렉터리를 기준으로 한 원격 파일의 전체 경로입니다.
+ `modifiedTimestamp`: 파일이 마지막으로 수정된 시간, 초 단위, 협정 세계시(UTC) 형식. 이 필드는 선택 사항입니다. 원격 파일 속성에 타임스탬프가 포함되어 있지 않으면 파일 목록에서 생략됩니다.
+ `size`: 바이트 단위의 파일 크기입니다. 이 필드는 선택 사항입니다. 원격 파일 속성에 파일 크기가 포함되어 있지 않으면 파일 목록에서 생략됩니다.
+ `path`: 원격 서버의 SFTP 커넥터에 대한 목록 요청의 디렉터리를 기준으로 한 원격 디렉터리의 전체 경로입니다.
+ `truncated`: 목록 출력에 원격 디렉터리에 포함된 모든 항목이 포함되어 있는지 여부를 나타내는 플래그입니다. `truncated` 출력 값이 true인 경우 선택적 `max-items` 입력 속성에 제공된 값을 늘려 더 많은 항목을 나열할 수 있습니다(최대 허용 목록 크기인 항목 10,000개까지).

다음은 원격 디렉터리에 두 개의 파일과 두 개의 하위 디렉터리(경로`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`)가 포함된 출력 파일()의 내용의 예입니다.

```
{
    "files": [
        {
            "filePath": "/home/what.txt",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 2323
        },
        {
            "filePath": "/home/how.pgp",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 4691
        }
    ],
    "paths": [
        {
            "path": "/home/magic"
        },
        {
            "path": "/home/aws"
        },
    ],
    "truncated": "false"
}
```

# 원격 서버에서 파일 또는 디렉터리 이동, 이름 바꾸기 또는 삭제
<a name="move-delete-remote-files"></a>

**Topics**
+ [원격 SFTP 서버에서 파일 또는 디렉터리 이동 또는 이름 바꾸기](#move-remote-file)
+ [원격 SFTP 서버에서 파일 또는 디렉터리 삭제](#delete-remote-file)

## 원격 SFTP 서버에서 파일 또는 디렉터리 이동 또는 이름 바꾸기
<a name="move-remote-file"></a>

SFTP 커넥터를 사용하여 원격 SFTP 서버에서 파일 및 디렉터리를 이동하거나 이름을 바꿀 수 있습니다. 커넥터를 사용하여 성공적으로 처리하려면 원격 서버가 이러한 작업을 지원해야 합니다.

몇 가지 일반적인 사용 사례는 다음과 같습니다.
+ 원격 서버는 매시간 동일한 파일 이름이지만 타임스탬프가 다른 새 파일을 생성하거나 수신합니다. 기본 폴더를 최신 상태로 유지하려면(최신 파일만 포함) 커넥터를 사용하여 이전 파일을 아카이브된 폴더로 이동할 수 있습니다.
+ 커넥터를 사용하여 원격 디렉터리의 모든 파일을 나열한 다음 모든 파일을 로컬 스토리지로 전송합니다. 그런 다음 커넥터를 사용하여 파일을 원격 서버의 아카이브된 폴더로 이동할 수 있습니다.

명령은 단일 소스 및 대상 파일 또는 디렉터리를 인수로 취하므로 처리하려는 각 파일 또는 디렉터리에 대해 `StartRemoteMove` 호출을 사용해야 합니다. 그러나 커넥터가 동일한 사용자의 동시 세션을 지원하는 원격 서버와 동시 세션을 생성하고 최대 5개의 파일을 병렬로 이동/이름 변경하도록 하여 성능을 가속화할 수 있습니다.

다음 예제에서는 원격 SFTP 서버의 파일을에서 `/source/folder/sourceFile` 로 이동`/destination/targetFile`하고 작업에 대한 고유 식별자를 반환합니다.

```
aws transfer --connector-id c-AAAA1111BBBB2222C start-remote-move \
   --source-path /source/folder/sourceFile --target-path /destination/targetFile
```

**참고**  
이동/이름 변경 작업의 경우 Transfer Family는 표준 `SFTP SSH_FXP_RENAME` 명령을 사용하여 이동/이름 변경 작업을 수행합니다.

## 원격 SFTP 서버에서 파일 또는 디렉터리 삭제
<a name="delete-remote-file"></a>

SFTP 커넥터를 사용하여 원격 SFTP 서버의 파일 또는 디렉터리를 삭제할 수 있습니다. 커넥터를 사용하여 성공적으로 처리하려면 원격 서버가 이러한 작업을 지원해야 합니다.

**참고**  
원격 디렉터리에 대한 삭제 작업은 빈 디렉터리에만 지원됩니다.

몇 가지 일반적인 사용 사례는 다음과 같습니다.
+ 커넥터를 사용하여 원격 SFTP 서버에서 파일을 검색하고 Amazon S3 버킷에 저장한 다음 암호화합니다. 마지막으로 커넥터를 사용하여 원격 서버에서 암호화되지 않은 파일을 삭제할 수 있습니다.
+ 커넥터를 사용하여 원격 디렉터리의 모든 파일을 나열한 다음 모든 파일을 로컬 스토리지로 전송합니다. 그런 다음 커넥터를 사용하여 전송한 모든 파일을 삭제할 수 있습니다. 원한다면 원격 디렉터리를 삭제할 수도 있습니다.

명령은 단일 파일 또는 디렉터리를 인수로 취하므로 삭제하려는 각 파일 또는 디렉터리에 대해 `StartRemoteDelete` 호출을 사용해야 합니다. 그러나 커넥터가 동일한 사용자의 동시 세션을 지원하는 원격 서버와 동시 세션을 생성하고 최대 5개의 파일/디렉터리를 병렬로 삭제하도록 하여 성능을 가속화할 수 있습니다.

다음 예제에서는 경로의 원격 SFTP 서버에서 파일을 삭제`/delete/folder/deleteFile`하고 작업에 대한 고유 식별자를 반환합니다.

```
aws transfer start-remote-delete --connector-id c-AAAA1111BBBB2222C \
   --delete-path /delete/folder/deleteFile
```

**참고**  
삭제 작업의 경우 Transfer Family는 표준 `SSH_FXP_REMOVE` 명령을 사용하여 파일을 삭제하고 디렉터리`SSH_FXP_RMDIR`를 삭제합니다.