hoge-hogeoのひきこもごも

インフラエンジニアだけど形を持ったインフラを触ったことがない人の徒然

Transfer:ことはじめ

概要

S3からデータを見たいんだって、別会社の人が。

SFTPじゃなくてもいい気がするんだけど、いつのまにかやることが決まってたから作る。

打ち合わせ呼んでクレメンス、、、立ててるだけで2万超えるやで。

はぁ。。。

手順

Transfer構築

CloudWatch Logs用のロールつくる

Transferが吐くログをCloudWatch Logsに記録させるために、先にロールをつくる f:id:hoge-hogeo:20191011150336p:plain

 

信頼関係はTransfer(TransferがCloudWatch Logsにログを送るから) f:id:hoge-hogeo:20191011150457p:plain

Transfer たてる

Custom hostname書くとR53にCNAMEを勝手につくってくれる。便利。

ちなみにhoge-hogeo.comは僕の持ち物ではないので、名前解決はできない。(ブログ用ダミー)

SFTPユーザ使う場合は左(多分)

Logging roleは↑で作ったロールを入れる f:id:hoge-hogeo:20191011151854p:plain

完成

f:id:hoge-hogeo:20191011152304p:plain

stopしてもお金は払ってや

検証で立てたらちゃんとdeleteしないと死ぬやつや f:id:hoge-hogeo:20191011154030p:plain

ユーザつくる

ポリシーつくる

権限はよしなに。

これはメンテナンス用ユーザのポリシーだからcreate/delete bucket以外の権限を付けといた。 f:id:hoge-hogeo:20191010152408p:plain

ロールつくる

作ったポリシーをアタッチする。 f:id:hoge-hogeo:20191010152955p:plain

信頼関係はTransfer(TransferがS3にモノを置いたりするから) f:id:hoge-hogeo:20191011145708p:plain

Transferコンソールからユーザを作成する

Home directoryはS3バケット名、Optionalを入れなければs3://バケット名/がログインしたときのホームディレクトリになる f:id:hoge-hogeo:20191010153101p:plain

test.txtを配置しておく f:id:hoge-hogeo:20191010150141p:plain

S3のバケットポリシーは空。あとでちゃんとバケットポリシー埋めないと。。。 f:id:hoge-hogeo:20191010151453p:plain

動作確認

見れた。

$ 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のログが出た。 f:id:hoge-hogeo:20191011153104p:plain

一応S3が直接見れないことを確認。

$ aws s3 ls s3://staging-xxxxxxxx

An error occurred (AccessDenied) when calling the ListObjectsV2 operation: Access Denied