CreateServer - AWS Transfer Family

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

CreateServer

AWS에서 선택한 파일 전송 프로토콜을 기반으로 자동 조정 가상 서버를 인스턴스화합니다. 파일 전송 프로토콜 사용 서버를 업데이트하거나 사용자와 작업할 때 새로 생성된 서버에 할당된 서비스 생성 ServerId 속성을 사용합니다.

구문 요청

{ "Certificate": "string", "Domain": "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" }, "IdentityProviderType": "string", "LoggingRole": "string", "PostAuthenticationLoginBanner": "string", "PreAuthenticationLoginBanner": "string", "ProtocolDetails": { "As2Transports": [ "string" ], "PassiveIp": "string", "SetStatOption": "string", "TlsSessionResumptionMode": "string" }, "Protocols": [ "string" ], "S3StorageOptions": { "DirectoryListingOptimization": "string" }, "SecurityPolicyName": "string", "StructuredLogDestinations": [ "string" ], "Tags": [ { "Key": "string", "Value": "string" } ], "WorkflowDetails": { "OnPartialUpload": [ { "ExecutionRole": "string", "WorkflowId": "string" } ], "OnUpload": [ { "ExecutionRole": "string", "WorkflowId": "string" } ] } }

요청 파라미터

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

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

Certificate

AWS Certificate Manager (ACM) 인증서의 Amazon 리소스 이름(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입니다.

필수 여부: 아니요

Domain

파일 전송에 사용되는 스토리지 시스템의 도메인을 지정합니다. Amazon Simple Storage Service (Amazon S3)와 Amazon Elastic File System (Amazon EFS)의 두 가지 도메인을 사용할 수 있습니다. 기본값은 S3입니다.

참고

서버가 생성된 후에는 도메인을 변경할 수 없습니다.

타입: 문자열

유효 값: S3 | EFS

필수 여부: 아니요

EndpointDetails

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

타입: EndpointDetails 객체

필수 여부: 아니요

EndpointType

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

참고

2021년 5월 19일 이후에는 2021년 5월 19일 이전에 계정을 아직 생성하지 않은 AWS 계정 경우 계정을 사용하여 EndpointType=VPC_ENDPOINT 서버를 생성할 수 없습니다. 2021년 5월 AWS 계정 19일 또는 그 이전에 서버를 이미 생성한 경우 영향을 받지 않습니다. 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

IdentityProviderType이(가) AWS_DIRECTORY_SERVICE, AWS_LAMBDA 또는 API_GATEWAY(으)로 설정된 경우 필수입니다. AWS_DIRECTORY_SERVICE의 디렉터리를 사용하거나 API 게이트웨이 URL을 포함하여 고객 제공 인증 API를 호출하는 데 필요한 모든 정보를 포함하는 배열을 수락합니다. IdentityProviderTypeSERVICE_MANAGED로 설정된 경우에 필요합니다.

타입: IdentityProviderDetails 객체

필수 여부: 아니요

IdentityProviderType

서버 인증 모드. 기본값은 이며SERVICE_MANAGED, 이를 통해 서비스 내에서 사용자 자격 증명을 저장하고 액세스할 수 있습니다. AWS Transfer Family

온-프레미스 환경에서 AWS Directory Service for Microsoft Active Directory 또는 AD Connector를 AWS 사용하여 Microsoft Active Directory 내의 Active Directory 그룹에 대한 액세스를 제공하는 데 사용합니다AWS_DIRECTORY_SERVICE. 또한 이 옵션을 사용하려면 IdentityProviderDetails 파라미터를 사용하여 디렉터리 ID를 제공해야 합니다.

API_GATEWAY 값을 사용하여 선택하는 자격 증명 제공자와 통합합니다. API_GATEWAY를 설정하려면 IdentityProviderDetails 파라미터를 사용하여 인증을 요구하도록 Amazon API Gateway 엔드포인트 URL을 제공해야 합니다.

AWS_LAMBDA값을 사용하여 AWS Lambda 함수를 ID 공급자로 직접 사용할 수 있습니다. 이 값을 선택하는 경우 IdentityProviderDetails 데이터 타입에 대한 Function 파라미터에서 lLambda 함수에 대한 ARN을 지정해야 합니다.

타입: 문자열

유효 값: SERVICE_MANAGED | API_GATEWAY | AWS_DIRECTORY_SERVICE | AWS_LAMBDA

필수 여부: 아니요

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-]+

필수 여부: 아니요

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+

필수 여부: 아니요

Tags

서버의 그룹화 및 검색에 사용될 수 있는 키-값 쌍입니다.

타입: Tag 객체 배열

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

필수 여부: 아니요

WorkflowDetails

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

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

타입: WorkflowDetails 객체

필수 항목 여부: 아니요

응답 구문

{ "ServerId": "string" }

응답 요소

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

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

ServerId

생성되는 서버의 서비스 할당 ID입니다.

타입: 문자열

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

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

Errors

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

AccessDeniedException

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

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

다음 예에서는 VPC_ENDPOINT를 사용하여 새 표를 만듭니다.

샘플 요청

{ "EndpointType": "VPC", "EndpointDetails":..., "HostKey": "Your RSA private key", "IdentityProviderDetails": "IdentityProvider", "IdentityProviderType": "SERVICE_MANAGED", "LoggingRole": "CloudWatchLoggingRole", "Tags": [ { "Key": "Name", "Value": "MyServer" } ] }

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

샘플 응답

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

참고

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