VPC で Transfer Family ウェブアプリを作成する - AWS Transfer Family

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

VPC で Transfer Family ウェブアプリを作成する

このセクションでは、VPC で Transfer Family ウェブアプリケーションを作成する手順について説明します。ウェブアプリケーションのエンドポイントを Virtual Private Cloud (VPC) 内でホストして、パブリックインターネットを経由せずに Amazon S3 バケットとの間でデータを転送できます。ウェブアプリを使用できるユーザーとグループを割り当てるには、「」を参照してくださいTransfer Family ウェブアプリへのユーザーまたはグループの割り当てまたは追加

注記

Transfer Family ウェブアプリ VPC エンドポイントを使用する際にプライベートend-to-endのデータフローを確保するには、3 つの追加コンポーネントを実装する必要があります。まず、Amazon S3 Access Grants API コールに必要な Amazon S3 Control API オペレーション用の PrivateLink エンドポイントを設定します。次に、PrivateLink Amazon S3 Gateway エンドポイント (VPC 内からのトラフィック用) または Amazon S3 Interface エンドポイント (VPN または Direct Connect 経由のオンプレミスネットワークからのトラフィック用) を使用してAmazon S3 データアクセス用のエンドポイントを設定します。3 つ目は、これらの VPC エンドポイントからのトラフィックのみを許可するようにバケットポリシーを更新して、Amazon S3 バケットアクセスをロックダウンします。この組み合わせにより、すべてのデータ転送がプライベートネットワークインフラストラクチャ内にとどまり、パブリックインターネットを経由することはありません。

Transfer Family ウェブアプリを作成する

前提条件

注記

AWS IAM Identity Center は VPC エンドポイントをサポートしていません。すべての認証リクエストはパブリックインターネットを通過します。さらに、Transfer Family ウェブアプリケーションでは、静的コンテンツ (JavaScript、CSS、HTML ファイルなど) をロードするためにインターネットアクセスが必要です。パブリックインターネットアクセスの要件は、データアクセスとは異なります。VPC エンドポイントにより、接続が VPC インフラストラクチャを介してルーティングされます。

Transfer Family ウェブアプリを作成するには
  1. にサインイン AWS マネジメントコンソール し、https://console.aws.amazon.com/transfer/ で AWS Transfer Family コンソールを開きます。

  2. 左側のナビゲーションペインで、ウェブアプリを選択します。

  3. ウェブアプリの作成 を選択します。認証アクセスの場合、ペインは次のように入力されます。

    • で組織インスタンスまたはアカウントインスタンスを既に作成している場合は AWS IAM Identity Center、 AWS Transfer Family アプリケーションが IAM Identity Center のアカウントインスタンスに接続されているというメッセージが表示されます。

    • アカウントインスタンスがすでにあり、組織インスタンスのメンバーである場合は、接続するインスタンスを選択できます。

    • アカウントインスタンスをまだお持ちでない場合、または組織インスタンスのメンバーである場合は、アカウントインスタンスを作成するオプションが表示されます。

  4. エンドポイント設定セクションで、ユーザーがウェブアプリにアクセスする方法を選択します。

    • パブリックアクセス可能: ウェブアプリケーションエンドポイントには、HTTPS 経由でパブリックからアクセスできます。このオプションは VPC 設定を必要としないため、セットアップが簡単で、広く一般に使用されるアプリケーションに適しています。

    • VPC ホスト: ウェブアプリケーションエンドポイントは Virtual Private Cloud (VPC) 内でホストされ AWS Direct Connect、VPC ネットワーク、または VPN 接続を介してプライベートネットワークアクセスを提供します。このオプションは、ネットワーク分離を通じてセキュリティを強化し、内部アプリケーションに推奨されます。

      注記

      デュアルスタック VPC 設定が必要です。詳細については、Amazon Virtual Private Cloud ユーザーガイド「デュアルスタック VPC 設定の例」を参照してください。

      VPC ホストエンドポイントを設定するときは、以下を指定する必要があります。

      • VPC: 既存の VPC を選択するか、新しい VPC を作成します。VPC の作成ボタンを使用できます。

      • アベイラビリティーゾーン: エンドポイントをデプロイするアベイラビリティーゾーンを選択します。

      • サブネット: 選択した各アベイラビリティーゾーン内のサブネットを選択します。

      • セキュリティグループ: ソース IP アドレスに基づいてアクセスを制御するセキュリティグループを選択または作成します。指定しない場合、VPC のデフォルトのセキュリティグループが使用されます。VPC コンソールを使用してセキュリティグループを管理します。TCP ポート 443 で HTTPS 経由のネットワークからのインバウンドトラフィックを許可するように VPC セキュリティグループを設定します。これは、IAM Identity Center 認証とウェブアプリケーションの静的コンテンツのロードに必要です。

      注記

      アクセスエンドポイントを VPC エンドポイント用にカスタマイズすることはできません。カスタム URL を追加するには、パブリックエンドポイントを使用します。

作成後のステップ

クロスオリジンリソース共有 (CORS) ポリシー

ウェブアプリケーションで使用されるすべてのバケットに対して、Cross-Origin Resource Sharing (CORS) を設定する必要があります。CORS の詳細については、バケットの Cross-Origin Resource Sharing (CORS) を設定する を参照してください。

重要

次のポリシー例を使用する前に、許可されたオリジンをアクセスエンドポイントに置き換えます。そうしないと、エンドユーザーがウェブアプリ上の場所にアクセスしようとすると、エラーが発生します。

ポリシーの例:

[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET", "PUT", "POST", "DELETE", "HEAD" ], "AllowedOrigins": [ "https://vpce-1234567-example.vpce-mq.transfer-webapp.us-east-1.on.aws" ], "ExposeHeaders": [ "last-modified", "content-length", "etag", "x-amz-version-id", "content-type", "x-amz-request-id", "x-amz-id-2", "date", "x-amz-cf-id", "x-amz-storage-class", "access-control-expose-headers" ], "MaxAgeSeconds": 3000 } ]

特定の VPC エンドポイントへのアクセスの制限

以下に、amzn-s3-demo-bucket という特定のバケットに対するアクセスを ID が vpce-1a2b3c4d の VPC エンドポイントからのみに制限する Amazon S3 のバケットポリシーの例を示します。指定されたエンドポイントが使用されていない場合、ポリシーはバケットに対するすべてのアクセスを拒否します。aws:SourceVpce 条件はエンドポイントを指定します。aws:SourceVpce 条件では、VPC エンドポイントID のみが必要で、VPC エンドポイントリソースのARNは必要ありません。VPC からのトラフィックのみを許可するようにバケットポリシーを更新する方法の詳細については、「バケットポリシーを使用した VPC エンドポイントからのアクセスの制御」を参照してください。ポリシーで条件を使用する方法の詳細については、「条件キーを使用したバケットポリシーの例」を参照してください。このポリシーを適用する前提条件として、Amazon S3 VPC エンドポイントを作成する必要があります。

重要

次のポリシーの例を使用する前に、VPC エンドポイントの ID をユースケースに応じた値に置き換えてください。そうしないと、バケットにアクセスできません。

{ "Version":"2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"], "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-1a2b3c4d" } } } ] }