2016-06-23 3 views
1

S3 버킷을 여러 Windows EC2 인스턴스의 단일 디렉토리와 동기화하려고합니다. 파일이 버킷에서 업로드되거나 삭제되면 모든 인스턴스에서 즉시 푸시되거나 제거됩니다. 새 인스턴스가 자주 추가되거나 제거됩니다 (주당 여러 번). 파일은 자주 업로드/삭제됩니다. 파일 크기는 최대 2GB 크기가 될 수 있습니다. 어떤 AWS 서비스 또는 기능이이를 해결할 수 있습니까?AWS S3 버킷을 EC2 인스턴스와 동기화

+1

인스턴스를 S3-http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html에서 동기화 할 수 있도록 S3에서 이벤트를 만들기 위해 SNS를 사용할 수 있습니다. SNS 이벤트/알림은 변경 사항을 알 수 있지만 인스턴스에서 파일을 푸시/전파 할 수는 없지만 해당 인스턴스에 대한 알림을 보내 S3에서 새 객체를 가져올 수 있습니다. –

+0

감사합니다 프레드릭 SNS 알림, 알림을 보내려면 인스턴스 목록을 유지해야합니까? – PrestonM

+0

계정에서 실행중인 모든 인스턴스에 파일을 "보내려면"aws API를 사용하여 목록을 검색 할 수 있으므로 목록을 유지할 필요가 없습니다. –

답변

1

당신이 기술 한 내용을 바탕으로, 나는이 문제에 대한 다음과 같은 솔루션을 제안 할 것입니다.

당신은 S3 변경 알림에 대한 SNS 항목을 작성해야합니다. 그런 다음 컴퓨터에서이 항목을 구독 할 스크립트가 필요합니다. 이 스크립트는 S3에서 오는 변경 사항을 기반으로 컴퓨터의 파일을 업데이트합니다. 기본 CRUD 작업을 지원해야합니다.

S3의 내용을 위에서 언급 한 aws-cli을 사용하기 시작할 때 컴퓨터로 동기화하십시오.

-1

편집 : EC2 & 대상 : 버킷 이 다음 대답은 S3 버킷, 소스와 EC2를 동기화하는 것입니다. 그것은 단지 하나의 예를 들어 있다면

는 만 aws cli sync (--delete 옵션 으로는) 모두 일을했을 : S3 버킷에 파일을 넣고 삭제합니다.

은 그러나 여기 경우는 여러 인스턴스입니다, 그래서 우리는 --delete 옵션 aws s3 sync을 사용하는 경우, 문제가 될 것입니다.

파일 a.jpg 버킷에 동기화 할 & b.jpg와 인스턴스 I1을 고려, 간단하게 설명합니다. 이제 CRON 작업이 파일을 S3 버킷과 동기화했습니다.

이제 우리는 파일 c.jpg & d.jpg을 가지고 인스턴스 I2 있습니다. 해당 파일이 존재하지 않기 때문에 이 인스턴스의 CRON 작업이 실행될 때,이 파일을 c.jpg & d.jpg을두고 또한 파일을 a.jpg & b.jpg을 삭제 in 인스턴스 I2. 모든 인스턴스에서

  1. 동기화 모든 파일 (비싼 및 전부 S3의 목적을 제거) :

    그래서 우리는 두 가지 접근 방법이 문제를 해결합니다.
  2. --delete 옵션이없는 파일을 동기화하고 별도로 (aws s3 rm을 사용하여) 삭제를 구현하십시오.
+2

내 질문을 거꾸로 해석했다고 생각합니다. 파일은 버킷 **에서 ** ec2 인스턴스로 동기화됩니다. – PrestonM

+0

아 아, 미안해. 일반적으로 사람들은 다른 방향을 필요로합니다. –

관련 문제