Какой самый эффективный способ экспортировать файлы из EC2 в S3 через определенные промежутки времени? - PullRequest
0 голосов
/ 08 октября 2019

В данный момент я работаю над проблемой, когда я хочу экспортировать файл на экземпляре EC2, работающем с Windows AMI с четырехчасовым интервалом, в корзину S3. В настоящее время архитектура, о которой я думаю, выглядит следующим образом.

1. CloudWatch Events rule using scheduled trigger
2. Rule triggers Lambda function to run
3. Lambda function would use some form of the AWS CLI on the windows EC2 instance to extract (sync, cp, etc.) the file
4. File is placed is S3 bucket 

Кто-нибудь видит путь, более эффективный, чем этот? Я хочу убедиться, что я обращаюсь с этим самым простым способом. Заранее спасибо за любой вклад!

Ответы [ 2 ]

2 голосов
/ 09 октября 2019

Довольно сложно заставить внешний код (например, функцию AWS Lambda) заставить что-то выполняться на компьютере с Windows. Вы можете использовать System Manager Run Command, но это довольно сложное решение.

Было бы намного проще иметь на компьютере Windows push файлы в Amazon S3:

  • Создание запланированного задания в Windows
  • Использование aws s3 cp или aws s3 sync для копирования файлов в Amazon S3

Готово!

2 голосов
/ 08 октября 2019

Ваше решение кажется надежным. В качестве альтернативы вы можете написать демоноподобную службу (фоновый процесс), которая выполняется на каждом EC2 и выполняет передачу данных из этого экземпляра на S3. Что мне нравится в вашем решении, так это то, как вы можете легко централизованно управлять расписанием. Для моего распределенного решения вы можете иметь процессы, считываемые из центральной конфигурации, но это кажется более сложным, чем решение CW / Lambda.

Для решения процессов EC2 это может быть полезно: Как смонтировать AmazonS3 Bucket в качестве накопителя Windows , но должно быть легко (и более масштабируемо) просто использовать AWS SDK вместо того, чтобы общаться с S3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...