Transfer:ことはじめ
概要
S3からデータを見たいんだって、別会社の人が。
SFTPじゃなくてもいい気がするんだけど、いつのまにかやることが決まってたから作る。
打ち合わせ呼んでクレメンス、、、立ててるだけで2万超えるやで。
はぁ。。。
手順
Transfer構築
CloudWatch Logs用のロールつくる
Transferが吐くログをCloudWatch Logsに記録させるために、先にロールをつくる
信頼関係はTransfer(TransferがCloudWatch Logsにログを送るから)
Transfer たてる
Custom hostname書くとR53にCNAMEを勝手につくってくれる。便利。
ちなみにhoge-hogeo.comは僕の持ち物ではないので、名前解決はできない。(ブログ用ダミー)
SFTPユーザ使う場合は左(多分)
Logging roleは↑で作ったロールを入れる
完成
stopしてもお金は払ってや
検証で立てたらちゃんとdeleteしないと死ぬやつや
ユーザつくる
ポリシーつくる
権限はよしなに。
これはメンテナンス用ユーザのポリシーだからcreate/delete bucket以外の権限を付けといた。
ロールつくる
作ったポリシーをアタッチする。
信頼関係はTransfer(TransferがS3にモノを置いたりするから)
Transferコンソールからユーザを作成する
Home directoryはS3バケット名、Optionalを入れなければs3://バケット名/がログインしたときのホームディレクトリになる
test.txtを配置しておく
S3のバケットポリシーは空。あとでちゃんとバケットポリシー埋めないと。。。
動作確認
見れた。
$ sftp -i .ssh/key.pem test-sftp@sftp.hoge-hogeo.com Connected to test-sftp@sftp.hoge-hogeo.com. sftp> ls test.txt sftp> ls -l -rwxr--r-- 1 - - 17 Oct 10 05:49 test.txt
SFTPのコマンド分からん。
CloudWatch Logs
ログインしたら、CONNECTEDのログが出た。
一応S3が直接見れないことを確認。
$ aws s3 ls s3://staging-xxxxxxxx An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied