AWS Transfer Family を使ってみた。
案件でSFTP経由でS3にデータをストアすることになったので、
AWSのSFTPサーバのサービスを使ったみました。
これが参考になった。
「create server」 を選択
「SFTP」を選択
「Service managed」を選択
「public accessible」を選択
事前に作成したIAMロールを選択
最後にreviewで問題なければCreate
サーバができたら続いて、ユーザーの追加を行います。
「Add User」をクリック
各項目を埋めていく。
Home directoryはS3バケットとなる。
SFTP接続用のBashスクリプト(sftp.sh)作ってみた。
#! /bin/bash set -x if [ $# -ne 7 ]; then echo "expected 6 args..." exit 200 fi SSH_KEY_PAIR=$1 SFTP_USER=$2 SFTP_HOST=$3 ORIG_FILE=$4 PUT_DIR=$5 PUT_PATH=$6 PUT_FILE=$7 iconv -f cp932 -t utf8 $ORIG_FILE > $PUT_PATH echo "sftp -i $SSH_KEY_PAIR ${SFTP_USER}@${SFTP_HOST}" echo "ORIG_FILE: $ORIG_FILE" echo "PUT_DIR: $PUT_DIR" echo "PUT_FILE: $PUT_FILE" sftp -i $SSH_KEY_PAIR ${SFTP_USER}@${SFTP_HOST} << ! cd $PUT_DIR put $PUT_PATH ls $PUT_FILE bye ! rm $PUT_PATH exit 0
実行コマンドは下記
# bash sftp.sh $ssh_key_pair $sftp_user $sftp_host $file_path $sftp_put_dir $temp_file_path $temp_file_name