CreateServer - AWS Transfer Family

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

CreateServer

AWSで選択したファイル転送プロトコルに基づいて、Auto Scaling 仮想サーバーをインスタンス化します。ファイル転送プロトコル対応サーバーの更新や、ユーザーの操作を行う際、新しく作成されたサーバーに割り当てられた、サービスによって生成された 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

(ARN) 証明書の Amazon リソースネーム AWS Certificate Manager (ACM)。ProtocolsFTPS に設定されている場合は必須です。

新しいパブリック証明書をリクエストするには、 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 ) の 2 つのドメインを使用できますEFS。デフォルト値は S3 です。

注記

サーバーの作成後にサーバー名を変更することはできません。

型: 文字列

有効な値: S3 | EFS

必須:いいえ

EndpointDetails

サーバー用に設定された仮想プライベートクラウド (VPC) エンドポイント設定。内でエンドポイントをホストする場合VPC、エンドポイントを 内のリソースにのみアクセスできるようにするかVPC、Elastic IP アドレスをアタッチして、インターネット経由でクライアントにアクセスできるようにします。VPCのデフォルトのセキュリティグループは、エンドポイントに自動的に割り当てられます。

型: EndpointDetails オブジェクト

必須:いいえ

EndpointType

サーバーで使用したいエンドポイントのタイプ。サーバーのエンドポイントをパブリックにアクセス可能 (PUBLIC) にするか、 内でホストするかを選択できますVPC。でホストされているエンドポイントではVPC、 内でのみサーバーとリソースへのアクセスを制限したり、Elastic IP アドレスを直接アタッチしてVPCインターネットに接続したりできます。

注記

2021 年 5 月 19 日以降、 AWS アカウント アカウントが 2021 年 5 月 19 日より前に を使用してサーバーを作成していない場合、 EndpointType=VPC_ENDPOINTで サーバーを作成することはできません。2021 年 5 月 19 日 AWS アカウント 以前に EndpointType=VPC_ENDPOINTで を使用して既にサーバーを作成している場合、影響を受けません。この日付を過ぎたら EndpointType=VPC を使用します。

詳細については、「VPC_ の使用を中止するENDPOINT」を参照してください。

VPCEndpointType として使用することをお勧めします。このエンドポイントタイプでは、最大 3 つの Elastic IPv4 アドレス (BYO IP を含む) をサーバーのエンドポイントに直接関連付け、VPCセキュリティグループを使用してクライアントのパブリック IP アドレスによってトラフィックを制限するオプションがあります。EndpointTypeVPC_ENDPOINT に設定した場合、これは不可能です。

型: 文字列

有効な値: PUBLIC | VPC | VPC_ENDPOINT

必須:いいえ

HostKey

SFTPが有効なサーバーに使用する RSA、ECDSA、またはED25519プライベートキー。キーをローテーションしたい場合や、異なるアルゴリズムを使用するアクティブキーのセットが必要な場合に備えて、複数のホストキーを追加できます。

次のコマンドを使用して、パスフレーズのない 2048 RSA ビットキーを生成します。

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

-b オプションには最小値 2048 を使用してください。3072 または 4096 を使用すると、より強力なキーを作成できます。

次のコマンドを使用して、パスフレーズのない 256 ECDSA ビットキーを生成します。

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

-b のオプションに有効な値は、256、384、および 521 ECDSAです。

次のコマンドを使用して、パスフレーズのないED25519キーを生成します。

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

これらのコマンドのすべてについて、 を任意の文字列my-new-server-keyに置き換えることができます。

重要

既存のユーザーを既存の SFTP対応サーバーから新しいサーバーに移行する予定がない場合は、ホストキーを更新しないでください。サーバーのホストキーを誤って変更することは、破壊的な操作になり得えます。

詳細については、 AWS Transfer Family 「 ユーザーガイド」のSFTP「 対応サーバーのホストキーの更新」を参照してください。

型: 文字列

長さの制限: 最小長は 0 です。最大長は 4,096 です。

必須:いいえ

IdentityProviderDetails

IdentityProviderTypeAWS_DIRECTORY_SERVICE AWS_LAMBDA または API_GATEWAY に設定されている場合に必要です。API ゲートウェイ を含む、 でディレクトリを使用するAWS_DIRECTORY_SERVICEかAPI、カスタマー提供の認証 を呼び出すために必要なすべての情報を含む配列を受け入れますURL。IdentityProviderTypeSERVICE_MANAGED に設定されている場合、必須ではありません。

型: IdentityProviderDetails オブジェクト

必須:いいえ

IdentityProviderType

サーバーの認証のモード。デフォルト値は です。これによりSERVICE_MANAGED、 AWS Transfer Family サービス内にユーザー認証情報を保存してアクセスできます。

を使用してAWS_DIRECTORY_SERVICE、オンプレミス環境の AWS Directory Service for Microsoft Active Directory または Microsoft Active Directory の Active Directory グループ、または AD Connector AWS を使用する へのアクセスを提供します。このオプションでは、IdentityProviderDetails パラメータを使用してディレクトリ ID を指定する必要もあります。

この API_GATEWAY 値を使用して、選択した ID プロバイダーと統合します。API_GATEWAY この設定では、 IdentityProviderDetailsパラメータを使用して認証を呼びURL出す Amazon API Gateway エンドポイントを指定する必要があります。

AWS_LAMBDA 値を使用して、 AWS Lambda 関数を ID プロバイダーとして直接使用します。この値を選択する場合は、IdentityProviderDetailsデータ型の Functionパラメータで ARN Lambda 関数の を指定する必要があります。

型: 文字列

有効な値: SERVICE_MANAGED | API_GATEWAY | AWS_DIRECTORY_SERVICE | AWS_LAMBDA

必須:いいえ

LoggingRole

サーバーが Amazon S3 または Amazon の Amazon CloudWatch ログ記録を有効にすることを許可する () ロールARNの Amazon リソースネーム AWS Identity and Access Management (IAM)EFSevents。 Amazon S3 設定すると、 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 アドレスなど、単一のドットクワッドアドレスを入力します。

  • S3 バケットにアップロードしているファイルに対して、クライアントが SETSTAT コマンドの使用を試みた時に発生するエラーを無視するには、SetStatOption パラメータを使用します。SFTP サーバーがクライアントを変更せずにSETSTATコマンド AWS Transfer Family を無視してファイルをアップロードできるようにするには、値を に設定しますENABLE_NO_OPSetStatOption パラメータを に設定するとENABLE_NO_OP、Transfer Family は Amazon CloudWatch Logs にログエントリを生成し、クライアントがSETSTATいつ電話を発信しているかを判断できます。

  • AWS Transfer Family サーバーが一意のセッション ID を介して最近ネゴシエートされたセッションを再開するかどうかを確認するには、 TlsSessionResumptionModeパラメータを使用します。

  • As2Transports は、AS2メッセージのトランスポート方法を示します。現在は、HTTP のみがサポートされます。

型: ProtocolDetails オブジェクト

必須:いいえ

Protocols

ファイル転送プロトコルクライアントがサーバーのエンドポイントに接続できる 1 つまたは複数のファイル転送プロトコルを指定します。使用可能なプロトコルは次のとおりです。

  • SFTP (Secure Shell (SSH) ファイル転送プロトコル): ファイル転送 SSH

  • FTPS (ファイル転送プロトコルセキュア): TLS暗号化によるファイル転送

  • FTP (File Transfer Protocol): 暗号化されていないファイル転送

  • AS2 (適用性ステートメント 2): 構造化 business-to-businessデータの転送に使用されます。

注記
  • を選択した場合はFTPS、 AWS Certificate Manager (ACM) に保存されている証明書を選択する必要があります。この証明書は、クライアントが 経由でサーバーに接続するときにサーバーを識別するために使用されますFTPS。

  • ProtocolFTP または FTPS が含まれる場合、EndpointTypeVPC でなければならず、IdentityProviderTypeAWS_DIRECTORY_SERVICEAWS_LAMBDA または API_GATEWAY でなければなりません。

  • ProtocolFTPが含まれる場合、AddressAllocationIds は関連付けられません。

  • ProtocolSFTP のみに設定されている場合、EndpointTypePUBLIC に設定でき、IdentityProviderType はサポートされている ID タイプ (SERVICE_MANAGEDAWS_DIRECTORY_SERVICEAWS_LAMBDA、または API_GATEWAY) のいずれかに設定できます。

  • ProtocolAS2 を含む場合、EndpointTypeVPC でなければならず、ドメインは、Amazon S3 でなければなりません。

型: 文字列の配列

配列メンバー:最小数は 1 項目です。最大数は 4 項目です。

有効な値: SFTP | FTP | FTPS | AS2

必須:いいえ

S3StorageOptions

Amazon S3 ディレクトリのパフォーマンスを最適化するかどうかを指定します。これはデフォルトでは無効になっています。

デフォルトでは、ホームディレクトリマッピングには TYPEの がありますDIRECTORY。このオプションを有効にすると、マッピングHomeDirectoryMapEntryTypeにファイルターゲットを含めるFILE場合は、 を明示的に に設定する必要があります。

型: S3StorageOptions オブジェクト

必須:いいえ

SecurityPolicyName

サーバーにアタッチするセキュリティポリシーの名前を指定します。

型: 文字列

長さの制限: 最小長は 0 です。最大長は 100 です。

パターン: TransferSecurityPolicy-.+

必須: いいえ

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 とワークフローの実行に使用する実行ロールを指定します。

ファイルのアップロード完了時に実行するワークフローに加えて、部分的なアップロードで実行するワークフローのワークフロー ID (および実行ロール) も WorkflowDetails に含めることができます。部分的なアップロードは、ファイルのアップロード中にサーバーセッションが切断されたときに発生します。

型: WorkflowDetails オブジェクト

必須: いいえ

レスポンスの構文

{ "ServerId": "string" }

レスポンス要素

アクションが成功すると、サービスは 200 HTTP レスポンスを送り返します。

次のデータは、 サービスによって JSON 形式で返されます。

ServerId

作成されるサーバーのサービス割り当て識別子。

型: 文字列

長さの制限: 固定長は 19 です。

パターン: s-([0-9a-f]{17})

エラー

すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。

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" }

以下の資料も参照してください。

言語固有の のいずれかAPIでこれを使用する方法の詳細については AWS SDKs、以下を参照してください。