助け合いフォーラム
これらの要件を満たすソリューションとして、最も適切なものはどれか。
正解
暗号化を有効にしたEFSボリュームを作成する。AWS Transfer FamilyでSFTPサーバーを作成し、インターネットからアクセス可能なVPCエンドポイントをデプロイする。承認されたIPアドレスからのアクセスをセキュリティグループで許可する。SFTPサーバーをEFSボリュームに接続する。Transfer Familyで顧客のアカウントを作成し、適切なアクセス権限を設定する
解説
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ストレージ上へのセキュアなファイル転送を実現するマネージドサービスです。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関数でカスタマイズ可能なアクションを定義し、ファイルをダウンロードしたあとにデータの変換、分析、データベースへの転送などの処理を自動化できます。
参考URL
[Transfer FamilyによるSFTPサーバーの提供] の解説について
学習中の者です。いまいち構成を理解できなかったので、フォーラムに投稿してみました。
①VPCエンドポイントとは、インターネットに晒されることなく、S3のようなVPC外のサービスとVPC内とを繋ぐサービスではなかったでしたっけ。
(VPC外の)Transfer FamilyとVPC内とを繋ぐなら理解できますが、AWSの外にいるユーザーがVPCエンドポイントに接続する、という構成がピンと来ません。
実際にはインターネットゲートウェイも必要なのでしょうか。
②あわせてもう1点確認させてください。
ACLがサブネットに適用されるのに対し、セキュリティグループはEC2インスタンスのような個々のリソースに適用されるのですよね。
この構成では、セキュリティグループをVPCエンドポイントに適用する、ということでしょうか。
このサイトの構成図が分かりやすかったです。
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さんご回答ありがとうございました。お陰さまで認識を整理できました。