RDS на S3, используя pg_dump напрямую (без посредника)

Возможно выполнить pg_dump в RDS или в S3 (без использования посредника, такого как ec2 для выполнения команды)

Ответ 1

Вы должны иметь доступ к нему, если ваша группа безопасности db разрешает внешний доступ к порту 5432 (по умолчанию для postgres). Затем вы можете просто запустить:

pg_dump -h <database_host> -U <username> <database>

Имейте в виду, что ваше соединение не будет зашифровано.

AFAIK, в AWS нет интерфейса между RDS и S3, поэтому вам нужно будет использовать посредника для передачи данных на S3.

Ответ 2

AWS CLI добавила поддержку загружает из stdin, поэтому теперь у вас есть возможность сделать что-то вроде этого:

pg_dump ...dbargs... | aws s3 cp - s3://my-bucket/backup-$(date "+%Y-%m-%d-%H-%M-%S")

Это не идеально, поскольку вы переходите на локальную машину, а затем в s3 - но это хотя бы одна команда.