RDS 콘솔과 AWS backup에서 Aurora 클러스터 복원 시의 동작 차이

소개



DX 기술 본부의 yu-yama@sra입니다.

AWS 환경에서 DB (Aurora) 백업 복원을 확인할 때,
AWS Backup 에서 복구 포인트에서 복원 할 때의 거동이 생각했던 것과 다르므로 여기에 적습니다.

TL;DR



AWS Backup에서 복원하면 인스턴스가 생성되지 않으므로 그대로 DB에 액세스할 수 없습니다. RDS 콘솔에서 복원합시다.

Aurora 클러스터를 AWS Backup 복원 작업에서 복구 지점에서 복원하는 동작


  • AWS backup 콘솔에서 복원하는 경우
  • 클러스터는 생성되지만 0 인스턴스가 됩니다.
  • DB 클러스터의 엔드 포인트 작성 상태는 계속 작성 중입니다. . .
    물론 DB에는 액세스할 수 없다.
  • 이 상황은 DB 클러스터만 생성되고 클러스터의 기본 인스턴스나 복제본 인스턴스가 생성되지 않은 상태입니다 1
    2
  • 복원을 수행하면 복구 지점 시점의 상태에서 새로 클러스터가 시작되고 DB에 액세스할 수 있는 상태가 되기를 기대했습니다.

  • 이 상태에서 DB에 액세스하려면


  • 인스턴스가 없으므로 인스턴스를 만들어야 합니다.
  • 관리 콘솔의 현재 동작으로 RDS 콘솔에서 기본 인스턴스를 추가하는 작업을 수행할 수 없으므로 AWS CLI create-db-instance와 같은 API에서 클러스터에 DB 인스턴스를 추가합니다.

  • 참고 : Amazon Aurora DB 클러스터 - Amazon Aurora

    콘솔을 사용하여 DB 클러스터를 생성하면 Amazon RDS는 자동으로 사용할 DB 클러스터의 기본 인스턴스(작성자)를 생성합니다. AWS CLI를 사용하여 DB 클러스터를 생성하는 경우 사용할 DB 클러스터의 기본 인스턴스를 명시적으로 생성해야 합니다. 기본 인스턴스는 DB 클러스터에서 생성된 첫 번째 DB 인스턴스입니다.

    DB 클러스터의 기본 인스턴스를 생성하려면 create-db-instance AWS CLI 명령을 호출합니다. --db-cluster-identifier 옵션 값으로 DB 클러스터의 이름을 포함합니다.

    Linux, macOS, Unix의 경우:aws rds create-db-instance --db-instance-identifier sample-instance --db-cluster-identifier sample-cluster --engine aurora-postgresql --db-instance-class db.r4.largeWindows의 경우:aws rds create-db-instance --db-instance-identifier sample-instance --db-cluster-identifier sample-cluster --engine aurora-postgresql --db-instance-class db.r4.large
  • 인스턴스를 작성하면, 드디어 DB에 액세스 할 수 있는 상태가 됩니다.

  • Aurora 클러스터를 RDS 콘솔에서 DB 스냅샷에서 DB 클러스터를 복원한 경우의 동작


  • AWS backup에서 얻은 스냅 샷은 RDS 콘솔에서도 볼 수 있으므로 "RDS-스냅 샷 - 백업 서비스 - 대상 스냅 샷 선택 - 스냅 샷 복원"으로 복원합니다.

    Amazon Aurora DB 클러스터 생성 - Amazon Aurora
  • 인스턴스가 생성된 상태에서 새 클러스터가 시작됨
    3
  • DB에 액세스할 수 있는 상태입니다.

  • 요약



    AWS backup으로 백업을 중앙에서 관리할 수 있게 되었으나 복원 사양이 각 서비스의 콘솔과 다를 수 있으므로 AWS backup에서 복원할 때 필요 확인.



    클러스터 볼륨이 복구 중입니다.

    AWS Support에 확인했는데 사양이었습니다.

    인스턴스도 자동으로 생성됩니다.

    좋은 웹페이지 즐겨찾기