현재 이 상황에 대해 꽤 혼란스럽습니다. 업로드를 위해 BackBlaze B2 버킷을 사용 중입니다. (이미지 + 에셋) BunnyCDN을 함께 사용하고 있습니다. B2 Cloud Storage는 톰스톤(tombstone)을 지원하지 않습니다. 그래서 사용하지 않는 이미지와 스크립트가 많이 남아 있습니다. 이제 이 업로드된 파일들을 동일한 BunnyCDN 설정을 유지하면서 Digital Ocean Spaces로 마이그레이션하고, 오리지널 URL만 DO로 변경하려 합니다.
B2 Cloud Storage를 설정할 때 이 훌륭한 가이드를 참고했습니다. 이제 DO 버전을 적용하려고 합니다.
마이그레이션을 수행하는 가장 좋은 방법은 무엇인가요? 업로드된 파일이 약 10GB 정도 됩니다. B2에는 스냅샷 기능이 있지만 너무 느립니다. 콘솔 명령어 rake uploads:migrate_from_s3는 먼저 S3에서 모든 것을 다운로드한 후, 이미지 때문에 매우 느린 과정인 포스트 리베이킹(rebake)이 필요합니다. 이 과정을 거친 후에야 모든 것을 DO Spaces에 업로드할 수 있습니다. 맞습니까?
B2 Cloud Storage에서 스냅샷을 만든 후, 이를 수동으로 컴퓨터로 다운로드하여 모든 것을 DO Spaces에 업로드하면 어떻게 되나요? 이 과정 이후에 BunnyCDN 풀 존의 오리지널 URL을 DO Spaces로 변경하고 app.yml 파일을 수정한 후 재빌드(rebuild)합니다. 이렇게 하면 포스트 리베이킹이 필요하지 않은가요?
한 가지 더 질문이 있습니다… DO Spaces에 있는 사용하지 않는 파일이나 이미지는 어떻게 되나요? 시스템이 이 파일들을 인식하고 삭제할까요?
감사합니다! 그러면 이 프로세스는 S3의 모든 내용도 백업하나요? 컴퓨터로 다운로드한 후 B2 클라우드 스토리지에 거대한 백업 파일이 생성되는 건가요? 그리고 복원하기 전에 app.yml 파일과 CDN을 DO Spaces를 가리키도록 변경하면, 파일이 DO Spaces로 복원되는 건가요?
하지만 백업 파일을 만들 때 app.yml 파일에는 올바른 위치로 복원할 수 있도록 DO Spaces 정보가 포함되어 있어야 하지 않나요? 아니면 백업 파일을 만든 후 백업 내부의 app.yml 파일을 수정할 수 있나요?
아 맞다, 백업도 B2 클라우드 스토리지에 있다는 걸 깜빡했네요. 그냥 또 다른 버킷이니까요.
로그에서 JS 파일 관련 “url forbidden” 경고가 많이 발생했었습니다. 지금은 로그가 깨끗해졌습니다. 때로는 컴포저가 멈추거나 이와 유사한 버그가 발생하기도 했었는데, 지금은 매끄럽고 빠릅니다.
API 키가 만료되었을 때 우리에게 통지를 하지 않는 점이 가장 큰 문제 중 하나입니다. B2 패널에는 만료되지 않는다고 표시되어 있지만, 실제로는 몇 달마다 만료되어 사이트가 깨지는 일이 반복되었습니다. B2에 가용성 문제나 불안정한 요인이 있는 것 같습니다. 때로는 이미지 업로드가 깨지는 현상도 발생했기 때문입니다.
푸시 알림 문제도 있었던 것 같고, 이것이 원인 중 하나일 수도 있지만, 아직 확신은 없습니다. 현재 테스트를 진행 중입니다.
우리에게는 프랑크푸르트에 있는 DigitalOcean Spaces로 이전하는 것이 좋은 선택이었습니다. 포럼도 그곳에 있기 때문입니다. 지금까지 더 빠르고 안정적이었습니다. 앞으로도 좋기를 바랍니다.