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 クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター3年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
AWS Organizations組織の移動
AWS Organizations組織の移動 やりたいことは、Organizat …
-
-
DS18B20センサー+Raspberry Piで取得した温度をAmazon Kinesis FirehoseからS3へ格納してAthenaでクエリーしたのをQuickSightで可視化する
JAWS DAYS 2017でやりますハンズオンの「[IoTハンズオン] Ras …
-
-
Amazon EC2 Auto Scalingのライフサイクルフック
EC2 Auto Scalingにライフサイクルフックという機能があります。 ス …
-
-
Amazon Chimeのチャットを使ってみました
Amazon Chimeはビデオミーティングや配信したりというサービスですが、チ …
-
-
このブログをAWS大阪リージョンへ移行しました
大阪リージョン爆誕!! 朝起きて寝ぼけながらリージョンを見てると。 「大阪リージ …
-
-
Amazon Linux2のPHPを7.2から7.3へアップデートしました
WordPressのサイトヘルスの推奨に従って使っていないテーマを削除したの推奨 …
-
-
RDSの拡張モニタリングを有効にしました
RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …
-
-
AWSクイックスタートのActive Directory Domain Services on AWS
オンプレミスに見立てたActive Directory環境がほしかったので、AW …
-
-
AWS Personal Health Dashboardのパブリックイベントの記録
東京リージョンで発生したので、スクリーンショットを取っておいたので記録しておきま …
-
-
VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した
2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …