UpdateServer - AWS Transfer Family

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

UpdateServer

서버가 생성된 후 파일 전송 프로토콜이 활성화된 서버의 속성을 업데이트합니다.

UpdateServer 호출은 업데이트한 서버의 ServerId를 반환합니다.

구문 요청

{ "Certificate": "string", "EndpointDetails": { "AddressAllocationIds": [ "string" ], "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcEndpointId": "string", "VpcId": "string" }, "EndpointType": "string", "HostKey": "string", "IdentityProviderDetails": { "DirectoryId": "string", "Function": "string", "InvocationRole": "string", "SftpAuthenticationMethods": "string", "Url": "string" }, "LoggingRole": "string", "PostAuthenticationLoginBanner": "string", "PreAuthenticationLoginBanner": "string", "ProtocolDetails": { "As2Transports": [ "string" ], "PassiveIp": "string", "SetStatOption": "string", "TlsSessionResumptionMode": "string" }, "Protocols": [ "string" ], "S3StorageOptions": { "DirectoryListingOptimization": "string" }, "SecurityPolicyName": "string", "ServerId": "string", "StructuredLogDestinations": [ "string" ], "WorkflowDetails": { "OnPartialUpload": [ { "ExecutionRole": "string", "WorkflowId": "string" } ], "OnUpload": [ { "ExecutionRole": "string", "WorkflowId": "string" } ] } }

요청 파라미터

모든 작업에서 사용하는 파라미터에 대한 자세한 내용은 범용 파라미터를 참조하세요.

요청은 JSON 형식으로 다음 데이터를 받습니다.

Certificate

AWS인증서 관리자 (ACM) 인증서의 아마존 리소스 이름 (ARN). Protocols이(가) FTPS(으)로 설정된 경우에 필요합니다.

새 퍼블릭 인증서를 요청하려면 AWS Certificate Manager 사용 설명서퍼블릭 인증서 요청을 참조하세요.

기존 인증서를 ACM으로 가져오려면 AWS Certificate Manager 사용 설명서ACM으로 인증서 가져오기를 참조하세요.

프라이빗 IP 주소를 통해 FTPS를 사용하도록 프라이빗 인증서를 요청하려면 AWS Certificate Manager 사용 설명서프라이빗 인증서 요청을 참조하세요.

다음 암호화 알고리즘 및 키 크기를 사용하는 인증서가 지원됩니다:

  • 2048비트 RSA(RSA_2048)

  • 4096비트 RSA(RSA_4096)

  • 타원 프라임 곡선 256비트(EC_prime256v1)

  • 타원 프라임 곡선 384 비트(EC_secp384r1)

  • 타원 프라임 곡선 521비트(EC_secp521r1)

참고

인증서는 FQDN 또는 IP 주소가 지정되고 발행자에 대한 정보가 있는 유효한 SSL/TLS X.509 버전 3 인증서여야 합니다.

타입: 문자열

길이 제약 조건: 최소 길이는 0입니다. 최대 길이는 1600입니다.

필수 여부: 아니요

EndpointDetails

서버에 대해 구성된 Virtual Private Cloud(VPC) 엔드포인트 설정입니다. VPC 내에서 엔드포인트를 호스팅할 때 VPC 내의 리소스에만 액세스할 수 있도록 하거나 탄력적 IP 주소를 연결하여 인터넷을 통해 클라이언트에 액세스하도록 할 수 있습니다. VPC의 기본 보안 그룹은 엔드포인트에 자동으로 할당됩니다.

타입: EndpointDetails 객체

필수 여부: 아니요

EndpointType

서버에서 사용할 엔드포인트 타입입니다. 서버의 엔드포인트를 공개적으로 액세스(PUBLIC)하거나 VPC 내부에서 호스팅하도록 선택할 수 있습니다. VPC에서 호스팅되는 엔드포인트를 사용하면 VPC 내에서만 서버 및 리소스에 대한 액세스를 제한하거나 탄력적 IP 주소를 직접 연결하여 인터넷에 연결하도록 선택할 수 있습니다.

참고

2021년 5월 19일 이후, 2021년 5월 19일 이전에 계정을 아직 생성하지 않았다면 EndpointType=VPC_ENDPOINT AWS계정에서 사용하여 서버를 생성할 수 없습니다. 2021년 5월 19일 또는 그 이전에 AWS계정에 서버를 이미 생성한 경우 영향을 받지 않습니다. EndpointType=VPC_ENDPOINT 이 날짜 이후에는 EndpointType=VPC를 사용하세요.

자세한 내용은 VPC_ENDPOINT 사용 중단를 참조하세요.

VPCEndpointType(으)로 사용하는 것이 좋습니다. 이 엔드포인트 타입을 사용하면 최대 3개의 탄력적 IPv4 주소(BYO IP 포함)를 서버 엔드포인트에 직접 연결하고 VPC 보안 그룹을 사용하여 클라이언트의 퍼블릭 IP 주소로부터 트래픽을 제한할 수 있습니다. EndpointTypeVPC_ENDPOINT(으)로 설정하면 이 작업을 할 수 없습니다.

타입: 문자열

유효 값: PUBLIC | VPC | VPC_ENDPOINT

필수 여부: 아니요

HostKey

SFTP 지원 서버에 사용할 RSA, ECDSA 또는 ED25519 프라이빗 키입니다. 키를 교체하거나 다른 알고리즘을 사용하는 활성 키 집합이 있는 경우, 여러 호스트 키를 추가할 수 있습니다.

다음 명령을 사용하여 암호가 없는 RSA 2048비트 키 생성:

ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key.

-b 옵션에는 최소값인 2048을 사용합니다. 3072 또는 4096을 사용하여 더 강력한 키를 만들 수 있습니다.

다음 명령을 사용하여 암호가 없는 ECDSA 256비트 키 생성:

ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key.

ECDSA에 대한 -b 옵션의 유효한 값은 256, 384, 521입니다.

다음 명령을 사용하여 암호가 없는 ED25519 키 생성:

ssh-keygen -t ed25519 -N "" -f my-new-server-key.

이 모든 명령을 원하는 my-new-server-key문자열로 바꿀 수 있습니다.

중요

기존 사용자를 기존 SFTP 지원 서버에서 새 SFTP 지원 서버로 마이그레이션할 계획이 아니라면 호스트 키를 업데이트하지 마세요. 실수로 서버의 호스트 키를 변경하면 작업에 영향을 줄 수 있습니다.

자세한 내용은 사용 설명서의 SFTP 지원 서버의 호스트 키 업데이트를 참조하십시오. AWS Transfer Family

타입: 문자열

길이 제약: 최소 길이는 0입니다. 최대 길이는 4096입니다.

필수 여부: 아니요

IdentityProviderDetails

고객의 인증 API 메서드를 호출하는 데 필요한 모든 정보를 포함하는 배열입니다.

타입: IdentityProviderDetails 객체

필수 항목 여부: 아니요

LoggingRole

서버가 Amazon S3 또는 Amazon EFSevents에 대한 아마존 CloudWatch 로깅을 활성화하도록 허용하는 AWS Identity and Access Management (IAM) 역할의 Amazon 리소스 이름 (ARN). 설정하면 로그에서 사용자 활동을 볼 수 있습니다. CloudWatch

타입: 문자열

길이 제약 조건: 최소 길이는 0입니다. 최대 길이는 2,048.

패턴: (|arn:.*role/\S+)

필수 여부: 아니요

PostAuthenticationLoginBanner

사용자가 서버에 연결할 때 표시할 문자열을 지정합니다. 이 문자열은 사용자가 인증한 후에 표시됩니다.

참고

SFTP 프로토콜은 인증 후 디스플레이 배너를 지원하지 않습니다.

타입: 문자열

길이 제약: 최소 길이는 0입니다. 최대 길이는 4096자입니다.

패턴: [\x09-\x0D\x20-\x7E]*

필수 여부: 아니요

PreAuthenticationLoginBanner

사용자가 서버에 연결할 때 표시할 문자열을 지정합니다. 이 문자열은 사용자가 인증하기 전에 표시됩니다. 예를 들어 다음 배너는 시스템 사용에 대한 세부 정보를 표시합니다.

This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.

타입: 문자열

길이 제약: 최소 길이는 0입니다. 최대 길이는 4096자입니다.

패턴: [\x09-\x0D\x20-\x7E]*

필수 여부: 아니요

ProtocolDetails

서버에 대해 구성된 프로토콜 설정입니다.

  • 수동 모드(FTP 및 FTPS 프로토콜의 경우)를 표시하려면 PassiveIp 파라미터를 사용합니다. 방화벽, 라우터 또는 로드 밸런서의 외부 IP 주소와 같은 점으로 분리된 단일 쿼드 IPv4 주소를 입력합니다.

  • Amazon S3 버킷에 업로드하는 파일에 대해 클라이언트가 SETSTAT 명령을 사용하려 할 때 생성되는 오류를 무시하려면 SetStatOption 파라미터를 사용합니다. AWS Transfer Family 서버에서 SETSTAT 명령을 무시하고 SFTP 클라이언트를 변경할 필요 없이 파일을 업로드하도록 하려면 값을 로 설정합니다. ENABLE_NO_OP SetStatOption파라미터를 로 ENABLE_NO_OP 설정하면 Transfer Family가 Amazon Logs에 CloudWatch 로그 항목을 생성하여 고객이 SETSTAT 전화를 거는 시기를 확인할 수 있습니다.

  • AWS Transfer Family 서버가 고유한 세션 ID를 통해 최근 협상된 세션을 재개할지 여부를 확인하려면 파라미터를 사용하십시오. TlsSessionResumptionMode

  • As2Transports는 AS2 메시지의 전송 방법을 나타냅니다. 현재는 HTTP만 지원됩니다.

타입: ProtocolDetails 객체

필수 여부: 아니요

Protocols

파일 전송 프로토콜 클라이언트가 서버의 엔드포인트에 연결할 수 있는 파일 전송 프로토콜을 지정합니다. 사용 가능한 프로토콜은 다음과 같습니다:

  • SFTP (Secure Shell(SSH) File Transfer Protocol):: SSH를 통한 파일 전송

  • FTPS (File Transfer Protocol Secure): TLS 암호화를 사용한 파일 전송

  • FTP (File Transfer Protocol): 암호화되지 않은 파일 전송

  • AS2(적용 설명 2): 구조화된 데이터를 전송하는 데 사용됩니다. business-to-business

참고
  • 선택하는 경우 클라이언트가 FTPS FTPS를 통해 서버에 연결할 때 서버를 식별하는 데 사용되는 ACM AWS Certificate Manager (저장된 인증서) 을 선택해야 합니다.

  • ProtocolFTP 또는 FTPS이(가) 포함된 경우 EndpointType은(는) VPC이고 IdentityProviderType은(는) AWS_DIRECTORY_SERVICE, AWS_LAMBDA 또는 API_GATEWAY여야 합니다.

  • ProtocolFTP이(가) 포함된 경우 AddressAllocationIds를 연결할 수 없습니다.

  • ProtocolSFTP로만 설정된 경우 EndpointTypePUBLIC으로 설정하고 IdentityProviderType을 지원되는 ID 타입(SERVICE_MANAGED, AWS_DIRECTORY_SERVICE, AWS_LAMBDA, API_GATEWAY) 중 하나로 설정할 수 있습니다.

  • ProtocolAS2이(가) 포함된 경우 EndpointType은(는) VPC여야 하고, 도메인은 Amazon S3여야 합니다.

타입: 문자열 배열

배열 멤버: 최소수는 1개입니다. 최대 항목 수는 4개입니다.

유효 값: SFTP | FTP | FTPS | AS2

필수 여부: 아니요

S3StorageOptions

Amazon S3 디렉터리의 성능이 최적화되었는지 여부를 지정합니다. 이 옵션은 기본적으로 비활성화되어 있습니다.

기본적으로 홈 디렉터리 매핑에는 a가 있습니다. TYPE DIRECTORY 이 옵션을 활성화한 경우 매핑에 파일 대상이 포함되도록 하려면 HomeDirectoryMapEntry TypeFILE 명시적으로 설정해야 합니다.

유형: S3StorageOptions객체

필수 항목 여부: 아니요

SecurityPolicyName

서버의 보안 정책 이름을 지정합니다.

타입: 문자열

길이 제약 조건: 최소 길이는 0입니다. 최대 길이는 100입니다.

패턴: Transfer[A-Za-z0-9]*SecurityPolicy-[A-Za-z0-9-]+

Required: No

ServerId

Transfer Family 사용자가 할당된 서버 인스턴스에 대한 시스템 할당 고유 식별자입니다.

타입: 문자열

길이 제약 조건: 고정 길이는 19입니다.

패턴: s-([0-9a-f]{17})

필수 사항 여부: Yes

StructuredLogDestinations

사용자의 서버 로그가 전송될 로그 그룹을 지정합니다.

로그 그룹을 지정하려면 기존 로그 그룹의 ARN을 제공해야 합니다. 이 경우, 로그 그룹의 형식은 다음과 같습니다:

arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*

예제: arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*

이전에 서버의 로그 그룹을 지정한 경우, update-server 호출 시 이 파라미터에 빈 값을 제공하여 로그 그룹을 지우고 사실상 구조화된 로깅을 끌 수 있습니다. 예:

update-server --server-id s-1234567890abcdef0 --structured-log-destinations

타입: 문자열 배열

배열 멤버: 최소 항목 수는 0개입니다. 최대 항목 수는 1개입니다.

길이 제약 조건: 최소 길이는 20입니다. 최대 길이는 1600입니다.

패턴: arn:\S+

Required: No

WorkflowDetails

할당할 워크플로의 워크플로 ID와 워크플로 실행에 사용되는 실행 역할을 지정합니다.

파일이 완전히 업로드될 때 실행되는 워크플로 외에도 WorkflowDetails에는 부분 업로드 시 실행할 워크플로의 워크플로 ID와 실행 역할이 포함될 수 있습니다. 파일이 업로드되는 동안 서버 세션 연결이 끊기면 부분 업로드가 수행됩니다.

서버에서 연결된 워크플로를 제거하려면 다음 예와 같이 빈 OnUpload 객체를 제공하면 됩니다.

aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'

타입: WorkflowDetails 객체

필수 항목 여부: 아니요

응답 구문

{ "ServerId": "string" }

응답 요소

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.

ServerId

Transfer Family 사용자가 할당된 서버에 대한 시스템 할당 고유 식별자입니다.

타입: 문자열

길이 제약 조건: 고정 길이는 19입니다.

패턴: s-([0-9a-f]{17})

Errors

모든 작업에서 공통적으로 발생하는 오류에 대한 자세한 내용은 일반적인 오류 섹션을 참조하세요.

AccessDeniedException

이 작업을 수행할 수 있는 충분한 액세스 권한이 없습니다.

HTTP 상태 코드: 400

ConflictException

VPC를 엔드포인트 타입으로 사용하고 서버 VpcEndpointID이(가) 가용 상태가 아닌 파일 전송 프로토콜 지원 서버에 대해 UpdateServer이(가) 호출되면 이 예외가 발생합니다.

HTTP 상태 코드: 400

InternalServiceError

AWS Transfer Family 서비스에 오류가 발생하면 이 예외가 발생합니다.

HTTP 상태 코드: 500

InvalidRequestException

클라이언트가 잘못된 형식의 요청을 제출하면 이 예외가 발생합니다.

HTTP 상태 코드: 400

ResourceExistsException

요청된 리소스가 존재하지 않거나 명령에 지정된 리전이 아닌 다른 리전에 있습니다.

HTTP 상태 코드: 400

ResourceNotFoundException

AWS Transfer Family 서비스에서 리소스를 찾을 수 없는 경우 이 예외가 발생합니다.

HTTP 상태 코드: 400

ServiceUnavailableException

AWS Transfer Family 서비스를 이용할 수 없어 요청이 실패했습니다.

HTTP 상태 코드: 500

ThrottlingException

요청 제한 때문에 요청이 거부되었습니다.

HTTP 상태 코드: 400

다음 예에서는 서버의 역할을 업데이트합니다.

샘플 요청

{ "EndpointDetails": { "VpcEndpointId": "vpce-01234f056f3g13", "LoggingRole": "CloudWatchS3Events", "ServerId": "s-01234567890abcdef" } }

다음 예에서는 모든 관련 워크플로를 서버에서 제거합니다.

샘플 요청

aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnUpload":[]}'

다음은 이 API 직접 호출에 대한 샘플 응답입니다.

샘플 응답

{ "ServerId": "s-01234567890abcdef" }

참고

언어별 AWS SDK 중 하나에서 이 API를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.