자습서: 개발에서 프로덕션까지 MySQL DB 인스턴스 환경 관리 - Amazon Relational Database Service

자습서: 개발에서 프로덕션까지 MySQL DB 인스턴스 환경 관리

소개

Amazon RDS DB 인스턴스를 관리할 때 흔히 발생하는 시나리오는 초기 개발부터 프로덕션 배포까지의 수명 주기를 감독하는 것입니다. 이 자습서에서는 데이터베이스가 최적의 성능을 발휘하고 변화하는 운영 요구 사항에 맞게 조정되도록 주요 태스크를 처리하는 방법을 안내합니다. 또한, 일관성과 신뢰성을 보장하기 위해 개발 환경과 프로덕션 환경 간의 변경 사항을 동기화하는 옵션도 간략하게 설명합니다.

이 단계를 완료하면 다음을 학습하게 됩니다.

  • MySQL DB 인스턴스를 활용하여 Amazon RDS 태그 추가 및 업데이트, 스토리지 확장, 읽기 전용 복제본 생성, 리소스 삭제 등 특정 태스크를 수행하는 방법.

  • 포괄적인 테스트 및 검증을 위해 프로덕션 환경의 업데이트를 개발 환경으로 동기화하는 방법.

이 자습서를 완료하려면 다음 작업을 수행하세요.

  1. MySQL DB 인스턴스를 생성합니다.

  2. Amazon RDS 태그를 추가하여 DB 인스턴스를 개발 환경으로 분류합니다.

  3. 증가한 워크로드를 수용할 수 있도록 DB 인스턴스의 스토리지 용량을 늘립니다.

  4. 읽기 전용 복제본을 생성하여 DB 인스턴스의 복원력과 가용성을 강화합니다.

  5. Amazon RDS 태그를 업데이트하여 DB 인스턴스를 프로덕션 환경으로 분류합니다.

  6. 더 이상 필요하지 않은 DB 인스턴스는 삭제하여 추가 비용이 발생하지 않도록 합니다.

  7. 다음 단계: 환경 간 일관성을 위해 개발 인스턴스를 프로덕션과 동기화

사전 조건

시작하기 전에 다음 섹션에서 다음 단계를 완료하세요.

태그를 추가하여 DB 인스턴스를 개발 환경으로 분류

DB 인스턴스를 개발 환경으로 분류하려면 생성한 인스턴스에 Amazon RDS 태그를 추가합니다. Amazon RDS 태그는 사용자가 정의하고 RDS 인스턴스와 연결하는 키-값 쌍입니다. AWS 리소스에 태그를 지정하면 개발 리소스와 프로덕션 AWS 리소스를 구분하는 데 도움이 됩니다. Amazon RDS 태그에 관한 자세한 내용은 Amazon RDS 리소스에 태그 지정 섹션을 참조하세요.

  1. Amazon RDS 콘솔에서 데이터베이스를 선택합니다.

  2. 태그할 DB 인스턴스를 선택합니다.

  3. 세부 정보 섹션에서 태그 섹션으로 스크롤합니다.

  4. 태그 관리를 선택하고 새 태그 추가를 선택합니다.

  5. 태그 키에 값을 입력합니다. 예를 들어, dev 값이 있는 태그 키 환경을 사용하여 데이터베이스 인스턴스가 개발 환경의 일부임을 지정할 수 있습니다.

  6. 새 태그 추가변경 사항 저장을 선택합니다.

이제 DB 인스턴스는 개발 환경으로 태그가 지정되었습니다. 이렇게 하면 DB 인스턴스를 더 쉽게 식별하고 이 리소스와 관련된 비용을 관리할 수 있습니다.

증가하는 데이터 요구 사항을 수용할 수 있도록 DB 인스턴스의 스토리지 용량 증대

다음으로 MySQL DB 인스턴스의 스토리지 용량을 수정하여 추가 데이터를 수용합니다. 처음에는 DB 인스턴스의 스토리지 용량이 애플리케이션의 즉각적인 요구 사항을 충족하도록 설정됩니다. 하지만 데이터 볼륨이 증가하면 데이터베이스의 성능과 안정성을 지속적으로 유지할 수 있도록 스토리지 설정을 조정해야 할 수도 있습니다. 이 프로세스에는 DB 인스턴스에 할당된 스토리지를 늘리는 작업이 포함됩니다. DB 인스턴스의 스토리지 용량을 수정하는 방법에 대한 자세한 내용은 Amazon RDS DB 인스턴스 스토리지 작업 섹션을 참조하세요.

  1. Amazon RDS 콘솔에서 데이터베이스를 선택합니다.

  2. 수정하려는 DB 인스턴스를 선택합니다.

  3. 수정을 선택합니다.

  4. 스토리지에서 할당된 스토리지를 늘립니다. 수정된 스토리지 값은 현재 값보다 커야 합니다.

  5. 계속을 선택합니다.

  6. 수정 사항 예약에서 즉시 적용을 선택하여 DB 인스턴스에 스토리지 변경 사항을 즉시 적용하거나 예약된 다음 유지 관리 기간에 적용을 선택하여 다음 유지 관리 기간 동안 변경 사항을 적용할 수 있습니다.

  7. 원하는 대로 설정이 되었으면 [Modify DB instance]를 선택합니다.

이제 DB 인스턴스의 스토리지 용량이 늘어났습니다. 이를 통해 더 큰 데이터 볼륨을 효과적으로 처리하고 애플리케이션의 데이터 요구가 증가함에 따라 지속적인 성능과 안정성을 보장할 수 있습니다.

읽기 전용 복제본을 생성하여 DB 인스턴스의 복원력과 가용성 강화

MySQL DB 인스턴스의 읽기 전용 복제본을 생성합니다. 읽기 전용 복제본은 DB 인스턴스의 복원력과 가용성을 개선합니다. 기본 DB 인스턴스의 읽기 트래픽을 줄이려면 DB 인스턴스의 읽기 전용 복제본을 만드세요. 이렇게 하면 쿼리가 읽기 전용 복제본으로 라우팅되므로, 부하를 분산하고 전반적인 데이터베이스 성능을 개선할 수 있습니다. DB 인스턴스 읽기 전용 복제본에 대한 자세한 내용은 DB 인스턴스 읽기 전용 복제본 작업 섹션을 참조하세요.

MySQL DB 인스턴스가 복제 소스 역할을 하려면 소스 DB 인스턴스에서 자동 백업을 활성화해야 합니다. 이 작업은 백업 보존 기간을 0이 아닌 다른 값으로 설정하여 수행할 수 있습니다. MySQL 읽기 전용 복제본에 대한 자세한 내용은 MySQL 읽기 전용 복제본 작업 섹션을 참조하세요.

  1. Amazon RDS 콘솔에서 데이터베이스를 선택합니다.

  2. 읽기 전용 복제본의 소스로 사용할 DB 인스턴스를 선택합니다.

  3. 작업에서 읽기 전용 복제본 생성을 선택합니다.

  4. DB 인스턴스 식별자에 읽기 전용 복제본의 이름을 모두 소문자로 입력합니다.

  5. 인스턴스 구성을 선택합니다. 읽기 전용 복제본의 소스 DB 인스턴스보다 크거나 같은 DB 인스턴스 클래스와 스토리지 유형을 사용하는 것이 좋습니다.

  6. AWS 리전에서 읽기 전용 복제본의 대상 리전을 지정합니다.

  7. 기본 설정을 그대로 두거나 필요에 따라 수정합니다.

  8. 읽기 전용 복제본 생성을 선택합니다.

읽기 전용 복제본은 RDS 콘솔의 데이터베이스 페이지에서 소스 DB 인스턴스 아래에 나타납니다. 역할 열에 복제본이 표시됩니다.

태그를 업데이트하여 DB 인스턴스를 프로덕션 환경으로 분류

DB 인스턴스를 개발 단계에서 프로덕션 단계로 전환할 준비가 되면 전환 단계를 반영하여 태그를 업데이트하는 것이 중요합니다. DB 인스턴스를 운영 및 모니터링 전략에 맞게 조정하려면 DB 인스턴스가 이제 프로덕션 환경의 일부임을 나타내도록 초기 태그를 업데이트하세요. 이렇게 하면 데이터베이스를 더 잘 파악하고 관리할 수 있습니다.

  1. Amazon RDS 콘솔에서 데이터베이스를 선택합니다.

  2. 업데이트할 DB 인스턴스 선택

  3. 세부 정보 섹션에서 태그 섹션으로 스크롤합니다.

  4. 태그 관리를 선택합니다.

  5. 개발 환경을 나타내는 초기 태그를 제거합니다.

  6. 새 태그 추가를 선택합니다.

  7. 태그 키에 새 값을 입력합니다. 예를 들어, prod 값과 함께 태그 키 환경을 사용하여 DB 인스턴스가 프로덕션 환경의 일부임을 지정할 수 있습니다.

  8. 새 태그 추가변경 사항 저장을 선택합니다.

DB 인스턴스의 태그가 업데이트되어 데이터베이스가 프로덕션 환경으로 전환되었음을 알립니다.

추가 비용이 발생하지 않도록 더 이상 필요하지 않은 DB 인스턴스 삭제

이 자습서를 마치기 전에 리소스 관리 문제를 해결하는 것이 중요합니다. 더 이상 필요하지 않은 리소스가 있는 경우 추가 비용 발생을 방지하고 클라우드 환경을 최적화하려면 해당 리소스를 삭제해야 합니다.

  1. Amazon RDS 콘솔에서 데이터베이스를 선택합니다.

  2. 삭제할 DB 인스턴스 선택

  3. 작업에서 삭제를 선택합니다. DB 인스턴스를 삭제하면 인스턴스가 모든 내용 및 관련 리소스와 함께 영구적으로 삭제됩니다.

  4. DB 인스턴스의 삭제를 확인하고 삭제를 선택합니다.

또는 나중에 사용할 수 있도록 DB 인스턴스를 유지 관리하기로 선택한 경우 프로덕션 환경의 일부로 계속 관리할 수 있습니다. 여기에는 포괄적인 테스트 및 검증을 용이하게 하기 위해 동기화된 개발 환경을 유지하는 작업이 포함됩니다. 자세한 내용은 다음 단계: 환경 간 일관성을 위해 개발 인스턴스를 프로덕션과 동기화 단원을 참조하십시오.

다음 단계: 환경 간 일관성을 위해 개발 인스턴스를 프로덕션과 동기화

개발 환경 생성

프로덕션 환경을 관리하려면 포괄적인 테스트 및 검증을 위해 동기화된 개발 환경을 유지하는 것이 중요합니다. 새로운 개발 환경을 만들려면 먼저 현재 프로덕션 DB 인스턴스의 DB 스냅샷을 만드세요. DB 스냅샷은 스토리지 볼륨 스냅샷을 생성하여 전체 DB 인스턴스를 캡처합니다. Amazon RDS 콘솔에서 DB 스냅샷을 생성하는 방법에 대한 지침은 Amazon RDS의 단일 AZ DB 인스턴스에 대한 DB 스냅샷 생성 섹션을 참조하세요.

프로덕션 환경의 DB 스냅샷을 만든 후 DB 스냅샷을 복원하여 개발 환경을 위한 새 DB 인스턴스를 생성합니다. 복원된 DB 인스턴스는 기본 DB 파라미터 및 옵션 그룹과 자동으로 연결됩니다. 하지만 복원 중에 사용자 지정 파라미터 그룹 및 옵션 그룹을 지정하여 적용할 수 있습니다. DB 스냅샷 복원에 대한 지침은 자습서: DB 스냅샷에서 Amazon RDS DB 인스턴스 복원 섹션을 참조하세요.

마지막으로 Amazon RDS 태그를 업데이트하여 새 DB 인스턴스를 새 개발 환경으로 지정합니다. 이 변경 사항을 반영하도록 Amazon RDS 태그를 업데이트하는 방법에 대한 지침은 이전 태그를 업데이트하여 DB 인스턴스를 프로덕션 환경으로 분류 섹션을 참조하세요.

이제 프로덕션 환경의 데이터베이스 구성을 반영하는 새로운 개발 환경이 생겼습니다.

개발 환경을 프로덕션 환경과 동기화

새 개발 환경을 설정한 후에는 프로덕션 환경에서 발생하는 모든 변경 사항과 동기화된 상태를 유지해야 합니다. 이렇게 하면 개발 환경이 현재 프로덕션 상태를 정확하게 반영할 수 있으며, 이는 효과적인 테스트, 검증 및 문제 해결에 필수적입니다. Amazon RDS는 개발 환경을 프로덕션 환경에 맞게 최신 상태로 유지할 수 있는 다양한 방법을 제공합니다. 이러한 옵션에 대한 자세한 내용은 Orchestrating database refreshes for Amazon RDS and Amazon Aurora를 참조하세요.

개발 및 프로덕션 환경을 동기화하는 기본적인 방법 중 하나는 DB 스냅샷을 생성하고 복원하는 것입니다. DB 스냅샷을 사용하면 스냅샷이 생성된 시점의 프로덕션 환경 데이터베이스 구성을 반영하는 개발 환경을 만들 수 있습니다. DB 스냅샷에 대한 자세한 내용은 수동 백업 관리 섹션을 참조하세요. DB 인스턴스 복원에 대한 자세한 내용은 DB 인스턴스 복원 섹션을 참조하세요.

DB 스냅샷은 다음과 같은 사용 사례에 특히 유용합니다.

  • 개발 환경의 초기 설정: DB 스냅샷은 스냅샷 생성 당시 프로덕션 환경의 정확한 상태를 반영하는 일관된 기준을 제공하므로, 테스트를 위한 초기 개발 환경을 만드는 데 유용합니다.

  • 트래픽이 많은 애플리케이션: 지속적인 운영이 중요한 프로덕션 환경에서 스냅샷에 다중 AZ 배포를 사용하면 기본 데이터베이스의 I/O 중단을 방지하여 끊김 없는 성능과 고가용성을 보장할 수 있습니다.

  • 여러 RDS 계정 간 데이터 공유: DB 스냅샷을 서로 다른 AWS 계정 간에 공유할 수 있어 계정 또는 리전 간에 데이터를 쉽게 전송할 수 있습니다. 이는 다양한 목적으로 데이터를 공유해야 하는 공동 프로젝트 또는 시나리오에 유용합니다. 자세한 내용은 Amazon RDS의 DB 스냅샷 공유 단원을 참조하십시오.

이 자습서에서는 DB 인스턴스의 수명 주기 전반에 걸쳐 DB 인스턴스를 관리하기 위한 필수 태스크를 살펴보았습니다. DB 인스턴스 생성, Amazon RDS 태그 추가 및 업데이트, 스토리지 확장, 읽기 전용 복제본 생성 방법을 배웠습니다. 또한, 이러한 기본 작업을 기반으로 구축하고 프로덕션 환경을 효과적으로 관리하는 방법도 배웠습니다. 여기에는 테스트를 위한 개발 환경을 구축하고 일관성을 위해 프로덕션 환경과 동기화하는 작업이 포함되었습니다. 이러한 태스크는 탄력적이고 확장 가능한 데이터베이스 인프라를 유지 관리하여 Amazon RDS 환경을 효율적으로 운영하는 데 도움이 됩니다.