CTO室情報システム担当の吉澤です!
AWS Lambda Custom RuntimeとCloudWatch Eventを使ってGDriveをS3にバックアップする自動化を行いました。
Custom Runtimeについては以下を参照にしてください。 docs.aws.amazon.com
ファイル構成
. ├── bootstrap ├── function.sh ├── jq ├── rclone ├── .rclone.conf
function.sh
function handler() {
ID=`echo $1 | /var/task/jq -r '.id'`
NAME=`echo $1 | /var/task/jq -r '.name'`
DATE=`date +%Y%m%d`
cp /var/task/.rclone.conf /tmp
/var/task/rclone dedupe --dedupe-mode rename --drive-skip-shortcuts ${ID}:
/var/task/rclone sync ${ID}: s3:roxx-gdrive-backup/sync/${NAME} --config=/tmp/.rclone.conf --fast-list --drive-alternate-export --drive-skip-shortcuts
}
bootstrapは以下を参照にしてください。 docs.aws.amazon.com
jsonを読み込むためのjqと、rcloneのバイナリも一緒にパッケージ化します。
--drive-alternate-exportと--drive-skip-shortcutsについては以下を参照してください。
rclone.org
.rclone.confはあらかじめローカルで設定したものをコピペします。
.rclone.conf
[gdrive] type = drive scope = drive token = *** team_drive = *** [s3] type = s3 provider = AWS env_auth = true region = ap-northeast-1 acl = private storage_class = GLACIER
S3のポリシーは、S3 Permissionsの項のExample policyを参考に設定してください。 rclone.org
引数
{'id':'gdrive', 'name':'Googleドライブ'}
今回はIT監査対応でバックアップを作成しました。 rcloneはいろんなストレージに対応しているので、バックアップ手法を模索している方検討してみてください。