AWS Transfer Family サーバーエンドポイントの開始方法 - AWS Transfer Family

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

AWS Transfer Family サーバーエンドポイントの開始方法

このチュートリアルを使用して、 AWS Transfer Family (Transfer Family) の使用を開始します。Amazon S3 ストレージを使用してパブリックアクセス可能なエンドポイントを持つ SFTP 対応サーバーを作成し、サービスマネージド認証でユーザーを追加し、Cyberduck でファイルを転送する方法について説明します。

前提条件

開始する前に、前提条件 の要件を満たしていることを確認してください。この設定の一環として、Amazon Simple Storage Service (Amazon S3) バケットと AWS Identity and Access Management (IAM) ユーザーロールを作成します。

AWS Transfer Family コンソールを使用するために必要なアクセス許可があり、Amazon Simple Storage Service、Amazon Elastic File System AWS Certificate Manager、Amazon Route 53 など、Transfer Family AWS が使用する他のサービスを設定するために必要なアクセス許可があります。 Amazon Elastic File System 例えば、Transfer Family AWS を使用して との間でファイルを転送するユーザーの場合、AmazonS3FullAccess は Amazon S3 バケットを設定して使用するアクセス許可を付与します。Amazon S3 バケットを作成するには、このポリシーのアクセス許可の一部が必要です。

Transfer Family コンソールを使用するには、以下が必要です。

  • AWSTransferConsoleFullAccess は、SFTP ユーザーに Transfer Family リソースを作成するためのアクセス許可を付与します。

  • IAMFullAccess (または IAM ロールの作成を許可するポリシー) は、Transfer Family で Amazon CloudWatch Logs のサーバーのログ記録ロールまたはサーバーにログインするユーザーのユーザーロールを自動的に作成する場合のみ必要です。

  • VPC サーバータイプを作成および削除するには、ポリシーに ec2:CreateVpcEndpoint および ec2:DeleteVpcEndpoints アクションを追加する必要があります。

注記

AmazonS3FullAccess ポリシーと IAMFullAccess ポリシーはそれ自体が、 の一般的な使用には必要ありません AWS Transfer Family。ここでは、必要なすべての権限が適用されていることを確認するための簡単な方法として紹介しています。さらに、これらは AWS マネージドポリシーであり、すべての AWS お客様が利用できる標準ポリシーです。これらのポリシーに含まれる個々の権限を確認して、目的に必要な最小限の権限セットを決定できます。

ステップ 1: AWS Transfer Family コンソールにサインインする

Transfer Family にサインインするには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/transfer/ で AWS Transfer Family コンソールを開きます。

  2. アカウント ID または エイリアス」には、自分の AWS アカウントの ID を入力します。

  3. [IAM user name] (IAM ユーザー名) に、Transfer Family 用に作成したユーザーロールの名前を入力します。

  4. パスワード には、 AWS アカウントのパスワードを入力します。

  5. [Sign in] (サインイン) を選択します。

ステップ 2: SFTP 対応サーバーを作成する

SFTP は Secure Shell (SSH) File Transfer Protocol の略称で、インターネット経由の安全なデータ転送に使用されるネットワークプロトコルです。このプロトコルは、SSH のセキュリティおよび認証機能をすべてサポートします。金融サービス、医療、小売、広告など、さまざまな業界のビジネスパートナー間の機密情報を含むデータを交換するために広く使用されています。

SFTP 対応サーバーを作成するには
  1. [Servers] (サーバー) ナビゲーションペインから [Create server] (サーバーの作成) を選択します。

  2. [Choose protocols] (プロトコルの選択) で SFTP を選択し、[Next] (次へ) を選択します。

  3. [Choose an identity provider] (ID プロバイダーの選択) で[Service managed] (マネージドサービス) を選択してユーザー ID とキーを Transfer Family に選択してから [Next] (次へ) を選択します。

  4. [Choose an endpoint] (エンドポイントの選択) で次のように操作します。

    1. [Endpoint type] (エンドポイントタイプ) として [Publicly accessible] (パブリックにアクセス可能な) エンドポイントタイプを選択します。

    2. [Custom hostname] (カスタムホスト名) で [None] (なし) を選択します。

    3. [Next] (次へ) を選択します。

  5. [Choose a domain] (ドメインの選択) で Amazon S3 を選択します。

  6. [Configure additional details] (その他の詳細の構成) で次のように操作します。

    1. CloudWatch ログ記録 では、新しいロールを作成するための適切なアクセス許可がある限り、Transfer Family が IAM ロールを自動的に作成できるようにする新しいロールの作成を選択します。作成される IAM ロールはと AWSTransferLoggingAccess 呼ばれます 。

    2. [Cryptographic algorithm options] (暗号化アルゴリズムオプション) として、サーバーで使用できる暗号化アルゴリズムを含むセキュリティポリシーを選択します。デフォルトセキュリティポリシーは TransferSecurityPolicy-2020-06 です。

    3. [次へ] を選択します。

  7. [Review and create] (確認と作成) で [Create server] (サーバーの作成) を選択します。[Servers] (サーバー) ページが表示されます。

新しいサーバーのステータスが [Online] (オンライン) に変わるまでに数分かかることがあります。その時点で、サーバーでファイルオペレーションを実行できますが、まずユーザーを作成する必要があります。

ステップ 3: サービスマネージドユーザーを追加する

SFTP 対応サーバーにユーザーを追加するには
  1. [Servers] (サーバー) ページで、ユーザーの追加先になるサーバーのチェックボックスをオンにします。

  2. [Add user] (ユーザーを追加) を選択します。

  3. [ユーザー設定] セクションの[ユーザー名] にユーザー名を入力します。このユーザー名は最低 3 文字、最高 100 文字である必要があります。ユーザー名に使用できる文字は、a-z、A-Z、0-9、アンダースコア「_」、ハイフン「-」、ピリオド「.」、およびアットマーク「@」です。ユーザー名はハイフン、ピリオド、アットマークで始めることはできません。

  4. [Access] (アクセス) で、以前に作成した Amazon S3 バケットへのアクセスを提供する IAM ロールを選択します。

    この IAM ロールは、「IAM ポリシーとロールを作成する」の手順に従って作成されました。その IAM ロールには、Amazon S3 バケットへのアクセスを提供する IAM ポリシーが含まれます。また、別の IAM ポリシーで定義されている AWS Transfer Family サービスとの信頼関係も含まれます。

    注記

    サービスマネージドユーザーの IAM ロールには、目的のバケットにアクセスするための権限が含まれている必要があります。目的のバケットへのアクセス許可は S3FullAccess 内でカバーされ、S3 リソースへの管理者レベルのアクセス許可が付与されます。

  5. [Policy] (ポリシー) で [None] (なし) を選択します。

  6. ホームディレクトリ で、 を使用して転送するデータを保存する Amazon S3 バケットを選択します AWS Transfer Family。ユーザーが SFTP クライアントを使用してログインしたときにアクセスする home ディレクトリのパスを入力します。

    このパラメータを空白のままにした場合、Amazon S3 バケットの root ディレクトリが使用されます。この場合、IAM ロールが root ディレクトリへのアクセスを提供することを確認します。

    注記

    セッションポリシーを効果的に使用できるように、ユーザーのユーザー名を 含むディレクトリパスを選択することをお勧めします。セッションポリシーは、Amazon S3 バケットでのユーザーアクセスを home ディレクトリに制限します。

  7. [Restricted] (制限) チェックボックスをオンにすると、ユーザーがそのフォルダの外にあるものにアクセスしたり、Amazon S3 バケット名やフォルダ名を表示したりできなくなります。

    注記

    ユーザーにホームディレクトリを割り当てて、ユーザーをそのホームディレクトリに制限する場合、指定したフォルダへのユーザーのアクセスをロックダウンするにはこれで十分なはずです。さらにコントロールを適用する必要がある場合、セッションポリシーを使用します。

  8. [SSH public key] (SSH 公開キー) に SSH キーペアの SSH 公開キー部分を入力します。

    新しいユーザーを追加する前に、サービスによってキーが検証されます。

    重要

    SSH パブリックキーの形式は ssh-rsa <string> です。SSH キーペアを生成する手順については、「サービス管理ユーザーの SSH キーの生成」を参照してください。

  9. (オプション) [Key] (キー) と [Value] (値) にキーバリューペアとして 1 つ以上のタグを入力して [Add tag] (タグの追加) を選択します。

  10. [Add] (追加) を選択して、選択したサーバーに新しいユーザーを追加します。

    [Server details] (サーバーの詳細) ページの [Users] (ユーザー) セクションに新しいユーザーが表示されます。

ステップ 4: クライアントを使用してファイルを転送する

クライアントで転送オペレーションを指定して、 AWS Transfer Family サービス経由でファイルを転送します。 は複数のクライアント AWS Transfer Family をサポートします。詳細については、「クライアントを使用してサーバーエンドポイント経由でファイルを転送する」を参照してください。

このセクションでは、Cyberduck と OpenSSH を使用する手順について説明します。

サイバーダックを使用

Cyberduck AWS Transfer Family を使用してファイルを 経由で転送するには
  1. Cyberduck クライアントを開きます。

  2. [Open Connection] (接続を開く) を選択します。

  3. [Open Connection] (接続を開く) ダイアログボックスで SFTP (SSH File Transfer Protocol) を選択します。

  4. [Servers] (サーバー) にサーバーのエンドポイントを入力します。サーバエンドポイントは [Server details] (サーバーの詳細) ページにあります。「SFTP、FTPS、および FTP サーバーの詳細を表示します。」を参照してください。

  5. [Port number] (ポート番号) に SFTP の 22 を入力します。

  6. [Username] (ユーザー名) に、サーバーエンドポイントのユーザーの管理 で作成したユーザーの名前を入力します。

  7. [SSH Private Key] (SSH プライベートキー) で SSH プライベートキーを選択します。

  8. [Connect] (接続) を選択します。

  9. ファイル転送を実行します。

    ファイルの場所に応じて、次のいずれかの操作をします。

    • ローカルディレクトリ (転送元) で転送したいファイルを選択して Amazon S3 ディレクトリ (転送先) にドラッグアンドドロップします。

    • Amazon S3 ディレクトリ (転送元) で転送したいファイルを選択してローカルディレクトリ (転送先) にドラッグアンドドロップします。

OpenSSH を使用する

次の手順に従って、OpenSSH を使用してコマンドラインからファイルを転送します。

注記

このクライアントは SFTP 対応サーバーでのみ動作します。

OpenSSH コマンドラインユーティリティ AWS Transfer Family を使用して 経由でファイルを転送するには
  1. Linux または Macintosh の場合、コマンドターミナルを開きます。

  2. プロンプトで、次のコマンドを入力します: % sftp -i transfer-key sftp_user@service_endpoint

    前述のコマンドでは、sftp_user がユーザー名、transfer-key が SSH プライベートキーです。ここで、 service_endpointは、選択したサーバーの AWS Transfer Family コンソールに表示されるサーバーのエンドポイントです。

    sftp プロンプトが表示されます。

  3. (オプション) ユーザーのホームディレクトリを表示するには、sftp プロンプトで次のコマンドを入力します: sftp> pwd

  4. 次の行で、次のテキストを入力します: sftp> cd /mybucket/home/sftp_user

    この「使用開始」演習では、この Amazon S3 バケットがファイル転送先です。

  5. 次の行で、次のコマンドを入力します: sftp> put filename.txt

    put コマンドはファイルを Amazon S3 バケットに転送します。

    次のようなメッセージが表示され、ファイル転送が進行中であるか、または完了したことを示します。

    Uploading filename.txt to /my-bucket/home/sftp_user/filename.txt

    some-file.txt 100% 127 0.1KB/s 00:00