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はいろんなストレージに対応しているので、バックアップ手法を模索している方検討してみてください。