스토리지 오토 스케일링을 설정한 후 Amazon RDS DB 인스턴스가 storage-full 상태가 되거나 사용 가능한 스토리지 공간이 부족한 이유는 무엇입니까?

4분 분량
0

Amazon Relational Database Service(Amazon RDS) DB 인스턴스의 스토리지 오토 스케일링을 사용했지만 사용 가능한 스토리지 공간이 10% 미만입니다. 또는 인스턴스가 storage-full 상태입니다.

간략한 설명

DB 인스턴스의 스토리지를 변경하면 DB 인스턴스는 storage-optimization 상태가 됩니다. storage-optimization 상태는 일반적으로 완료에 몇 분이 걸리지만 24시간 이상 걸릴 수 있습니다. 프로세스를 모니터링하려면 Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 사용합니다.

참고: 마지막 스토리지 수정 후 6시간 또는 storage-optimization이 완료될 때까지 시간(둘 중 더 긴 시간) 동안에는 추가로 스토리지를 수정할 수 없습니다.

storage-optimization 중에는 사용 가능한 스토리지 공간이 10% 미만이더라도 오토 스케일링으로 DB 인스턴스의 스토리지 증가가 불가능합니다.

오토 스케일링을 사용하여 DB 인스턴스의 스토리지를 늘리면 다음 증분 중 더 큰 값만큼 추가 스토리지가 증가합니다.

  • 10GiB
  • 현재 할당된 공간의 10%
  • 지난 1시간 동안의 FreeStorageSpace 지표를 기반으로 하는 7시간 동안의 스토리지 증가 예측

1시간 이내에 50GB의 데이터를 로드하려는 경우 스토리지를 10% 늘리는 것으로는 충분하지 않습니다. 이전 오토 스케일링 작업이 storage-optimization 상태이므로 프로세스가 완료될 때까지는 DB 인스턴스의 스토리지를 수정할 수 없습니다. 그에 따라 DB 인스턴스는 최대 몇 시간 동안 storage-full 상태가 될 수 있습니다.

해결 방법

RDS DB 인스턴스 스토리지를 수정할 수 없는 경우 인스턴스의 상태를 확인합니다. DB 인스턴스가 storage-full 또는 available 상태인 경우 지난 6시간 동안 스토리지 수정이 발생했는지 확인합니다. 스토리지 증가 작업이 최근에 실시되었는지 확인하려면 DB 인스턴스의 이벤트에서 다음 메시지를 확인합니다.

"Finished applying modification to allocated storage."

-또는-

"Finished applying autoscaling-initiated modification to allocated storage."

DB 인스턴스가 storage-optimization 상태인 경우 Amazon Elastic Block Store(Amazon EBS) 스토리지가 더 많은 DB 인스턴스로 데이터베이스를 복원하십시오.

참고: DB 인스턴스가 storage-full 상태인 경우 먼저 DB 인스턴스로의 데이터 로드를 중지해야 합니다. 이 프로세스는 인스턴스 상태가 storage-full이 되지 않을 때까지 몇 분에서 몇 시간이 걸릴 수 있습니다.

DB 인스턴스 상태가 storage-full이 아닌 경우 다음 방법 중 하나를 사용하여 DB 인스턴스 스토리지 크기를 수정하십시오.

  • 옵션 1: DB 인스턴스의 읽기 전용 복제본을 만들고 승격합니다.
  • 옵션 2: 수동 DB 스냅샷을 만들고 DB 인스턴스를 지정된 시점으로 복원합니다.
  • 옵션 3: FreeStorageSpace 값이 낮으므로 오토 스케일링을 끕니다.

참고: 옵션 1과 2를 사용하면 데이터베이스 가동이 중지됩니다. 하지만 옵션 1은 옵션 2보다 가동 중지 시간이 짧습니다. 읽기 전용 복제본은 MariaDB, Microsoft SQL Server, MySQL, Oracle, PostgreSQL DB 엔진에서 지원됩니다.

RDS DB 인스턴스의 읽기 전용 복제본 만들기 및 승격

다음 단계를 완료합니다.

  1. DB 인스턴스의 읽기 전용 복제본을 만듭니다.
  2. 읽기 전용 복제본의 스토리지 용량을 늘립니다. 기본적으로 Amazon RDS 스토리지 오토 스케일링은 읽기 전용 복제본에서 비활성화됩니다.
  3. 다른 이름으로 활성 DB 인스턴스의 이름을 변경합니다. 이렇게 하면 트래픽 수신이 중지됩니다.
  4. 읽기 전용 복제본의 이름을 활성 DB 인스턴스에 사용한 이름으로 변경합니다. 이렇게 하면 읽기 전용 복제본 엔드포인트가 활성 DB 인스턴스와 동일하게 변경되며, 애플리케이션을 다시 구성할 필요가 없습니다.
  5. 읽기 전용 복제본을 승격합니다.

참고: 애플리케이션 또는 클라이언트의 경우 3~5단계에서 데이터베이스 가동 중지 시간이 발생합니다.

수동 DB 스냅샷을 만들고 RDS DB 인스턴스를 지정된 시점으로 복원

다음 단계를 완료합니다.

  1. 활성 DB 인스턴스의 이름을 변경하여 수신 트래픽을 중지하고 storage-full 상태가 되지 않도록 합니다. DB 인스턴스가 storage-full 상태인 경우 다음 단계를 진행할 수 없습니다.
  2. DB 인스턴스의 DB 스냅샷을 만듭니다.
    참고: 스냅샷은 storage-optimization 스토리지 수정 이벤트에서 복원된 DB 인스턴스를 막습니다.
  3. 특정 시점으로 DB 인스턴스를 복원하려면 최근의 복원 가능한 시간을 선택합니다. 인스턴스 식별자에는 활성 DB 인스턴스에서 사용한 이름을 입력합니다.
    참고: 오토 스케일링 증가로 storage-optimization 상태가 되지 않도록 오토 스케일링을 활성화하지 마십시오.
  4. (선택 사항) 사용자 지정 보안 그룹을 포함하도록 복원된 DB 인스턴스를 수정합니다. 기본 데이터베이스 보안 그룹이 새 DB 인스턴스에 적용됩니다.
  5. 새 DB 인스턴스의 스토리지 용량을 늘립니다.

참고: 애플리케이션 또는 클라이언트의 경우 1~4단계에서 데이터베이스 가동 중지 시간이 발생합니다.

FreeStorageSpace 부족으로 인한 오토 스케일링 끄기

오토 스케일링을 끄면 추가 스토리지가 자동으로 할당되지 않으며 수동으로 스토리지 할당을 제어할 수 있습니다. 예를 들어, 오토 스케일링이 스토리지를 10% 늘릴 예정이지만 오토 스케일링 이벤트가 시작되기 전에 스토리지를 10% 이상 늘리려고 합니다. 이 경우 오토 스케일링을 끄십시오.

오토 스케일링을 끄려면 다음 단계를 완료합니다.

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 데이터베이스를 선택하고, 데이터베이스를 선택합니다.
  3. 수정을 선택합니다.
  4. 스토리지추가 스토리지 구성에서 스토리지 오토 스케일링 사용 선택을 취소합니다.
  5. 계속을 선택합니다.
  6. 즉시 적용 또는 예약된 다음 유지 관리 기간 동안 적용을 선택합니다.
  7. DB 인스턴스 수정을 선택합니다.

참고: FreeStorageSpace 지표가 최소 5분 동안 10% 미만이면 오토 스케일링이 시작됩니다. 또한 오토 스케일링은 마지막 storage-modification으로부터 최소 6시간 또는 인스턴스에서 storage-optimization이 완료되기까지의 시간 중 더 긴 시간에 시작됩니다.

관련 정보

Amazon RDS for PostgreSQL에서 "No space left on device" 또는 "DiskFull" 오류가 발생하는 이유는 무엇입니까?

Amazon RDS for Oracle DB 인스턴스가 예상보다 많은 스토리지를 사용하는 이유는 무엇입니까?

Amazon RDS for MySQL DB 인스턴스가 예상보다 많은 스토리지를 사용하는 이유는 무엇입니까?

Amazon RDS for SQL Server DB의 스토리지 사용을 최적화하려면 어떻게 해야 합니까?

댓글 없음

관련 콘텐츠