programing

Amazon RDS : 기존 인스턴스로 스냅 샷 복원

randomtip 2021. 1. 18. 07:54
반응형

Amazon RDS : 기존 인스턴스로 스냅 샷 복원


내 인스턴스의 스냅 샷을 생성하고 DB에서 원치 않는 변경을했습니다.

이제이 스냅 샷에서 인스턴스를 복원하고 싶습니다.

내가 그것을하려고 할 때-그것은 내가 가진 것에 추가로 하나 더 인스턴스를 생성합니다.

"DB Instance Identifier"를 지정하고 그 후에 동일한 ID를 가진 두 개의 인스턴스를 얻습니다.

그래서 내 질문 : 기존 인스턴스에 스냅 샷을 복원하는 방법이 있습니까?

다른 경우에는 새 인스턴스가 다른 엔드 포인트 (호스트 이름)로 생성되고 데이터베이스에 액세스하기 위해 구성을 변경해야하기 때문입니다. 아니면 그러한 사례를 관리하는 더 좋은 방법이 있습니까?


아니요, 기존 DB 인스턴스를 수동 백업 또는 특정 시점 스냅 샷으로 복원 할 수 없습니다.

수동 백업 또는 자동 스냅 샷을 사용할 수있는 유일한 방법은이를 사용하여 새 RDS DB 인스턴스를 생성하는 것입니다. 새 DB 인스턴스가 생성되면 앱 / 코드에서 DB의 엔드 포인트를 변경하고 이전 DB 인스턴스를 삭제할 수 있습니다.

결론 : 앱에서 구성 설정을 변경해야합니다. 다른 옵션은 없습니다.


구성을 변경하지 않고 데이터를 복원하기 위해 나처럼 여기에 온 사람이 있다면.

단계는 다음과 같습니다.

  • 자동 스냅 샷 또는 수동으로 생성 된 스냅 샷에서 새 인스턴스 (temp)를 만듭니다.
  • Sequel pro 또는 Mysql 워크 벤치에서이 인스턴스에 연결합니다.
  • 이 임시 인스턴스에서 필요한 모든 데이터의 SQL 덤프를 가져옵니다.
  • 프로덕션 인스턴스를 연결하고 복원하십시오.
  • 이제 생성 한 임시 인스턴스를 삭제합니다.

원래 인스턴스의 이름을 바꾸고 원래 이름으로 새 인스턴스의 이름을 지정합니다.

https://aws.amazon.com/blogs/aws/endpoint-renaming-for-amazon-rds/


오늘도 같은 문제가 발생했습니다. 응용 프로그램의 구성 설정을 변경하지 않고 두 가지 옵션이 있다고 생각합니다.

  1. Mike가 제안한대로 이전 인스턴스를 삭제 한 다음 복원하십시오.

  2. 먼저 이전 인스턴스의 이름을 바꿉니다 (이름을 바꿀 때 "즉시 적용"옵션을 선택해야 함).


@MaXimus가 말했듯이 (아직 코멘트를 추가 할 수 없습니다) 다음을 수행 할 수 있습니다.

  1. 먼저 원본 인스턴스의 이름을 바꿉니다.
  2. 스냅 샷에서 복원하고 원래 인스턴스 이름 할당

Renaming to Replace an Existing DB Instance여기에 지정된대로 : https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html


복원 된 db를 새 이름으로 만든 후 현재 인스턴스의 이름을 ...- old로 바꿀 수 있으며, 이렇게하면 db url도 이름이 바뀝니다. URL도 변경된 후 복원 된 db의 이름을 이전에 사용 된 이름으로 변경하고 db의 URL이 변경 될 때까지 기다려야합니다. 그런 다음 서비스를 다시 시작해야하며 복원 된 DB에 연결됩니다.

이로 인해 전혀 중단되지 않습니다.

참조 URL : https://stackoverflow.com/questions/24278220/amazon-rds-restore-snapshot-to-existing-instance

반응형