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インスタンスの起動で、–cli-input-jsonと–cli-input-yamlを使いました
AWS CloudShellから実行しました。 JSON実行 [crayon-6 …
-
-
AWS Firewall Managerを設定して結果を確認
CloudFront対応のポリシーとして作成したかったので、Globalを選択し …
-
-
AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録
日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …
-
-
Developers Summit 2018 「AWSのフルマネージドな環境でCI/CDをやってみよう!AWS Cloud9からAWS Fargateへの継続的デプロイをご紹介」を聞きました
※写真は展示のAmazon Echoです。 以下は、思ったことや気になったことを …
-
-
Lambdaでちょっとしたコードを試すときに便利なエディタのフルスクリーン機能
Lambda歴6年で、はじめて使いました。 この存在に気がついてなかったです。 …
-
-
VPN接続先のADで管理されているドメインにEC2 Windowsインスタンスから参加する
オンプレミスに見立てたオハイオリージョンにVyOSインスタンスを起動して東京リー …
-
-
RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する
RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …
-
-
Amazon Q Developer for CLIでAWS Diagram MCP Serverを使ってAWSアイコンを使った図を書いてもらいました
MacにインストールしているAmazon Q Developer for CLI …
-
-
ブログのアーキテクチャをコストベースで見直しました
当ブログはAWSで構築しています。 アーキテクチャをコストを最重視して見直しまし …
-
-
「JAWS-UG DE&I AWS re:Invent 2024 recap サーバーレス ハンズオン」でサポーターしてきました
JAWS-UG DE&I開催の「AWS re:Invent 2024 r …