助け合いフォーラム

AWS

AWS ソリューションアーキテクト - アソシエイト(SAA-C03)
問題ID : 37066
問題を開く
ある企業は、複数の顧客がインターネット経由でAWSストレージにアクセスできるSFTPサーバーを提供することを検討している。同社のセキュリティ要件では、顧客のSFTPサーバーへのアクセスは承認されたIPアドレスのみに限定し、データ転送と保存時の暗号化を行う。同社は、高い拡張性と可用性を確保できるAWSストレージを使用したいと考えている。
これらの要件を満たすソリューションとして、最も適切なものはどれか。

正解

暗号化を有効にしたEFSボリュームを作成する。AWS Transfer FamilyでSFTPサーバーを作成し、インターネットからアクセス可能なVPCエンドポイントをデプロイする。承認されたIPアドレスからのアクセスをセキュリティグループで許可する。SFTPサーバーをEFSボリュームに接続する。Transfer Familyで顧客のアカウントを作成し、適切なアクセス権限を設定する

解説

AWS Transfer Familyは、AWSストレージ上へのセキュアなファイル転送を実現するマネージドサービスです。SFTP、FTPS、FTPなどをサポートし、Amazon S3およびAmazon EFSへセキュアにファイルの転送が可能です。Transfer Familyには独自の認証機能があり、SFTPユーザーのアカウント作成・管理ができます。

Transfer FamilyでSFTPサーバーなどを作成すると、ユーザーがアクセスするための接続エンドポイントが設定されます。エンドポイントには、インターネットからアクセス可能な「パブリックエンドポイント」と、VPCでホストされる「VPCエンドポイント」があります。
「インターネット向けVPCエンドポイント」は、Elastic IPアドレスをVPCエンドポイントに関連付けることで、インターネットからパブリックサブネットを経由してアクセスします。パブリックエンドポイントとは異なり、セキュリティグループを使用して接続元を制限することが可能です。


したがって正解は
・暗号化を有効にしたEFSボリュームを作成する。AWS Transfer FamilyでSFTPサーバーを作成し、インターネットからアクセス可能なVPCエンドポイントをデプロイする。承認されたIPアドレスからのアクセスをセキュリティグループで許可する。SFTPサーバーをEFSボリュームに接続する。Transfer Familyで顧客のアカウントを作成し、適切なアクセス権限を設定する
です。

その他の選択肢については、以下のとおりです。

・暗号化を有効にしたS3バケットを作成する。AWS Transfer FamilyでSFTPサーバーを作成し、パブリックエンドポイントをデプロイする。承認されたIPアドレスからのアクセスをセキュリティグループで許可する。SFTPサーバーをS3バケットに接続する。Transfer Familyで顧客のアカウントを作成し、適切なアクセス権限を設定する
Transfer Familyのパブリックエンドポイントはインターネットからアクセスできますが、セキュリティグループを使用できないので送信元IPアドレスのアクセス制御ができません。SFTPサーバーへのアクセスは承認されたIPアドレスのみに限定するという要件を満たせないので、誤りです。


・暗号化を有効にしたS3バケットを作成する。AWS Transfer FamilyでSFTPサーバーを作成し、内部向けVPCエンドポイントをデプロイする。承認されたIPアドレスからのアクセスをセキュリティグループで許可する。SFTPサーバーをS3バケットに接続する。Transfer Familyで顧客のアカウントを作成し、適切なアクセス権限を設定する
Transfer Familyの内部向けVPCエンドポイントはプライベートネットワーク経由でSFTPサーバーにアクセスします。インターネット経由でAWSストレージにアクセスするという要件を満たせないので、誤りです。


・暗号化を有効にしたS3バケットを作成する。Storage Gateway S3ファイルゲートウェイを使用して、各顧客のオンプレミス環境とAWSを接続する。バケットポリシーでS3バケットへのアクセスを許可する
Storage Gatewayファイルゲートウェイは、オンプレミスからNFSまたはSMBを使用してAWSストレージへアクセスできるサービスです。オンプレミスにファイルゲートウェイをデプロイする必要があるので顧客に負担がかかります。 また、SFTPでアクセスするという要件を満たせないので、誤りです。

参考

【AWS Transfer Family】
AWS Transfer Familyは、AWSストレージ上へのセキュアなファイル転送を実現するマネージドサービスです。SFTP、FTPS、FTPなどをサポートし、Amazon S3およびAmazon EFSへセキュアにファイルの転送が可能です。Transfer Familyには独自の認証機能があり、SFTPユーザーのアカウント作成・管理ができます。さらに、AWS Directory ServiceやOkta、Azure ADなどの外部のIDプロバイダー(IdP)との連携も可能です。

【Transfer Familyの主要な機能】
Transfer Familyにはファイル転送に関する様々な機能があります。下記では代表的な機能を紹介します。

■Transfer Familyのエンドポイント
Transfer FamilyでSFTPサーバーなどを作成すると、ユーザーがアクセスするための接続エンドポイントが設定されます。エンドポイントには、インターネットからアクセス可能な「パブリックエンドポイント」と、VPCでホストされる「VPCエンドポイント」があります。

◯パブリックエンドポイント
パブリックエンドポイントはインターネット経由でアクセスできるので、リモートのユーザーや他社からのファイル転送に適しています。また、複数のAZに自動で配置されるので高い可用性があります。

[パブリックエンドポイントを利用したSFTPサーバー]


◯VPCエンドポイント
VPCエンドポイントは指定したVPC内からアクセス可能なエンドポイントで、「インターネット向け」と「内部向け」があります。パブリックエンドポイントとは異なり、セキュリティグループを使用して接続元を制限することが可能です。また、複数のAZにENIを設定することで、可用性を高めることができます。

・インターネット向けVPCエンドポイント
Elastic IPアドレスをVPCエンドポイントに関連付け、インターネットからパブリックサブネットを経由してアクセスします。

[インターネット向けVPCエンドポイントを利用したSFTPサーバー]


・内部向けVPCエンドポイント
VPC内のリソースや、VPCピアリング接続、AWS Direct Connect、AWS VPNなどから、プライベートネットワーク経由でアクセスします。

[内部向けVPCエンドポイントを利用したSFTPサーバー]


■マネージドワークフロー
Transfer Familyのマネージドワークフローは、ファイルのアップロードやダウンロードをトリガーとして、処理を自動実行できる機能です。実行可能な処理には、ファイルのコピーやタグ付けなど基本的な処理に加えて、Lambda関数の呼び出しがあります。Lambda関数でカスタマイズ可能なアクションを定義し、ファイルをダウンロードしたあとにデータの変換、分析、データベースへの転送などの処理を自動化できます。
上に戻る

[Transfer FamilyによるSFTPサーバーの提供] の解説について

投稿日 2024/06/16

学習中の者です。いまいち構成を理解できなかったので、フォーラムに投稿してみました。

①VPCエンドポイントとは、インターネットに晒されることなく、S3のようなVPC外のサービスとVPC内とを繋ぐサービスではなかったでしたっけ。
(VPC外の)Transfer FamilyとVPC内とを繋ぐなら理解できますが、AWSの外にいるユーザーがVPCエンドポイントに接続する、という構成がピンと来ません。
実際にはインターネットゲートウェイも必要なのでしょうか。

②あわせてもう1点確認させてください。
ACLがサブネットに適用されるのに対し、セキュリティグループはEC2インスタンスのような個々のリソースに適用されるのですよね。
この構成では、セキュリティグループをVPCエンドポイントに適用する、ということでしょうか。

2024/06/17 14:33

このサイトの構成図が分かりやすかったです。
https://dev.classmethod.jp/articles/trasfer-for-sftp-endpoint-types-202004/#toc-10

①VPCエンドポイントとは、インターネットに晒されることなく、S3のようなVPC外のサービスとVPC内とを繋ぐサービスではなかったでしたっけ。
(VPC外の)Transfer FamilyとVPC内とを繋ぐなら理解できますが、AWSの外にいるユーザーがVPCエンドポイントに接続する、という構成がピンと来ません。
実際にはインターネットゲートウェイも必要なのでしょうか。

インターネットゲートウェイからパブリックサブネットを通って、VPCエンドポイントへ接続しているようです。

②あわせてもう1点確認させてください。
ACLがサブネットに適用されるのに対し、セキュリティグループはEC2インスタンスのような個々のリソースに適用されるのですよね。
この構成では、セキュリティグループをVPCエンドポイントに適用する、ということでしょうか。

セキュリティグループをVPCエンドポイントに適用する、で合っていると思います。


コメント

h hiro2024

2024/06/18 09:18

birdpixyさんご回答ありがとうございました。お陰さまで認識を整理できました。

この返信に対して
コメントを記入できます

スタッフからの返信

s staff_satomi

2024/07/04 17:16

hiro2024様 ご指摘の点を修正いたしました。 ご報告いただきまして、誠にありがとうございます。

この投稿に対して返信しませんか?