4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ガバメントクラウドAdvent Calendar 2024

Day 5

ガバクラで良く出てきそうなサービスシリーズ!?AWS Transfer Family(SFTP)の超基礎

Posted at

内容

業務間データ連携などによく出てくるAWS Transfer Familyに関する入門記事になります。ガバクラ案件をやる前はあまり触ったことがないサービスでしたが、私の中でTransit Gatewayなどと並び良く利用するサービスの一つとなりました。記事は基礎的な内容をサクッと読める内容にまとめました。

Transfer Familyの基礎

まず最初にSFTPサーバについてです。Transfer FamilyはFTPやFTPSなど他のプロトコルにも対応しておりますが、今回はガバクラで良く使いそうなSFTPプロトコルを対象にしています。FTPを暗号化して安全にしたプロトコルですね。

スライド1.PNG

オンプレだとSFTPサーバを自分で立てる必要がありますが、Transfr Familyはこの部分マネージドサービスとして用意してくれます。また、Transfer FamilyとS3は内部通信で繋がっているため、S3をデータの保存先として指定出来るわけです。

スライド2.PNG

ここからは左側のサーバをEC2に置き換えて見ていきます。EC2サーバはどのようにTransfer Familyサーバに接続しているのでしょうか。(もちろんネットワーク的に接続していればオンプレミスのサーバからの接続は可能です。)

スライド3.PNG

Transfer Familyのサーバを作成する際、VPC内部からのアクセスを有効にすると、VPCエンドポイントが作成されます。EC2サーバ(またはオンプレミスのサーバ)はこのVPCエンドポイント経由でTransfer Familyのサーバに接続します。

スライド4.PNG

あとサーバにアクセスする際、必要になるのはアクセスするためのユーザです。色々なユーザ認証の方式がありますが、Transfer Familyサーバの内部にユーザを作成する方法を記載しています。今回のSFTPサーバでは秘密鍵、公開鍵を使用したユーザ認証を行っており、下記の作業を実施しています。

  • Transfer Family上でSFTP用のユーザを作成する。
  • 秘密鍵と公開鍵のペアを作成する。
  • 公開鍵をTransfer Family上に保存する。
  • 秘密鍵をEC2上に保存する。

スライド5.PNG

ここまででEC2サーバからTransfer Family経由でS3にアクセスする準備が整いました。EC2サーバからSFTPユーザ名、秘密鍵、VPCエンドポイントのDNS名を指定して接続します。

スライド6.PNG

前頁のスライドをコマンドにすると下記の様になります。EC2サーバから下記のようなsftpコマンドを実行することによってTransfer Family経由でS3にアクセスすることが出来ます。

スライド7.PNG

アクセス制御

機密情報をS3バケットに保存する場合はしっかりとしたアクセス制御を行う必要があります。Transfer Family上にユーザを作成する際、ユーザにIAMロールを紐づけることが可能です。IAMロールでの制限やS3側のバケットポリシーで制限を行うことが可能です。また、今回説明を割愛させて頂きますが、ロジカルディレクトリの機能を使用することで、ユーザ毎に必要なディレクトリを割り当てるといったアクセス制御方法もあります。

スライド8.PNG

暗号化方式

Transifer Familyの暗号化仕様について、以前下記の記事にまとめました。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?