2017-11-29 4 views
0

S3 수명주기 규칙을 사용하여 개체를 빙하로 이동합니다. 개체가 빙하 저장소로 옮겨 지므로 내 애플리케이션 RDS도 이 비슷한 세부 정보로 업데이트되었는지 확인해야합니다.RDS를 사용하여 AWS 빙하 저장 공간 변경 동기화

이 스레드에 대한 내 토론에 따라 AWS Lambda for objects moved to glacier, 현재 SQS 알림을 생성하여 개체가 빙하로 이동한다는 알림을받을 방법이 없습니다.

또한 내 이해에 따라 현재 수명주기 규칙은 하루에 한 번 평가되지만 하루에 특정 시간이 발생하지는 않습니다. 만약 내가 그 후에 실행하고 RDS에 보관 된 개체의 상태를 업데이 트하는 스케줄러를 계획했다.

AWS & RDS간에이 상태 변경을 동기화 할 수있을만큼 가까운 방법을 제안 할 수있는 방법이 있습니까?

사용 사례를 이해하려면 피드백을 보내 주시거나 이에 대한 자세한 정보가 필요하시면 알려주십시오.

=== 현재 접근 방식은 다음과 같습니다.

다음은 내가 구현 한 정확한 흐름입니다. 더 나은 방법으로 수행되었을 수있는 일이 있으면 검토하고 알려주십시오.

개체가 시스템에 업로드 될 때 상태 Tagged로 표시하고 생성 날짜도 캡처합니다. 내 라이프 사이클 규칙은 생성 후 30 일 이내에 구성됩니다. 따라서 상태가 Tagged 인 모든 객체에 대해 오늘 날짜와 객체 생성 날짜의 차이를 계산하고 diff가 30보다 큰지 확인하는 스케줄러가 있습니다. 그렇다면 상태가 Archived로 업데이트됩니다.

사용자가 상태가 보관 된 객체에 대해 작업을 수행하면 객체가 실제로 빙하로 이동했는지 여부를 명시 적으로 확인합니다. 그렇지 않으면 요청한 작업을 수행합니다. 빙하로 이동하면 복원 프로세스가 시작되고 복원이 완료되어 작업 요청을 시작합니다.

귀하의 생각에 감사 드리며 위의 방법에 대한 귀하의 의견을 듣고 싶습니다.

감사합니다.

답변

0

이것을 구현하고 싶다면 데이터베이스에있는 개체의 저장소 클래스를 전환 할 것으로 예상되는 시작일에 "Glacier/Archived"로 설정합니다.

이미 수명주기 정책을 알고 있으며 개체 메타 데이터의 일부로 각 개체의 생성 시간도 알고 있습니다. 그런 다음 매일 밤 12시에 실행되도록 예약 할 수있는 간단한 쿼리가됩니다.

개체 액세스가 요청 된 순간에 개체가 Glacier로 전환되었는지 확인하는 알고리즘을 정의하면 응용 프로그램을 더욱 향상시킬 수 있습니다. 실제로 알고리즘이 실제로 전환되었는지 여부를 명시 적으로 확인합니다. 빙하/아카이브로 표시된 날짜가 하루 이상이면 확인이 더 이상 필요하지 않습니다.

물론 위의 해결 방법이 효과가 없을 경우 스캐너 응용 프로그램을 작성하여 "DateTime.Today"에서 전환 할 것으로 예상되는 개체의 상태를 계속 확인할 수 있습니다. 빙하/아카이브로 아직 표시되지 않았습니다.

+0

안녕하세요 Sepehr Samiei, 답변 해 주셔서 감사합니다. 내가 제안한 것과 비슷한 동작을 구현했습니다. 같은 것을 성취 할 수있는 더 좋은 방법이 있는지 확인하고 싶었습니다. 방금 찍은 접근 방식으로 원래의 질문을 업데이트했습니다.같은 생각을 나누고 더 나은 방법으로 내가 할 수있는 부분을 알려주십시오. – user1246979

+0

이 방법을 구현하는 일반적인 방법은 접근 방식입니다. 가능한 한 눈에 띄는 개선 사항은 개체가 하루 이상 보관 된 것으로 표시되었는지 확인하는 것입니다. 그렇다면 실제로 아카이브 된 것인지 확인하는 데 필요한 API 호출을 저장할 수 있습니다. 이는 30 일이 넘는 오브젝트가 항상 아카이브된다는 것을 알고 있기 때문입니다. –