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 |
オブジェクトがアップロードされていました。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
【PR】 「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第2版」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
試そうとしてたらSavings Plans買っちゃいました
Savings Plansの購入画面を確認していました。 画面遷移も確認しようと …
-
-
Projectタグを強制するSCPでアクションやリソースを限定しないとき成り立つのか
ふと疑問に思ったので試しました。 予想は、拒否されてしまう、です。 [crayo …
-
-
CloudFormation Lambda-backedカスタムリソースチュートリアルをやりました
チュートリアル: Amazon マシンイメージ ID を参照するの手順に従ってや …
-
-
AWS Toolkit for Eclipseで「Error Message: Unable to find a region via the region provider chain. Must provide an explicit region in the builder or setup environment to supply a region.」
AWS Toolkit for Eclipseをセットアップ(2021年版)の環 …
-
-
AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました
新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …
-
-
RDSの拡張モニタリングを有効にしました
RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …
-
-
API Gatewayから直接 DynamoDBに書き込む
やりたいこと WebページでOやXを押したときに、どっちを押したかをDynamo …
-
-
AWS Lambda(Python)でDynamoDB テーブルを日次で削除/作成(オートスケーリング付き)
この記事はAWS #2 Advent Calendar 2018に参加した記事で …
-
-
EC2インスタンスWindowsでセッションマネージャーを使う
WindowsのEC2インスタンスでセッションマネージャーを使ってみたことがない …
-
-
CodeDeployでECR、ECSにデプロイするパイプラインのチュートリアル
チュートリアル: Amazon ECR ソースと、ECS と CodeDeplo …