AWS Transfer Family S3向けのSFTP対応サーバー
2021/09/12
S3バケットは作成済です。
目次
IAMロールの作成
1 2 3 4 5 6 7 8 9 10 11 12 13 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } |
IAMロール作成時にTransferを選択するとtransfer.amazonaws.comの信頼ポリシーができました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::yamashita-transfer" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::yamashita-transfer/*" } ] } |
実行ポリシーはユーザーガイドのとおりで作成しました。
SSHキーの作成
1 2 3 |
ssh-keygen -P "" -m PEM -f aws-ft chmod 600 aws-ft |
macOSで作成しました。
後でSFTP対応サーバーのユーザー追加でaws-ft.pub(公開鍵)の内容を貼り付けます。
aws-ft(秘密鍵)は認証時に使用します。
SFTP対応サーバーの作成
プロトコル選択でSFTPを選択しました。
IPプロバイダーでサービスマネージドを選択しました。
エンドポイントのタイプはパブリックアクセス可能にしました。
ドメインでS3を選択しました。
CloudWatch ログ記録では、新しいロールを作成しました。
暗号化アルゴリズムはデフォルトのままです。
作成されたサーバーを選択して、[ユーザーを追加]ボタンを押下しました。
ユーザー名を入力してあらかじめ作成しておいたTransfer用のIAMロールを指定しました。
追加でポリシーでの権限の絞り込みができるようですが、今回はこのままにしました。
ホームディレクトリであらかじめ作っておいたS3バケットを選択しました。
ユーザー名と同じプレフィックスが自動的に設定されました。
[制限付き]にチェックしたことで指定したプレフィックス以下しかコントロールできなくなります。
接続テスト
1 2 3 4 5 6 |
sftp -i aws-ft yamashita@s-074dd40c9cd84fdb8.server.transfer.us-east-1.amazonaws.com Warning: Permanently added the RSA host key for IP address '44.193.96.237' to the list of known hosts. Connected to s-074dd40c9cd84fdb8.server.transfer.us-east-1.amazonaws.com. sftp> put sftp-test.txt |
オブジェクトがアップロードされていました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
EC2のAMIとRDSのスナップショットを他のAWSアカウントに共有してブログサイトをAWSアカウント間で引っ越す
当ブログで使用しているEC2とRDSを環境の整理のため、他のAWSアカウントへ引 …
-
-
T2.microからT3.nanoに変更(メモリエラーも対応)
このブログのEC2インスタンスをT2.micro 1インスタンスからT3.nan …
-
-
Amazon LinuxにAlfresco Community Editionをインストールする
ダウンロード準備 Alfresco公式サイトで、「エンタープライズコンテンツ管理 …
-
-
Amazon Linux 2023、T4Gインスタンス、PHP8にWordPressを移行しました
ブログをAmazon Linux 2からAmazon Linux 2023に移行 …
-
-
AWS CDKでクロススタックリファレンスをする
CloudFormationで複数のスタックで参照することがあります。 それをC …
-
-
Amazon Location Service入門ワークショップ-ルート計算
Amazon Location Service入門ワークショップのアプリで、ルー …
-
-
Route 53のホストゾーンにサブドメインを登録する
親ドメインを移行しないでサブドメインの DNS サービスを Amazon Rou …
-
-
kintoneで設定したスケジュールにあわせてlambda(python)からSQSへメッセージを送る
EC2の起動停止をそろそろ手動でやるのも疲れてきそうなのと、やはり停止するのを忘 …
-
-
AWS複数アカウントのリソースをLambda(Python)から一括操作したくて
AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …
-
-
JAWS-UG Osaka 第14回勉強会 「DIY」 〜自社内システムを作る側からの物申す〜に参加、運営、登壇しました
先日、JAWS-UG Osaka 第14回勉強会 「DIY」 〜自社内システムを …